| www.retrosoftware.co.uk http://www.retrosoftware.co.uk/forum/ |
|
| Memory from 0xe00 to 0x1900 http://www.retrosoftware.co.uk/forum/viewtopic.php?f=73&t=166 |
Page 1 of 1 |
| Author: | DaveF [ Wed Aug 13, 2008 9:59 am ] |
| Post subject: | Memory from 0xe00 to 0x1900 |
Hello Once the game has loaded from disk, could I use the memory at 0xe00 for my own purposes? I will not need to load anything else, so does anything stop me from using that precious RAM? |
|
| Author: | RichTW [ Wed Aug 13, 2008 10:37 am ] |
| Post subject: | Re: Memory from 0xe00 to 0x1900 |
DaveF wrote: Hello Once the game has loaded from disk, could I use the memory at 0xe00 for my own purposes? I will not need to load anything else, so does anything stop me from using that precious RAM? Yeah, you can use all of that (select *TAPE before relocating it down though). Even if you're using OS calls, all of these should be safe too: zero-page &00..&9F, &B0..&CF stack &100..&1A0ish (as long as you put LDX#&FF:TXS at the start of your code, and don't use too much stack) &380..&3DF &400..&7FF &880..&8BF &900..&CFF (as long as you don't have user-defined chars, VDU 23 stylee) &D00..&DFF (though use with care - if you use this area, it's best to reset the vector table to the OS defaults in your initialisation). Also best to put an RTI instruction at &D00 so any odd NMIs which arrive will behave themselves. Whaddya know - loadsa memory! |
|
| Author: | RichTW [ Wed Aug 13, 2008 10:44 am ] |
| Post subject: | Re: Memory from 0xe00 to 0x1900 |
oh, that code for resetting the vectors is something like this by the way Code: SEI LDX &FFB6 LDA &FFB7:STA resetvecs+1 LDA &FFB8:STA resetvecs+2 .resetvecs LDA &FFFF,X STA &200,X DEX BPL resetvecs CLI edited to change BNE to BPL... |
|
| Author: | DaveF [ Wed Aug 13, 2008 11:10 am ] |
| Post subject: | Re: Memory from 0xe00 to 0x1900 |
RichTW wrote: Yeah, you can use all of that (select *TAPE before relocating it down though). Aha, goodie. What does *TAPE do exactly? |
|
| Author: | RichTW [ Wed Aug 13, 2008 11:48 am ] |
| Post subject: | Re: Memory from 0xe00 to 0x1900 |
It just closes down the DFS, and activates the tape filing system. If DFS had any hooks on the vectors or anything, they'll be released, which means you can then safely use the old DFS workspace. You can select *TAPE with LDA #140:JSR &FFF4 |
|
| Author: | DaveF [ Wed Aug 13, 2008 11:51 am ] |
| Post subject: | Re: Memory from 0xe00 to 0x1900 |
Good stuff, ta Rich |
|
| Author: | CMcDougall [ Thu Aug 14, 2008 10:24 am ] |
| Post subject: | Re: Memory from 0xe00 to 0x1900 |
RichTW wrote: It just closes down the DFS, and activates the tape filing system. If DFS had any hooks on the vectors or anything, they'll be released, which means you can then safely use the old DFS workspace is that the same with Rom FS, ie *ROM aswell ? |
|
| Author: | ParasS [ Thu Aug 14, 2008 10:28 am ] |
| Post subject: | Re: Memory from 0xe00 to 0x1900 |
CMcDougall wrote: is that the same with Rom FS, ie *ROM aswell ? Hooks get released whenever you switch FS... RFS and TAPE are good options because they are built into the OS and there will be few (if any) ROMs that try to do their own interception over them. I do know there is the odd ROM that layers its own functionality over DFS routines. Of course, multiloading games become a little difficult without an active FS if you've taken over the whole memory map... unless you're controlling the hardware directly. |
|
| Author: | CMcDougall [ Thu Aug 14, 2008 12:54 pm ] |
| Post subject: | Re: Memory from 0xe00 to 0x1900 |
cheers ParasS pity cant save to 'rom' /eprom bMaster owners had it tooooo easy CM |
|
| Page 1 of 1 | All times are UTC [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|