Jump to content
IGNORED

[AQUARIUS] BootLoader BASIC


Recommended Posts

 

 

Here's a thought.

We don't want to be forever stuck in a loop of developing for the the Aquarius

and the work lying dead there, what if your BASIC can take in the standard

Simple Aquarius basic, and output C or Lua or Browser Basic

 

You must not forget that this BL Basic is just for developing purposes and in theory this program when burned as a rom, should run on the real Aquarius hardware! Other suggestions you have are obviously very welcome, but should probably be done as an independent project of BL basic?

 

PS Until version 6 of the Virtual Aquarius, you could browse and load other roms. As of version 7 a bug has developed!

Edited by Aquaman
Link to comment
Share on other sites

How do we make this a bootable a ROM for the emulator?

can we loose the load screen and go straight to BASIC?

BLBasic is an extension to the standard Aquarius Basic. It cannot function as a stand alone Basic. The bootloader started as a "trick" to run Basic programs from a cartridge.

That is all it is and all it ever will be.

 

Regs,

Martin

  • Like 1
Link to comment
Share on other sites

Why spend development time putting Aquarius BASIC locked in

a rom on cartridge rom on 12 dudes computers, they use like once a month

when you can push Aquarius BASIC out to a format anyone anywhere in the world can see?

 

As long as we are running BASIC on the Aquarius hardware and 100% speed
emuation we are going to hit big bottlenecks that get very ugly and few in 30 years have
stuck around long to deal with them.

 

If we use the Aquarius Basic we have as a scripting tool, it allows us to continue to program for the Aquarius while simultaneously producing something people out in the universe can actually use, its win win. Aquarius all about brotherly love and all that.

 

I don't see how locking the binaries up and not getting access to the BASIC is really useful.

It would be better to use the binary loading as personal Basic RAM space you can read and right to.

"SAVE" can maybe override the CAQ data output stream to write a BLBasic+userProgram+empty space to a bin file?

 

That way starting from a new BLBasic project: I can write code, test, SAVE, load my cartridge in the slot, test it, fix it right there if anything is broken, test, SAVE again, reboot the machine, boop, there's my program again, everything works?

Post to forums! Someone downloads, loads it into virtual aquarius, has never heard of BL BASIC, boop, there's my program, it says "Control + P to PRINT source code", user hits Control and P and a nice text file is saved through the printer port.

 

More likely case "Hey world here's a bunch of Aquarius files, Control S to save to the binary file, Control P to print the program text, Control C to break into BASIC, Download it here!"

 

Locking up the binary could be left as a build option, put a variable in your
basic program or poke a specific spot in memory before LDUMPand if the
condition exists the boot loader writer writes a different line of code?

 

I wonder how much memory BASIC documentation would take up?
If there was a trainer version of Basic with some text taking up ram, it would
be worth it especially, or imagine an Assembler tutorial in cartridge...

Things we were missing 30 years ago we are still missing.

Edited by Pset
Link to comment
Share on other sites

The new Mini Expander II just might provide solutions to these problems, once it is complete.

 

Adding new features to Aquarius BASIC using a cartridge-based version of Extended BASIC (or BLBasic) has certain inherent limitations. It occupies space in the cartridge that could otherwise be used by programs via Martin's bootloader, and since regular cartridges are limited to 16K, it's necessary to be very selective about what features are included, and there simply isn't enough room to throw in everything one would want. Unfortunately, in the original Aquarius, there was nowhere else for Extended BASIC to go.

 

The Aquarius II solved this problem with a built-in Extended BASIC, located inside an extra 4K memory window just after the original BASIC/OS. But this 4K window is unused in the original Aquarius, and only a handful of people in the world are fortunate enough to own an Aquarius II.

 

Earlier this week, with Martin's generous assistance in dumping the original ROM, I was able to get the Aquarius II OS to work in the original Aquarius for the first time:

 

AquariusII.jpg

 

This "Aquarius II Cartridge" is only a prototype, but in effect, it turns the original Aquarius into an Aquarius II. It does not conflict with any other memory devices, so it can be used alongside a regular program or RAM cartridge in a stock Mini Expander, or in the Aquarius by itself. The Aquarius II OS will be integrated into the Mini Expander II, along with 32K of extended RAM, so neither will occupy a cartridge slot at all.

 

This development is relevant to this discussion because it provides a way to add new features to BASIC without taking up space in the cartridge or in RAM. But it's possible now to add much more than just the original Extended BASIC commands, which are all the Aquarius II had. Using bankswitching, I can fit (according to my calculations) up to 512K of ROM into that 4K window, completely transparently to the user. This means that the Aquarius II OS can be used as the basis for a new, open-ended operating system for the Aquarius, with enough room to add just about anything we want: a fancy set of fast graphics routines (or a "canned kernel" as theloon called it), electronic documentation, new character sets, data transfers to/from a modern PC, and so forth, all usable from within BASIC. There will also be commands to support the new features that are planned for the Mini Expander II, which include: a second PSG sound chip, SuperFont, and Atari joysticks and paddles. We can create any kind of programming environment we wish, including (if one wanted to get really ambitious) a complete replacement for Aquarius BASIC.

 

