Jump to content
IGNORED

[AQUARIUS] Micro-Expander: RAM, ROM, AY-8910 and more!


Bruce Abbott

Recommended Posts

  • 3 weeks later...

Good news, it works! I just made one tiny mistake on the PCB - missed an 'air wire' (unrouted signal wire) between R4 and R8, so channel C wasn't making any sound. This was easily fixed with a jumper.

 

Attached photos show various options for orientation of the USB socket:-

 

1. Vertical external: CH376 module plugged into rear of Micro-expander board. USB socket ~2mm above top of Aquarius case.

 

2. Vertical internal: CH376 module wired internally. USB socket on AY board, recessed ~7mm below top of Aquarius case.

 

3. Horizontal internal: CH376 module wired internally. USB socket on AY board, flush with rear of Aquarius case.

 

I just need to tidy up a few loose ends in the firmware and then it will be ready for Beta testing. Who wants one?

 

 

 

post-40459-0-87971600-1484165738_thumb.png

post-40459-0-17463800-1484165800_thumb.jpg

post-40459-0-11326600-1484165810_thumb.jpg

post-40459-0-95843000-1484165817_thumb.jpg

  • Like 2
Link to comment
Share on other sites

  • 3 weeks later...

So that's 5 people who definitely want one or are interested:-

 

EamonShoot - definite

Aquaman - definite
chjmartin2 - ???
MattelAquarius - ???
mvdsteenoven - ???

 

I currently have two sets of spare boards and almost enough chips to populate them. Just need to order more AY-3-8910 chips from eBay and a few logic gates from Element14.

 

Meanwhile, some progress on the firmware,

 

BASIC file commands (LOAD, SAVE etc.) now accept variables and expressions as well as literal strings, eg. LOAD LEFT$(A$,11).

 

DIR accepts wildcard patterns similar to msdos.

 

I am creating a debugger based on CHAMP, an assembler/debugger package that I ported to the Amstrad many years ago. This will be a command in BASIC and an option on the boot menu. So you can reset the Aquarius while a program is running and then examine or save memory, search for data patterns, disassemble and single-step through code (even in ROM!) etc. This could be used to find 'pokes' in games, rip music, or debug your own machine code programs.

 

I also hope to get a few more things into the ROM if they will fit, including-

 

1. LOADROM command for loading and running cartridge ROM files.

2. PT2/3 player (as a BASIC command and on the boot menu)

3. Support for my programmable character generator and bitmap graphics board.

 

Anything else can be disk-resident.

 

