MattPilz Posted August 1, 2022 Share Posted August 1, 2022 (edited) Aquarius doesn't get much attention on these boards, but recently the developer Inufuto has ported 11 incredibly fun and creative titles to Aquarius among other platforms. In many retro scenes that I'm part of for more popular systems, the release of new software or discovery of old isn't necessarily met with tremendous fanfare given the frequency of such occurrences. But in the Aquarius world with just a handful of diehard enthusiasts, it is cause for celebration when any new developer pays attention to our humble Aquarius! These games are immensely enjoyable and I'd argue the most versatile of any ever released for Aquarius. They are very well customized for Aquarius and feel extremely native to the platform, even if they are pseudo-ports from his other 8-bit releases. There are platformers, space shooters, strategy and many more, all of which give off perfect 1980s arcade gaming vibes and do things that we rarely see in Aquarius games including level progression and some visual feats. But like many games made for the system without a deep knowledge of its history and subtle ROM variances, the machine language data is hard-coded in a way that was unable to run on S1 ROM devices or the handy Micro Expander (USB BASIC). I have patched the loaders so that anyone with an Aquarius can enjoy these great games. DOWNLOAD LINK https://aquarius.mattpilz.com/files/games/inufuto-pack.zip In the ZIP file you'll find CAQs, WAVs and a MicroExpander folder. The relevant contents are housed within each depending on your platform and preference. S1 & S2 DEVICE INSTRUCTIONS The process is identical to commercial cassette games from the 1980s. Use the corresponding "S1" or "S2" loaders from the pack, depending on your device. For example, to run the Ascend game on an S1 machine or emulator: CLOAD <RTN> Play "Ascend_BAS_S1" from a tape or audio device hooked to Aquarius (WAV file), or load the CAQ file within an emulator. It should say: Found: AERIAL, then Ok. RUN <RTN> Play or load "Ascend_A" (WAV or CAQ) in the same manner as step 2. After several minutes the game will automatically launch, or instantly if using CAQ files on an emulator. Reset your device to load another title. MICRO EXPANDER INSTRUCTIONS For those with micro expanders, the files within the "MicroExpander" folder in the download will allow you to launch any title in a single step process from USB BASIC. Just navigate to where the files are on the flash drive and do a RUN "[TITLE]" command (in AquaLite you need to also include the ".BAS" extension). To run Ascend from the Micro Expander, for example: Copy the sub-directory "Inufuto" from the "MicroExpander" folder to the root of your USB drive. You can rename it on the USB drive to just "i" for easier access from the Aquarius. Insert the USB drive into your Micro Expander and power up the Aquarius. Press <RTN> to enter USB BASIC. Type: cd "inufuto" <RTN> (closing quote is optional and if you renamed the folder be sure to reference it accordingly). Optionally type dir <RTN> to view a list of files. The game names will be displayed. To run a particular game, type: RUN "ASCEND.BAS" <RTN> (On the physical machine, .bas is optional as is the closing quote. On AquaLite, the full extension is required.) The game will launch. Reset your device to load another title. Everything that follows is technical explanation of the methodology for patching S1 and Micro Expander... No need to read unless it interests you. TECHNICAL DETAILS: S1 ROM CONVERSION The original CAQ and WAV files supplied by the developer are only compatible with S2 ROM devices. This is because they used a build utility from 2001 (as bundled into Z88DK as well) that hard codes memory locations and expects the start of the BASIC content to be at 0x3978 (14712). But S1 devices have a 7 byte offset, so all references within the compiled byte data are invalid. Although it's possible to manually poke the entry points so they match S2 before doing the initial CLOAD, this requires manual effort per launch, or a adding a third CLOAD operation. We can instead organically bump this entry point up for S1 devices by simply adding a: 1 REM! line to each loader. The explanation point is important as this allows the precise placement of the BASIC table in memory needed to match what is expected in S2. This is a convenient approach and is compatible with any programs that use this otherwise fixed S2 memory location. For publishers, they can simply include an S1 loader with the REM statement and an S2 loader without it, advising the user to run the appropriate one for their system. For cassette tape releases, one side could be for S1 and the other for S2. More padded bytes can be generated by adding additional !s (or any punctuation) after the REM, useful for apps that may have a somewhat different integrated loader and origin point. The full S1 loader (using Ascend as an example) is: 1 REM! 5 U=0 10 X=0 20 DIMA(01603) 30 CLOAD*A 40 POKE14340,PEEK(14552)+7 50 POKE14341,PEEK(14553) 60 X=USR(0) TECHNICAL DETAILS: MICRO EXPANDER CONVERSION The same underlying principle applies here as above, except in this case we need to remove bytes from the loader to match the S2 version. And it turns out we can just squeeze out enough to match perfectly by making a few cuts! The build program adds a redundant 0 to the DIMA() command. So removing that shaves off a byte. Then, if we reduce the data file's name down to a single character that'll trim up the rest of the bytes needed to match the fixed location. We have to alter line 30 of the default loader to use USB BASIC's LOAD command, instead of CLOAD. I prefer to make all the changes directly on the device itself, and then SAVE "TITLE.BAS" to resave it to the USB drive. Giving it a .BAS extension instead of .CAQ will allow simplified RUN operations on the physical device (RUN "ASCEND <RTN> is all that is needed.) On AquaLite's emulated Micro Expander you currently have to use the full extension. Keeping the data files to a single letter is not a problem, since the end user need not concern themselves over what one matches which BASIC loader. They simply run the file with the same title as the game, and internally it loads the correct data file (e.g., "A.CAQ" for "AERIAL", "B.CAQ" for "ASCEND", "C.CAQ for "BATTLOT" and so on...) This allows 26 ML games with single character data files to exist in a single folder alongside their respective loaders, or more if you use numbers as well. And new folders can always be created for organization or expansion using this pattern. The full micro expander loader (using Ascend as an example) is: 5 U=0 10 X=0 20 DIMA(1603) 30 LOAD"B.CAQ",*A 40 POKE14340,PEEK(14552)+7 50 POKE14341,PEEK(14553) 60 X=USR(0) (Personal, unofficial cassette seen in teaser photos is based upon the original artwork of Sean Harrington via Aquarius Draw.) Edited August 1, 2022 by MattPilz 7 Quote Link to comment Share on other sites More sharing options...
+sixersfan105 Posted August 2, 2022 Share Posted August 2, 2022 So great to see in the Aquarius scene! @MattPilz thank you for your efforts in patching these games so all Aquarians can enjoy! 1 Quote Link to comment Share on other sites More sharing options...
Arnaud186 Posted August 27, 2022 Share Posted August 27, 2022 Wow! Great news! Can't wait to try these on my Aquarius... If I manage to load them via my phone , that is (didn't succeed loading any tape game for the moment) Quote Link to comment Share on other sites More sharing options...
MattPilz Posted November 5, 2022 Author Share Posted November 5, 2022 A 12th game from Inufuto has been ported to Aquarius, called Guntus. This is a great space shooter with multiple stages, enemies, patterns and attacks. Below is a ZIP containing the S1, S2 and USB BASIC patched loaders so they will work on any emulator or physical machine configuration. https://aquarius.mattpilz.com/files/games/Guntus.zip Developer Site: http://inufuto.web.fc2.com/8bit/guntus/ 2 Quote Link to comment Share on other sites More sharing options...
rietveld Posted December 5, 2022 Share Posted December 5, 2022 i cant belive how many systems he is supporting Quote Link to comment 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.