Hello,
from 32K mode we can switch to 64K mode issuing from assembler a "jmp $BF49"
Once done all work, I would like to return/reset the computer but again in 32K mode.
Is there any trick to do that?
Another question.
Is there any chance not to lose control inside the binary executable in RAM after calling $BF49?
I would like to call a program in RAM after switching to 64K mode.
thanks in advance
pere
Switching from 64 Mode to 32 Mode
Re: Switching from 64 Mode to 32 Mode
I think that i could change settings in the PIA that controls which ROM is active, but my hope was that someone had already done it in order to avoid reinventing the wheel again
Cheers!

Cheers!
Re: Switching from 64 Mode to 32 Mode
No idea for my second question
Maybe reading the source code for the DOSMATE from Stephen Woolham that Steve Evans shared with us a long time ago could shine a bit of light
Pere

Maybe reading the source code for the DOSMATE from Stephen Woolham that Steve Evans shared with us a long time ago could shine a bit of light
Pere
Re: Switching from 64 Mode to 32 Mode
Hello,
copying the code from $BF49 and associated parts into RAM at $6400 and then, at the end of that code, I modify the code
that calls the basic interpreter changing $C372-3 ($8372-3 in 32K) for the entry point of the game I want to start
This does the trick and the computer switches to BASIC 64 with the Interpreter @C000 and the game starts without issues
without any extra user action needed.
I can play the game correctly but when I want to quit, all I get is the start screen but still in 64K Basic mode
By now, I haven't found any way to return to the 32K Basic
cheers!
pere
copying the code from $BF49 and associated parts into RAM at $6400 and then, at the end of that code, I modify the code
that calls the basic interpreter changing $C372-3 ($8372-3 in 32K) for the entry point of the game I want to start
This does the trick and the computer switches to BASIC 64 with the Interpreter @C000 and the game starts without issues
without any extra user action needed.
I can play the game correctly but when I want to quit, all I get is the start screen but still in 64K Basic mode

By now, I haven't found any way to return to the 32K Basic
cheers!
pere
Re: Switching from 64 Mode to 32 Mode
I have corrected the flaw that prevented my 'back to 32k Mode' to work properly.
I added some more code to select the ROM1 again when exiting the game.
Then I set the reset flag and vector to the std $B3B4 and simply jump to
that address, ensuring the computer was again in MAP0!
Now I can test a game, play for a while and exit it to test another one
in a simple and clear way!
cheers!
I added some more code to select the ROM1 again when exiting the game.
Then I set the reset flag and vector to the std $B3B4 and simply jump to
that address, ensuring the computer was again in MAP0!
Now I can test a game, play for a while and exit it to test another one
in a simple and clear way!
cheers!
Re: Switching from 64 Mode to 32 Mode
I just remembered that I uploaded Steve Woolham's reverse bootstrap program on the 22nd of Febuary, 2009. Dissasembling it would probably have revealed the answer to your question very quickly. Handy things like this get lost in the forums over time.
viewtopic.php?f=5&t=63&p=345&hilit=bootstrap#p345
Regards,
Steve
viewtopic.php?f=5&t=63&p=345&hilit=bootstrap#p345
Regards,
Steve
Re: Switching from 64 Mode to 32 Mode
I downloaded the reverse bootstrap to try it, but it didn't work. I see the reason it failed was because it starts by checking to see if the computer is in 64K BASIC mode by looking for a byte value at a location which does not exist if (like myself) you are using the latest version (3.2) of Steve Woolham's Enhanced Dragon 64 ROMs. I have patched the machine code so that it will work correctly with any Dragon 64K mode ROMs.
- Attachments
-
- rb64v10(updated by Zephyr).zip
- (7.9 KiB) Downloaded 1083 times