Finally there is a short list of bugs that I have to hunt down and fix (which shouldn't take long one I get the debugger into ROM).

 

 

post-40459-0-62505900-1485683896_thumb.jpg

post-40459-0-01238000-1485683908_thumb.jpg

post-40459-0-22568000-1485683924_thumb.jpg

post-40459-0-24229000-1485683941_thumb.jpg

  • Like 2
Link to comment
Share on other sites

  • 2 weeks later...

So that's 5 people who definitely want one or are interested:-

 

EamonShoot - definite

Aquaman - definite

chjmartin2 - ???

MattelAquarius - ???

mvdsteenoven - ???

 

I am sure Martin (mvdsteenoven) wants one, but he hasn't been on the forum for a while to see the progress!

Link to comment
Share on other sites

OK that's two more on the list: slackmar and Questarian.

 

I just received the AY-3-8910's I ordered from eBay, and they appear to be genuine originals! (not sanded down and remarked). Hope they work...

 

Making good progress on the firmware. Debugger is 75% done, up to around 4.5kB of machine code, so a few k left for other stuff. Once I get the debugger into ROM it will help to finish the rest.

 

The debugger saves and restores the screen when stepping through code, and uses it's own print functions to avoid disturbing system output. This permits debugging code that prints to the screen without messing up the display. I have also implemented a simple form of 'window' which has configurable position and size, colors, border style, title etc. May not be more functional than a command line, but it does look prettier...

post-40459-0-29540900-1487582657_thumb.jpg

post-40459-0-56373600-1487582751_thumb.png

Edited by Bruce Abbott
  • Like 3
Link to comment
Share on other sites

So that's 5 people who definitely want one or are interested:-

 

EamonShoot - definite

Aquaman - definite

chjmartin2 - ???

MattelAquarius - ???

mvdsteenoven - ???

 

I currently have two sets of spare boards and almost enough chips to populate them. Just need to order more AY-3-8910 chips from eBay and a few logic gates from Element14.

 

Meanwhile, some progress on the firmware,

 

BASIC file commands (LOAD, SAVE etc.) now accept variables and expressions as well as literal strings, eg. LOAD LEFT$(A$,11).

 

DIR accepts wildcard patterns similar to msdos.

 

I am creating a debugger based on CHAMP, an assembler/debugger package that I ported to the Amstrad many years ago. This will be a command in BASIC and an option on the boot menu. So you can reset the Aquarius while a program is running and then examine or save memory, search for data patterns, disassemble and single-step through code (even in ROM!) etc. This could be used to find 'pokes' in games, rip music, or debug your own machine code programs.

 

I also hope to get a few more things into the ROM if they will fit, including-

 

1. LOADROM command for loading and running cartridge ROM files.

2. PT2/3 player (as a BASIC command and on the boot menu)

3. Support for my programmable character generator and bitmap graphics board.

 

Anything else can be disk-resident.

 

Finally there is a short list of bugs that I have to hunt down and fix (which shouldn't take long one I get the debugger into ROM).

 

 

Bruce,

 

For sure I want one. Sorry I haven't responded for a month just haven't checked the forum!

 

Chris

Link to comment
Share on other sites

Sorry I haven't responded for a month just haven't checked the forum!

 

That's OK, I don't check it as often as I should either. Anyway, you and chouimat are now on the list!

 

I have been working hard to get the ROM finished. It's getting easier as I build up a library of subroutines - just have to avoid silly bugs (spent several hours trying to figure out why the keyboard wasn't working properly in the ROM loader - turns out I had put too many lines in the boot menu screen so it was overwriting the system variables...).

 

Here is a preview that you can run on Virtual Aquarius. Just set RAM to 32k, load game rom 'ubasic.bin', reset and have a play! USB disk functions obviously don't work in the emulator, so I put a fake directory into the ROM loader (no actual game ROMs in there, sorry).

 

The debugger is mostly working. You can examine and modify memory, and trace machine code programs one instruction at a time. Select Trace and hit ? to see the hotkeys. Press <RTN> to trace through the system ROM. You will notice the screen flashes briefly as each instruction is executed - this is the system screen being swapped in and out. Press <SPACE> and it will show the system screen so you can see what was printed on it. You can also invoke the debugger from the command line or in a BASIC program. the command is 'debug'.

 

The PT3 music player isn't implemented yet, but it looks like there will be plenty of room in the ROM for it. Now I must burn an EPROM and test it on a real Aquarius!

post-40459-0-61916000-1488762244_thumb.png

post-40459-0-26017900-1488762272_thumb.png

post-40459-0-62829100-1488762308_thumb.png

ubasic.zip

  • Like 1
Link to comment
Share on other sites

I want one too once it's tested. Thank you.

OK, you're on the list!

 

Here's who's on the list so far. Have I missed anyone out?

 

EamonShoot

Aquaman

Micktrain

Slackmar

Questarian

Chouimat

chjmartin2

BillLoguidice

 

More good news. After a marathon programming effort the PT3 player is now working. Currently limited 36 songs due to screen space and the number of keys on the keyboard. This will have to change (and it could also do with better visuals) but for now I am happy since it can play more than an hour of songs continuously!

 

Just have to tidy up a few loose ends in the firmware now. So far the hardware appears to be working perfectly. I have 2 more boards on stock which I will start building in the next few days. Then I will need to order another 6 from OSH park.

 

I am also thinking about a case. Frosted clear plastic would be nice. Anyone have experience with 3D printing?

post-40459-0-34757600-1489025613_thumb.jpg

post-40459-0-90981500-1489025622_thumb.jpg

Link to comment
Share on other sites

  • 2 weeks later...

Can I ask for one, too?

Yes! :)

 

By my count that's 9 orders now. It will take a while to do them all so please be patient...

 

