The game I'm in the process of writing uses:
&400 to &7FF (loaded into screen memory &3000 then relocated)
&900 to &CFF (loaded into screen memory &3500 then relocated)
&E00 to &2FFF (loaded directly)
I then use &7000 (screen memory) to load the relocation code which then moves above two chunks into place. The relocation code issues *TAPE before moving any code, it also issues *FX200,3 so BREAK operates cleanly when pressed. Make sure your in MODE 7 otherwise the command prompts on screen displayed on screen will corrupt your code before its moved!
I avoid:
&100 to &1FF (as its the processor stack)
&200 to &3FF (as I uses OSWRCH, OSBYTE and OSWORD in various places).
&800 to &8FF (as it contains sound information and creates a lot of noise when corrupted.)
&D00 to DFF (as its used for interrupts and hangs the machine when messed with).
All of the code is assembly, no BASIC and simply *LOADed into the above locations.
Cheers.
&400 to &7FF (loaded into screen memory &3000 then relocated)
&900 to &CFF (loaded into screen memory &3500 then relocated)
&E00 to &2FFF (loaded directly)
I then use &7000 (screen memory) to load the relocation code which then moves above two chunks into place. The relocation code issues *TAPE before moving any code, it also issues *FX200,3 so BREAK operates cleanly when pressed. Make sure your in MODE 7 otherwise the command prompts on screen displayed on screen will corrupt your code before its moved!
I avoid:
&100 to &1FF (as its the processor stack)
&200 to &3FF (as I uses OSWRCH, OSBYTE and OSWORD in various places).
&800 to &8FF (as it contains sound information and creates a lot of noise when corrupted.)
&D00 to DFF (as its used for interrupts and hangs the machine when messed with).
All of the code is assembly, no BASIC and simply *LOADed into the above locations.
Cheers.
Statistics: Posted by archie456 — Sat Sep 14, 2024 8:42 pm