SAVING VERA SCREEN TO DISC (ADVANCED)
Posted: Sun Nov 19, 2023 12:44 am
Well I didn't quite think I would get here.
I managed to put together some BASIC code that saves the MODE $80 screen to a disc image file in a reasonable amount of time.
I have been doing this in my HANGMAN code before, but I was using a ML Blob supplied by Xark, that was basically a Magic Black Box that I just "pushed a button" on (with a few Pokes supplied by Xark).. I've learned a lot more in the last few months and thought it could be done straight from BASIC.
I say this is BASIC code, but it really heavily relies on calling routines in the X16 ROM. But it is pure BASIC in that I don't Poke any Machine Instructions or load any BLOB's. I'm only calling stuff already in the ROM.
I am going to supply a SOURCE Code file here for inspection. But the Source heavily relies on features that are not yet available in the release BASLOAD. I'm currently acting as a BETA tester for Stefan. But the Long Variable name support is essential to making the code somewhat readable. My Save Screen GOSUB follows almost ASM like logic.
The code supplied does a complete 76800 byte Screen Save to disc in 121 Jiffies on the Emulator using HOSTFS. On X16 Hardware it takes 185 Jiffies for the Same Task. I am supplying a tokenized version that can be loaded and ran on the emulator or hardware without BASLOAD. But the code is pretty hard to follow without a very deep knowledge of the VERA and the ROM's. The Source file with the Long variable names make the code much more understandable.
THE BASLOAD(BETA) SOURCE CODE
THE LOAD/RUN PRG (Tokenized)
I managed to put together some BASIC code that saves the MODE $80 screen to a disc image file in a reasonable amount of time.
I have been doing this in my HANGMAN code before, but I was using a ML Blob supplied by Xark, that was basically a Magic Black Box that I just "pushed a button" on (with a few Pokes supplied by Xark).. I've learned a lot more in the last few months and thought it could be done straight from BASIC.
I say this is BASIC code, but it really heavily relies on calling routines in the X16 ROM. But it is pure BASIC in that I don't Poke any Machine Instructions or load any BLOB's. I'm only calling stuff already in the ROM.
I am going to supply a SOURCE Code file here for inspection. But the Source heavily relies on features that are not yet available in the release BASLOAD. I'm currently acting as a BETA tester for Stefan. But the Long Variable name support is essential to making the code somewhat readable. My Save Screen GOSUB follows almost ASM like logic.
The code supplied does a complete 76800 byte Screen Save to disc in 121 Jiffies on the Emulator using HOSTFS. On X16 Hardware it takes 185 Jiffies for the Same Task. I am supplying a tokenized version that can be loaded and ran on the emulator or hardware without BASLOAD. But the code is pretty hard to follow without a very deep knowledge of the VERA and the ROM's. The Source file with the Long variable names make the code much more understandable.
THE BASLOAD(BETA) SOURCE CODE
THE LOAD/RUN PRG (Tokenized)