Xeron wrote: ↑Tue Mar 15, 2022 10:16 pm
Tape saving/loading in Oricutron was ways the weakest part. I was never happy with the tape code, so it may be the fault of the emulator.
Fair enough.
Basically, I'm trying to get a working way to get the game save and reload data without any of my modifications, because for all I know, I'm trying to port to disk something that actually is already broken
Symoon wrote: ↑Wed Mar 16, 2022 8:46 am
Tried with Euphoric's hardware tape, and it worked
Does that save some special format?
Basically I'd like to get the exact byte stream written by the program so I can compare if the buffer I got is similar.
Dbug wrote: ↑Wed Mar 16, 2022 8:57 am
Does that save some special format?
Basically I'd like to get the exact byte stream written by the program so I can compare if the buffer I got is similar.
I have no idea (hardware tape avoids having to think about that), but I'll check if it kept the saved WAV file.
It also worked with Euphoric in .TAP format.
Here are both results (both saved just after going EAST at the beginning).
From what I quickly saw, the signal is using slow speed, but the header is not standard, at least for the data type ($50 when accepted values are $80 for memory, $40 for table, $00 for basic).
Ok, so I compared what you saved with my own "save to a buffer in memory", there are some differences (mostly the 16 16 16 16 sequences) and some changes here and there (possibly because the game is real time with some random stuff happening all the time), but in term of actual content, that sounds to be pretty similar.
Maybe I should just patch the "read byte" and "write byte" in the ROM so they call my own code, and let all the existing sync/read/write/via/headers code as is.
Dbug wrote: ↑Wed Mar 16, 2022 1:47 pm
Ok, so I compared what you saved with my own "save to a buffer in memory", there are some differences (mostly the 16 16 16 16 sequences) and some changes here and there (possibly because the game is real time with some random stuff happening all the time), but in term of actual content, that sounds to be pretty similar.
image_2022-03-16_134526.png
Maybe I should just patch the "read byte" and "write byte" in the ROM so they call my own code, and let all the existing sync/read/write/via/headers code as is.
That's a sound idea, in my opinion. It will also make savegames somewhat "compatible". You said you don't have the DOS available? That is a pity, as complicates things a bit to handle files.
You are doing a very nice job here, Dbug. Congratulations!
Not sure about the nice job, but at least I'm learning some stuff, I now understand the complicated push/pop madness, it's just a compact way to encode parameters while totally fucking up the disassembly and normal ways of tracing the code.
Still digging, I used what I found yesterday to identify in the code the blobs of text, I add labels on things I identify, should make digging in the stuff much easier, and looks like by the time I'm done we will have a full commented The Hobbit game engine
"Do you know that I helped a bit with the disassemble of the spectrum version? It was for the Dragon 32 conversion.
All the thread and documentation is in Spanish, and it is Z80 code, but may be of use??"
No new progress to report on the save part, but somebody on the youtube video asked if it would be possible to disable the new font, so here it is, a version 1.7 that allows toggling the font independently of the rest, so technically you can now play the fast version with the original ROM font, or the old version with the fancy font.