When using the ESXDOS library and for the Next, loading with an address value of 0 is ignored :
ESXDosRead (fhandle, 0, $4000)
This value is meant to be passed to HL, then to IX in the library.
Under Next mode this code loads a file to 49152 then copies to 0-3FFF in RAM, Next register $123B allows this :
asm
ld a,1
ld (loadbank),a
keeploading:
end asm
ESXDosRead (fhandle, 49152, $4000) 'I have to load to 49152 because address 0 is ignored.
asm
ld bc, $123b
ld a,(loadbank)
out (c),a
ld bc,$4000 ; because I cant load esxdos library direct to 0, I have to load to $c000 and copy
ld hl,$c000
ld de,0
ldir
ld a, 0 ; enable write
ld bc, $123b ; set port for writing
out (c), a
ld a,(loadbank)
add a,$40
ld (loadbank),a
cp $c1
jp nz,keeploading
jp ending1
loadbank:
db 0
ending1:
ld bc, $123b ; enable screen
ld a,2
out (c),a
end asm
It would be ideal to remove the need to load to 49152 and then have to copy to 0.
Even taking the esxdos library code and hardcoding values are ignored.
When using the ESXDOS library and for the Next, loading with an address value of 0 is ignored :
This value is meant to be passed to HL, then to IX in the library.
Under Next mode this code loads a file to 49152 then copies to 0-3FFF in RAM, Next register $123B allows this :
It would be ideal to remove the need to load to 49152 and then have to copy to 0.
Even taking the esxdos library code and hardcoding values are ignored.