Use LDDR actually probably unless your application stays under 4000H bytes .
Correct. My mistake.
The real issue is to move to page 3 or C000h, for scanning all mapped memory segments as fallback-code when MSX-DOS2 isn't there to help you.
Can't you just move the code as mentioned above after the program is loaded?
Can't you just move the code as mentioned above after the program is loaded?
I can, but I'd like to use the .org-directive (multiple times), the code- and data-referencing becomes messy if it is compiled as if supposed to be run at 0x100 and ends up at 0c000.
I'm using a mix of asm and C. The mentioned code is part of an asm-block of code. I get this if I use ".org 0c000" in the memory.s-file:
Processing ASM file allsorts.s... sdasz80 -o -s -w Debug\objs\allsorts.rel -s allsorts.s Done. Processing ASM file memory.s... sdasz80 -o -s -w Debug\objs\memory.rel -s memory.s memory.s:5: Error: .org in REL area or directive / mnemonic error memory.s:5: Error: missing or improper operators, terminators, or delimiters removing Debug\objs\memory.rel FAIL Failed building memory.s The terminal process terminated with exit code: 1
When "msxdoscrt0.s" (which is using .org-statement) is assembled everything runs fine in your make-file:
Processing ASM file MSX\MSX-DOS\msxdoscrt0.s... sdasz80 -o -s -w Debug\objs\msxdoscrt0.rel -s MSX\MSX-DOS\msxdoscrt0.s Done.
Maybe some magic needs to be done in the ".area _HEADER"-section of the crt0 to allow multiple orgs?