I also have plans for a 512K RAM cartridge, which will allow you to take a cartridge ROM you're developed on a PC and very quickly shoot it over to a real Aquarius for testing, without having to burn an EPROM (this is something I've long wanted for myself!). As for testing these programs within an emulator ... there is a way to use a subset of the new OS ROM in Virtual Aquarius. It will require a few extra steps, but we can make it reasonably easy to use. The real solution, of course, is a new Aquarius emulator that has all these features built in, but that's a whole other project in itself.

  • Like 3
Link to comment
Share on other sites

The new Mini Expander II just might provide solutions to these problems, once it is complete.

 

Adding new features to Aquarius BASIC using a cartridge-based version of Extended BASIC (or BLBasic) has certain inherent limitations. It occupies space in the cartridge that could otherwise be used by programs via Martin's bootloader, and since regular cartridges are limited to 16K, it's necessary to be very selective about what features are included, and there simply isn't enough room to throw in everything one would want. Unfortunately, in the original Aquarius, there was nowhere else for Extended BASIC to go.

 

The Aquarius II solved this problem with a built-in Extended BASIC, located inside an extra 4K memory window just after the original BASIC/OS. But this 4K window is unused in the original Aquarius, and only a handful of people in the world are fortunate enough to own an Aquarius II.

 

Earlier this week, with Martin's generous assistance in dumping the original ROM, I was able to get the Aquarius II OS to work in the original Aquarius for the first time:

 

attachicon.gifAquariusII.jpg

 

This "Aquarius II Cartridge" is only a prototype, but in effect, it turns the original Aquarius into an Aquarius II. It does not conflict with any other memory devices, so it can be used alongside a regular program or RAM cartridge in a stock Mini Expander, or in the Aquarius by itself. The Aquarius II OS will be integrated into the Mini Expander II, along with 32K of extended RAM, so neither will occupy a cartridge slot at all.

 

This development is relevant to this discussion because it provides a way to add new features to BASIC without taking up space in the cartridge or in RAM. But it's possible now to add much more than just the original Extended BASIC commands, which are all the Aquarius II had. Using bankswitching, I can fit (according to my calculations) up to 512K of ROM into that 4K window, completely transparently to the user. This means that the Aquarius II OS can be used as the basis for a new, open-ended operating system for the Aquarius, with enough room to add just about anything we want: a fancy set of fast graphics routines (or a "canned kernel" as theloon called it), electronic documentation, new character sets, data transfers to/from a modern PC, and so forth, all usable from within BASIC. There will also be commands to support the new features that are planned for the Mini Expander II, which include: a second PSG sound chip, SuperFont, and Atari joysticks and paddles. We can create any kind of programming environment we wish, including (if one wanted to get really ambitious) a complete replacement for Aquarius BASIC.

 

I also have plans for a 512K RAM cartridge, which will allow you to take a cartridge ROM you're developed on a PC and very quickly shoot it over to a real Aquarius for testing, without having to burn an EPROM (this is something I've long wanted for myself!). As for testing these programs within an emulator ... there is a way to use a subset of the new OS ROM in Virtual Aquarius. It will require a few extra steps, but we can make it reasonably easy to use. The real solution, of course, is a new Aquarius emulator that has all these features built in, but that's a whole other project in itself.

 

Does the new character set require a hardware modification?

Link to comment
Share on other sites

Does the new character set require a hardware modification?

Yes, using replacement character sets will require soldering a few wires into the Aquarius computer. This is unfortunate, but necessary because the character ROM is completely isolated from the other components in the system. It will still be a much easier procedure than common mods for other systems, however, and should not require removing or socketing any chips.

 

(The features added by the Mini Expander II will be much more than just the "SuperFont" feature, of course. If any Aquarius owner would prefer not to mod their system, "SuperFont" will remain disabled, but the other features will be usable.)

  • Like 1
Link to comment
Share on other sites

This might seem like a tangent, but.. you think if I can build an Adafruit watch then that's enough soldering skill to complete your mod?

http://www.adafruit.com/products/495

Yes, I should think so. If it works out as I think it will, the installation will involve soldering fewer than a dozen wires onto the legs of two or three chips in the Aquarius, and cutting one trace. There will be color-coded wires, lots of pictures, and step-by-step instructions to help you out. Easy stuff compared to what the Atari folks are used to, and all perfectly reversible.

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