nitrofurano Posted July 7, 2014 Share Posted July 7, 2014 i think i'm writing the 16 bytes header correctly (without scrambling), but the rom is not booting on Mess emulators (when the known 16kb rom games runs perfectly) - what might be wrong there? thanks! _example01d1_16kbtest.zip Quote Link to comment https://forums.atariage.com/topic/227389-aquarius-trying-to-create-16kb-rom-unsuccessfully/ Share on other sites More sharing options...
jaybird3rd Posted July 7, 2014 Share Posted July 7, 2014 The cartridge header is fine; if it were invalid, the Aquarius would simply drop back to BASIC. I haven't looked at it long enough to determine exactly what's happening, but your program is disabling interrupts at $E010 and then enabling them again at $E01F, which seems to be causing it to become locked into an infinite loop when an interrupt is requested. Aquarius BASIC allows the user to call a machine language routine from within a BASIC program with the USR() command. The address of this routine, and a command to jump to it automatically, is stored by BASIC in a specific location in RAM (starting at $3803), and the Aquarius OS's interrupt handler (at address $0038) simply jumps to this location whenever an interrupt is requested. But the RAM is initially empty when the Aquarius boots from the cartridge, so your program is apparently triggering an interrupt, then jumping to $0038, then jumping to $3803, then executing NOPs throughout the empty RAM until it returns to the start of the cartridge again at $E000, in an infinite loop. I was able to patch it by replacing the DI and EI instructions (at $E010 and $E01F, respectively) with NOPs. The program works as-is in Virtual Aquarius, however, so either Virtual Aquarius is allowing you to do something that doesn't work on the real hardware, or MESS is not allowing you to do something that does work on the real hardware. I suspect the former, but I'd have to put the program on a cartridge to find out for sure. Quote Link to comment https://forums.atariage.com/topic/227389-aquarius-trying-to-create-16kb-rom-unsuccessfully/#findComment-3026559 Share on other sites More sharing options...
nitrofurano Posted July 7, 2014 Author Share Posted July 7, 2014 thanks! ( example01d2_16kbtest_working_patchingdieibytes.zip in the attachment - adding some patching dd command lines at the .sh compiling script for doing that - i actually had no idea that interrupts would affect that, and these di and ei bytes are some "garbage" created by the ZX-Basic compiler ) btw, the weird part is that the 8kb version ( example01c5_delay_keymap.zip in the attachment ) works, even with these di and ei bytes - i guess that somehow the size of the cartridge affects on the booting behaviour related to these patched bytes, or perhaps the emulation is not that accurate? i'm really curious about how both might behave in the real hardware - i guess that i would have to patch the 8kb version as well, even having it working on Mess emulator? example01d2_16kbtest_working_patchingdieibytes.zip example01c5_delay_keymap.zip Quote Link to comment https://forums.atariage.com/topic/227389-aquarius-trying-to-create-16kb-rom-unsuccessfully/#findComment-3026606 Share on other sites More sharing options...
nitrofurano Posted July 7, 2014 Author Share Posted July 7, 2014 (edited) (some bugs in this forum, i couldn’t upload files in this post... :S ) Edited July 7, 2014 by nitrofurano 1 Quote Link to comment https://forums.atariage.com/topic/227389-aquarius-trying-to-create-16kb-rom-unsuccessfully/#findComment-3026873 Share on other sites More sharing options...
nitrofurano Posted July 7, 2014 Author Share Posted July 7, 2014 made a slideshow (7 pictures * 2kb - converted from mz700) for testing the 16kb rom more effectively example01e1_slideshow_16kbtest.zip Quote Link to comment https://forums.atariage.com/topic/227389-aquarius-trying-to-create-16kb-rom-unsuccessfully/#findComment-3026876 Share on other sites More sharing options...
+Gemintronic Posted July 7, 2014 Share Posted July 7, 2014 made a slideshow (7 pictures * 2kb - converted from mz700) for testing the 16kb rom more effectively Did you map the glyphs that were the same between the Aquarius and MZ-700 or did you just use letters and numbers? 1 Quote Link to comment https://forums.atariage.com/topic/227389-aquarius-trying-to-create-16kb-rom-unsuccessfully/#findComment-3026879 Share on other sites More sharing options...
nitrofurano Posted July 8, 2014 Author Share Posted July 8, 2014 Did you map the glyphs that were the same between the Aquarius and MZ-700 or did you just use letters and numbers? edited by hand, the binary dumps (1984 bytes at 0x3028) were created from my own editor (i fixed some bugs now, i think i posted a previous version last year) - while i'm not yet using RexPaint and coding converters for it this editor (way, way more rudimentary than RexPaint) runs on sdlBasic, and the file browser uses Zenity (for accessing file browsing via command line) AquariusDisplayEditorX2_20140708081811.sdlbas.zip Quote Link to comment https://forums.atariage.com/topic/227389-aquarius-trying-to-create-16kb-rom-unsuccessfully/#findComment-3027146 Share on other sites More sharing options...
Pset Posted July 12, 2014 Share Posted July 12, 2014 made a slideshow (7 pictures * 2kb - converted from mz700) for testing the 16kb rom more effectively That is really awesome. I get a black screen on your Aquarius Display Editor SDL thing. Zenity dependency? I can't find a straight forward download of that. Quote Link to comment https://forums.atariage.com/topic/227389-aquarius-trying-to-create-16kb-rom-unsuccessfully/#findComment-3030146 Share on other sites More sharing options...
Aquaman Posted July 13, 2014 Share Posted July 13, 2014 Nice job indeed Quote Link to comment https://forums.atariage.com/topic/227389-aquarius-trying-to-create-16kb-rom-unsuccessfully/#findComment-3030651 Share on other sites More sharing options...
nitrofurano Posted July 14, 2014 Author Share Posted July 14, 2014 Nice job indeed thanks! That is really awesome. I get a black screen on your Aquarius Display Editor SDL thing. Zenity dependency? I can't find a straight forward download of that. thanks! Zenity is for acesssing gtk gui stuff via command line - it is available from Debian and Ubuntu official repositories, and very probably also on repositories from other Linux distributions (i have no idea if something equivalent exists for other operating systems) The black screen i don’t know what causes it, it is supposed to be random Quote Link to comment https://forums.atariage.com/topic/227389-aquarius-trying-to-create-16kb-rom-unsuccessfully/#findComment-3031312 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.