Page 1 of 1
Re: tap8k. simple, small and fast loader
Posted: Mon Dec 11, 2017 9:22 am
by Ast A. Moore
antoniovillena wrote: ↑Mon Dec 11, 2017 1:32 am
Ast A. Moore wrote: ↑Sun Dec 10, 2017 3:18 pm
I’m also quite confused. Is it compressing the data or simply puts machine code inside the BASIC loader? Because you can do both with many assemblers already.
puts machine code inside BASIC loader. What assembler do that?
zasm, for instance.
Re: tap8k. simple, small and fast loader
Posted: Mon Dec 11, 2017 12:00 pm
by antoniovillena
Ast A. Moore wrote: ↑Mon Dec 11, 2017 9:22 am
zasm, for instance.
I have Windows and I can't try.
Re: tap8k. simple, small and fast loader
Posted: Fri Mar 02, 2018 5:38 pm
by antoniovillena
I have released a version that includes shrinkler compressor, developped
here.
https://github.com/antoniovillena/zx7b/ ... /shr8k.asm
So from a input binary file assembled with org $8000 you will have a compressed TAP file like this:
https://github.com/antoniovillena/zx7b/ ... r/demo.tap
Re: tap8k. simple, small and fast loader
Posted: Sat Mar 03, 2018 11:59 am
by Nomad
Has it been tested on real hardware (48k,128k,+3) Just curious because a lot of these loaders that perform seemingly fine in emulation have issues on the real thing.
I must confess I never really thought about a better loader than what zeus/pasmo gives you but fair play there appears to be scope for improvement over what the assemblers can give us. I am just concerned if it will work on real hardware.
Re: tap8k. simple, small and fast loader
Posted: Sun Mar 04, 2018 10:59 am
by antoniovillena
Nomad wrote: ↑Sat Mar 03, 2018 11:59 am
I am just concerned if it will work on real hardware.
Yes. It works on real hardware.
Re: tap8k. simple, small and fast loader
Posted: Fri Mar 16, 2018 11:59 pm
by Rorschak
The program fails if you have an interface that moves the basic. A spectrum 48K with a betadisk interface moves the basic away from 23755. You should probably check PEEK 23635+256*PEEK 23636 in order to locate the start of your code.
If you need to know where your code is executing, i use this little trick:
Code: Select all
LocateProgram: XOR A ; SET Z FLAG
INC A ; RESET Z FLAG
CALL $1FC6 ; THIS CALL TO THE ROM CONTAINS THESE INSTRUCTIONS. POP HL, RET Z, JP (HL).
Mycode: ... ; AT THIS POINT, HL CONTAINS THE ADDRESS OF THIS INSTRUCTION