I started working on the two spare boards today. Software is taking a little longer to tidy up than I thought (doesn't it always?) but the list of things to do is getting smaller. The debugger is 95% finished and working well. Today I converted a batch of PT2 songs to PT3 format using Vortex Tracker II and they all played perfectly, so I just have to improve the visuals. Once that's done the firmware side should be complete and I can concentrate on making more units.

Edited by Bruce Abbott
  • Like 2
Link to comment
Share on other sites

OK, you're on the list!

 

Here's who's on the list so far. Have I missed anyone out?

 

EamonShoot

Aquaman

Micktrain

Slackmar

Questarian

Chouimat

chjmartin2

BillLoguidice

 

More good news. After a marathon programming effort the PT3 player is now working. Currently limited 36 songs due to screen space and the number of keys on the keyboard. This will have to change (and it could also do with better visuals) but for now I am happy since it can play more than an hour of songs continuously!

 

Just have to tidy up a few loose ends in the firmware now. So far the hardware appears to be working perfectly. I have 2 more boards on stock which I will start building in the next few days. Then I will need to order another 6 from OSH park.

 

I am also thinking about a case. Frosted clear plastic would be nice. Anyone have experience with 3D printing?

 

After a long stressful period of issues with health & Personal life hopefully Im able to devote some hobby time. One thing I'm doing is learning new skills I've found there is a local fablab so I should have access to 3dprinting soon and appropriate support (might be worth checking if you have a local fablab) do you have a design done?

 

Barnie

Link to comment
Share on other sites

 

do you have a design done?

No. I haven't designed anything in 3D so I will have to Google it :). Do you have any recommendations?

 

There probably is a 'fablab' around here but I don't intend to make any myself. I have already sunk way too much into this project and now that I have to make 9 (or more?) units I need to focus on getting them out to recover costs (upside of having an intermittent part time job is more time to work on projects - downside is not a lot of money coming in!).

Link to comment
Share on other sites

Once I'm upto date on fablabs software I will be able to give a bit more feedback. If I can get my Aquarius out of storage I can look at 16k Ram cartridge as a starting point. I will go back through your posts to check dimensions etc.

 

For some background on what I may have access to:

http://www.covfablab.org.uk/

 

I get the impression that every fablab is slightly different. The funded sources can alter the aims and facilities. Coventry's is lead by the University and I think that helps a great deal.

 

Barnie

Link to comment
Share on other sites

I used the cartridge slot cover that comes the stock Aquarius. It has no bottom, so I have mounted components on the bottom of the lower PCB. The jumpers actually touch the main Aquarius case inside the cartridge slot.

 

In the attached photos you can see where I cut the rear to take the two connectors. Some extra holes were for the original prototype. To accommodate a USB socket on the PCB we need a hole in the top or higher up in the rear, instead of the 16 pin connector lower down. Since only 1 of these holes will be required for each option I was thinking of having 'knockout' plates that can be removed as needed.

 

Stereo sound may be brought out on a cable as I have done, or to a 3.5mm socket at roughly the same location. I use a cable because it reduces stress on the cartridge if you forget to unplug it before moving the computer, but others might prefer to have a socket. Anyway a round hole large enough for the 3.5mm socket should also be OK for a cable.

 

The boards just fit into the cover after cutting some of the internal ribbing. Front to back internal length is 52.5mm for the lower PCB and 51.8mm for the upper board (shorter to accommodate the slight case taper from bottom to top). Internal width is 64mm for both boards.

 

Though the micro-expander can be used without a cover, it is a bit dangerous because then it's only held in by the edge connector. So I think it is important to have some kind of cover/case to hold it place, particularly if you want to 'hot-plug' into the USB or joystick ports. A case will also help protect against static discharge and things being dropped on the PCB!

 

post-40459-0-91545700-1490598561_thumb.jpg

post-40459-0-75477900-1490598571_thumb.jpg

post-40459-0-47772300-1490598579_thumb.jpg

  • Like 1
Link to comment
Share on other sites

Here's the CH376 module mounted inside the micro-expander. A bit of a kludge to get the wires in the right order, but it works well. Next PCB version will have the correct pinouts to drop the module straight in.

 

I have one more unit on hand to make up. Once this is done (and it has been given a good soak test), I will have two units ready to fill a couple of orders!

 

To make the other units I need to modify the PCB design and get it to OSH Park, plus I still have to order a few other sundry parts. This will take a few weeks. Meanwhile I tested the AY-3-8910 chips. One was a dud, but I still have 6 good chips (and more coming from eBay).

 

 

post-40459-0-76056400-1491046475_thumb.jpg

post-40459-0-90963800-1491046477_thumb.jpg

  • Like 2
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...