Jump to content
IGNORED

[AQUARIUS] adapting Boriel's zxbasic compiler to Mattel Aquarius


Recommended Posts

since almost a year, i got really excited with a cross-compiler coded in Python that allows to make z80 binaries (z80 asm were used temporarily there in cross-compiling process) from an ansi-basic syntax very closed to zx-spectrum basic

 

- http://www.boriel.com/software/the-zx-basic-compiler/?lang=en

- http://www.boriel.com/forum

- http://www.boriel.com/files/zxb/

- http://www.boriel.com/wiki/en/index.php/ZXBasic

 

at the Boriel's wiki page, i started to add some information about Mattel Aquarius (if people know more links with very useful information, please add there too) :

http://www.boriel.com/wiki/en/index.php/ZX_BASIC:Aquarius

 

for having a version of it cross-compiling to Mattel Aquarius, we may need help from people skilled enough about how to adapt this Python code for the same purpose, and is comfortable enough to use Aquarius technical information there.

 

what do you all think about this?

Link to comment
Share on other sites

I think this is a GYNORMOUSLY GOOD IDEA!!!!!!!!!

 

Someone else started an SMS version:

http://www.smspower....pic.php?t=12902

 

If someone could actually complete a ZX Basic for one z80 system then I'm sure porting to others would be easier.

 

zx-spectrum, the machine primarily focused in this cross-compiler, uses z80 processor indeed, and it is working perfectly fine, and it is extremely simple to use (for example, in few months i submitted 5 game entries to the csscgc contest, games coded in few hours calmly! :) ) - that's why i think would be relatively simple to adapt it to Aquarius! :)

Link to comment
Share on other sites

The question remains how do we distract JayBird3rd and steal a flash cart for testing?

 

I mean have him write the whole thing!

 

oops.. dangit.. blurted out the evil plan!

:lol:

 

I've still got plenty of SuperCart boards, and I'll gladly supply them to anyone who wants them. Unfortunately, since they're designed primarily for EPROMs, you'll have to burn a ROM for each test, which isn't especially convenient. I do plan on making a more appropriate testing tool (probably an SRAM cartridge with a built-in file transfer utility) at some point, but I've had to put my homebrew projects on hold this summer.

 

I don't need a BASIC cross-compiler myself (I intend to use assembly and C for my own projects), but it sounds like an interesting idea. One possible issue with targeting the Aquarius is the lack of available RAM: most ZX Spectrum machines have 48K or 128K of RAM, but a stock Aquarius with no Mini Expander or RAM module (which is what most Aquarius owners seem to have) has only ~1.7K. Most games don't really need more RAM than that if the program code is run from a large cartridge ROM, which is one reason why a bankswitched cartridge was so important for the Aquarius.

 

If this compiler supports 128K machines, it already includes bankswitching support, so perhaps it's possible to adapt it to produce ROM-ready code using the SuperCart's 8K bankswitching scheme on the Aquarius. The details I posted in the SuperCart thread (linked above) should be enough to start with, if anyone is interested in pursuing it.

  • Like 1
Link to comment
Share on other sites

bankswitching on zx-spectrum is extremely easy, it's just like on msx, switching some bits on some i/o ports.

Btw, i were trying the sms version of boriel's zxbasic compiler on Linux (needed to adapt something from build.bat to build.sh), and the most significant difference is it uses wla-dx externally for using its predefined sms format over the zxbasic compiler .asm result - i'm really sure that people comfortable with z80 asm here can help a lot on a aquarius version of zxbasic compiler, and each help is needed and welcome! :)

Link to comment
Share on other sites

It sounds more complicated then programming an eeprom. In the SuperCart thread I kept seeing words and phrases that confused and angered my simple mind. Something about soldering your fingers to jumpers and copy protection. If the SuperCart had a zif socket and some other utility helped with the encryption stuff I'd be willing to buy an eeprom programmer.

Link to comment
Share on other sites

As most of the Aquarius users are more familiar with basic it sounds like an interesting idea,

bankswitching on zx-spectrum is extremely easy, it's just like on msx, switching some bits on some i/o ports.

Btw, i were trying the sms version of boriel's zxbasic compiler on Linux (needed to adapt something from build.bat to build.sh), and the most significant difference is it uses wla-dx externally for using its predefined sms format over the zxbasic compiler .asm result - i'm really sure that people comfortable with z80 asm here can help a lot on a aquarius version of zxbasic compiler, and each help is needed and welcome! :)

I think it would be a great idea of having something like this working for the Aquarius, but sadly I am not such a whiz on Z80 ASM to pull this off myself.
Link to comment
Share on other sites

It sounds more complicated then programming an eeprom. In the SuperCart thread I kept seeing words and phrases that confused and angered my simple mind. Something about soldering your fingers to jumpers and copy protection. If the SuperCart had a zif socket and some other utility helped with the encryption stuff I'd be willing to buy an eeprom programmer.

The only mention of jumpers that I recall was in the configuration instructions in Post #4. These simply involve closing certain jumper pads on the board with beads of solder to choose the options you want (such as what size EPROM you're using), which is nothing more complicated in principle than flipping a switch.

 

As for "copy protection", you're probably referring to the "lockout feature" that I described at the end of Post #3. That has since been made obsolete, so you can ignore it completely, as I mentioned in a later post. If I still had the ability to edit the old posts, I'd strike through those sections or remove them entirely. It's easy to add a ZIF socket to the board (I use one on my own test boards, in fact), and as for encryption ... there isn't any! Just a 16-byte header to add to your binaries, and I've already created some headers to get you started.

Link to comment
Share on other sites

Also there were programms on other much more complex systems to make making games easier, like for example Game maker and Seuck for the c-64. Is something like that not possible on the Aquarius (bearing in mind, that people might have to invest in some extra Ram)? This would enable basic users to have Machine language speed for stuff like scrolling which cannot be pulled of in general Basic?

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