Jump to content
IGNORED

[Aquarius] The Inufuto Collection - S1, S2 and Micro Expander compatible pack inside


MattPilz

Recommended Posts

Teaser-A.thumb.jpg.8367dc14a0acf2f5c00aee1bb03276f3.jpg

 

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!

 

May be a cartoon

 

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.

 

May be a cartoon

 

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:

 

  1. CLOAD <RTN>
  2. 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.
  3. RUN <RTN>
  4. 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.
  5. 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:

 

  1. 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.
  2. Insert the USB drive into your Micro Expander and power up the Aquarius. Press <RTN> to enter USB BASIC.
  3. Type: cd "inufuto" <RTN> (closing quote is optional and if you renamed the folder be sure to reference it accordingly).
  4. Optionally type dir <RTN> to view a list of files. The game names will be displayed.
  5. 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.
  6. 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.)

 

Teaser-B.thumb.jpg.97230a591179e28c1e7fb159e53dcde9.jpg

Edited by MattPilz
  • Like 7
Link to comment
Share on other sites

  • 4 weeks later...
  • 2 months later...

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/

 

image.thumb.png.14d17e4a1ae3a1187d207d9bc45b72f6.png

image.thumb.png.8364be820f4af9ff0aeee20a402bc97f.png

 

 

  • Like 2
Link to comment
Share on other sites

  • 5 weeks later...

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...