MSX Application Templates for MS Visual Studio

Page 5/5
1 | 2 | 3 | 4 |

By DamnedAngel

Master (184)

DamnedAngel's picture

22-05-2020, 22:19

Grauw wrote:

Use LDDR actually probably unless your application stays under 4000H bytes Smile.

Correct. My mistake.

Bengalack wrote:

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?

By Bengalack

Expert (118)

Bengalack's picture

23-05-2020, 10:58

DamnedAngel wrote:

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?

Page 5/5
1 | 2 | 3 | 4 |