Jump to content
IGNORED

[AQUARIUS] Technical / Assembly Language Programming Resources?


no attack

Recommended Posts

After programming my first Aquarius game in BASIC, then getting a bit of assembly working via BASIC's USR command, I've been looking to switch over fully to Z80 development. I now have a working program courtesy of SB-Assembler 3 and Virtual Aquarius, but I'm running into some major gaps in knowledge about the Aquarius' technical specifications. Namely, there's very little info online about the Aquarius' hardware registers, how to poll the keyboard, how to wait for VSYNC (if that's possible), etc. I'm aware of the Machine Language Programming thread here, the scattering of documents online, and the Aquarius Yahoo Group (which I can't seem to access?) but I'm wondering if there's some source(s) I'm missing. 

 

So, if you know where I can find more in-depth technical references for the Aquarius, source code examples (beyond the system ROM disassembly), or other helpful references, please let me know. Especially those folks that might still have access to the Yahoo Group and might want to share some of the info there.

 

Thanks!

Link to comment
Share on other sites

I began collecting some tutorials and resources in this thread, and I plan to expand that material here and on my website after it (finally!) goes live.  In the meantime, I've attached a few scans of original Aquarius technical documentation from Mattel/Radofin.  There is also Kenny Millar's partial disassembly of the Aquarius OS, given in the other thread; this includes the keyboard decoding/debouncing logic, the print routines, and the other routines normally called from BASIC, and which you can call from your own assembly-language programs if you wish.

 

Aquarius - System Description.pdf

 

Aquarius - Technical Specification.pdf

 

Aquarius AY-3-8910.pdf

 

(My new tutorials will integrate and expand the information in these documents.  I'm very glad to have them, but it would be nice if we didn't have to rely so much on these fuzzy old scans!)

Link to comment
Share on other sites

jaybird3d, these docs are SO helpful—thank you for sharing them!

 

So if I'm reading the tech specs correctly, it looks like the VSYNC status can be read from bit 0 on port $FD.

 

And now I'm curious about your website/tutorials—what topics were you planning to cover? I was thinking of doing some of my own, since I may integrate some Aquarius work into a class I teach.

  • Like 1
Link to comment
Share on other sites

48 minutes ago, no attack said:

jaybird3d, these docs are SO helpful—thank you for sharing them!

 

So if I'm reading the tech specs correctly, it looks like the VSYNC status can be read from bit 0 on port $FD.

My pleasure!  Yes, the VSYNC state appears on bit 0 from port $FD.  This is shown on Page 26 of the "Aquarius Technical Specification" document.

 

Quote

And now I'm curious about your website/tutorials—what topics were you planning to cover? I was thinking of doing some of my own, since I may integrate some Aquarius work into a class I teach.

Cool!  I'm a teacher also.  I'd like to write my tutorial as a friendly introduction to machine language programming and 8-bit computers in general, using the Aquarius and the Z80 as the target platform.  I plan to start with the basics: using the assembler, writing and building simple programs, running them on the Aquarius (real and emulated), setting up the project files, etc.  From there, I'll move on to control structures, binary arithmetic and manipulations, data structures, timing issues, etc.  I'll definitely make as much use as possible of what the Aquarius can do, but I'll try to discuss the principles involved in a general way, so that if someone were to move on from this tutorial to other 8-bit machines, or to 8-bit microcontrollers—like the ones I use in my embedded systems classes, for example—they'll find the transition relatively easy.  All this will be on the website, along with lots of historical information and pictures of the Aquarius hardware and software.  I've been gradually putting the site together as I have time; I hope to have the first version live before the end of the year, once my school schedule eases up a bit.

  • Like 1
Link to comment
Share on other sites

2 hours ago, carlsson said:

I wonder if Mattel could've upgraded the machine to a full size keyboard and sold it as a school computer, the Edu(qu)arius? OTOH I'm not sure the Tomy Tutor either had that approach, for sure the Educator 64 though.

That's essentially what the Aquarius II was: an Aquarius with a full-stroke keyboard.  (That's about the only notable difference between the two models.)  I think the Aquarius would have had a very hard time competing as an educational computer: the Apple ][ had already established itself in the educational market, and the Aquarius was a much more limited machine.  The Aquarius was intended mainly for the low-end, entry-level market; it was designed to compete with the Commodore VIC-10—which ultimately became the Commodore MAX, I believe—and the Timex/Sinclair machines.  If it had come out a year or so earlier, it might have gained more of a foothold, but by that time there were too many other (and, frankly, better) options at that price point.

  • Like 1
Link to comment
Share on other sites

20 hours ago, jaybird3rd said:

That's essentially what the Aquarius II was: an Aquarius with a full-stroke keyboard.  (That's about the only notable difference between the two models.)  

That and it had the Extended Basic cartridge built in (oh as well as a pluggable power cord ! ;) )

 

 

Edited by MackJsy
  • Like 1
Link to comment
Share on other sites

1 hour ago, MackJsy said:

That and it had the Extended Basic cartridge built in (oh as well as a pluggable power cord ! ;) )

That's true.  It still wasn't enough to sufficiently differentiate it, unfortunately.  If it had at least included upgraded graphics—as it is sometimes incorrectly said to have had—and/or an integrated Mini Expander and expanded RAM, it might have fared better.  (Although, I know these problems could easily be solved today with a little tinkering ...)

Link to comment
Share on other sites

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...