Jump to content
IGNORED

New (alt) BIOS for Ultimate 1MB/Incognito


Recommended Posts

A couple of months ago I decided to have a crack at writing a new BIOS for Ultimate 1MB from scratch. Its purpose was simply to facilitate a bootable version of the WIP Graphical OS in ROM and add some extra PBI BIOS options, but the project quickly ran away with itself and became an exercise in completely re-thinking just about every part of the functionality.

 

The new BIOS offers:

 

  • The ability to set the date and time from the setup menu
  • Dual configuration profiles
  • Categorized menus covering system settings, hard disk, device setup, etc
  • Turbo-Freezer compatibility
  • Customisable shortcut keys
  • OS-independent Ultra-speed SIO for serial disk drives
  • Optional BIOS logo screen and boot device selection menu
  • Optional flash write protection
  • System information page displaying CPU type, audio/video hardware, etc
  • BIOS Plugin API for diverse hardware control (Ultimate 1MB only)
  • Variable SpartaDOS X ROM sizes (192, 256 and 320KB), and the ability to boot the WIP
  • Graphical OS (when 192KB SDX is used)

 

So this is a beta version of the new (alt) Ultimate BIOS, provided with a new (beta) version of uFlash which is designed to handle both original and new BIOS versions (and the upgrade process), a (required) PBI BIOS update, and some documentation. I've also thrown in a complete Ultimate 1MB ROM with the GOS intended for testing in Altirra (or on a real machine if you're feeling brave).

 

Ultimate BIOS Beta 0.24 Release.zip

 

You'll notice the word 'beta' crops up a lot. This is BETA software, so please ensure you have a means of recovery in the event something goes wrong with the BIOS flash, or something unexpected goes wrong with the BIOS. Although the last couple of builds have been well tested, it's a BIOS and is therefore critical to whether your machine boots up or not. I can't stress this enough, and I do not want to hear people complaining about bricking their machines and having no way to recover. A USB flash ROM programmer is an absolute must if you want to test this on real hardware.

 

The sensible procedure is to back up your entire Ultimate 1MB ROM first so that you can go back to it if you need to or if you simply don't like what you end up with. You can do this in-situ with uFlash or with your USB programmer. The (draft) documentation outlines the upgrade procedure, and you must upgrade both the main BIOS and the PBI BIOS both at once. That means load up uFlash, flash BIOS24.ROM to the "BIOS" slot and ULTPBI13.ROM to the "PBI BIOS" slot. Then do a power-cycle.

 

The NVRAM configuration data of the original BIOS is completely incompatible with the new one, so although your system clock should remain valid, nothing else will. You'll be prompted to set things up again after the upgrade. The defaults chosen (i.e. stock RAM) will be subject to change in the final version, as will anything else I feel like changing, although the OS ROM, BASIC and XEGS slot descriptions (which should survive the upgrade) won't change position again.

 

Things that don't work or only work partially or don't work at all:

 

  • Boot device menu: works, but isn't finished
  • "Redirect D1:" in the PBI BIOS menu is not implemented yet
  • Other stuff :)

This became such a gargantuan task that I just want to leave the beta out for a week or two and do other things to get over it, before fixing what needs fixed and getting on with the new (alt) XEX loader, which is about half done but will take a while to complete.

 

Lastly, I want to offer massive thanks to Phaeron, Hias and Prowizard. The assistance they have provided in terms of testing, ideas, and technical insight was really fantastic, and without them, some of the neat features present just wouldn't exist at all. And had Hias not kindly agreed to let me use his High-Speed SIO code in the PBI BIOS (more or less verbatim), there'd be no High-Speed SIO.

 

Thanks also to MrFish for valuable feedback and ideas on the UI, and of course to Candle himself for the hardware and original firmware. The sole purpose of this new, alternative BIOS is to get even more functionality from this fantastic hardware, taking inspiration from his initial achievements.

 

I've probably forgotten stuff, but it's late, so - enjoy. :)

 

PS: Incognito BIOS to follow shortly.

Edited by flashjazzcat
  • Like 17
  • Thanks 1
Link to comment
Share on other sites

If I want to test this on real hardware, can I use an AtariMax Flash cart to recover? Or what kind of USB ROM programmer would I need?

Atarimax cart: no, unless it uses the same chips as the U1MB and you can swap the chip into it and program it properly on another computer (complicated, difficult).

USB programmer: one which can write the 49F040 which *I think* is the chip the U1MB uses.

Link to comment
Share on other sites

Ultimate came with a couple of different chips, notably Amic and SST, and the odd AMD. Any of them will program in one half of an 8Mbit Maxflash cart providing the flash software recognises it.

 

I was deliberately alarmist about potential risks, BTW, simply to avoid people diving in without considering said risks. The BIOS is way past the point of bricking the machine through bugs. The only risk comes from the act of flashing the BIOS, and if you have a USB flasher there is zero risk at all.

 

Myself, Hias and Prowizard all updated the BIOS using uflash and the couple of times a bricking occurred (owing to a BIOS bug) happened weeks ago. I developed this using four Ultimate machines (as well as with Altirra, of course), and had to pull the chip on the 1200XL once out of a hundred and odd flashes, owing to that single BIOS bug. Flashing - here at least - has been 100 per cent reliable.

Edited by flashjazzcat
Link to comment
Share on other sites

3 weeks ago I had to reflash my U1MB flash chip once with my Eprom burner.

 

After that several updates to the bios happened, and they never bricked my Atari. I think the chance of bricking the U1MB is not higher than in other circumstances where someone would use uFlash.

 

Next to several amazing new features for me personally the best new features are:

 

1) The ability of having 2 profiles; now it is just one key press to disable or enable certain settings at once.

 

2) The new screen design of the setup screen is AWESOME and I can change color of screen now (which is handy for 2 different profiles)

 

3) The ability of setting Boot Drive

 

I think this amazing firmware update is a very welcome development in Ultimate 1MB. Especially when you have U1MB and SIDE 2.

 

I would love to see some user reports here!

  • Like 1
Link to comment
Share on other sites

Jon, I see that you have changed the Bios so that you can no longer change the Full Row of Text for the descriptions such as:

System:          Stock OS
BASIC slot is:   BASIC
XEGS GAME slot:  Missile Command

But now, you are only limited to 15 characters, instead of 32 characters.

Stock OS
High-Speed
Diagnostic
Q-Meg
 
BASIC
CAR1
CAR2
CAR3
 
Missile Command
XEGS1
XEGS2
XEGS3

When designed by Candle, this allowed a user to customize it to accommodate Languages other than English by allowing them to change the.Full Row of Text if they wanted to.

 

Will the Address of each text, such as:

System
BASIC Slot
XEGS Slot

remain the same by using a table for each string or will they fluctuate in other release updates?

Edited by AtariGeezer
Link to comment
Share on other sites

The foreign language aspect is extremely tenuous. It was only possible to edit the entire line of a menu item because of the way every single menu item was duplicated in its entirely in ROM four times (consuming 128 bytes per item). I understand that to be an accident of the design and do not believe for one moment that it was an R&D decision made with the express purpose of catering to those whose first language is not English (especially since it was written by a man from Poland). :)

 

In addition, two of the item names ("BASIC" and "XEGS") under discussion are acronyms understood by Atari 8-bit users around the globe, while the word "System" should also present few comprehension problems. Elsewhere, I don't think words and acronyms like "RAM", "PBI", "HDD", "BIOS", "Hard Disk", etc, should cause insurmountable obstacles to international speakers, although any non-English speaking users bewildered by the menus are welcome to voice their opinion. If the words "Enable" and "Disable" prove impenetrable, meanwhile, they could easily be changed to "on" and "off". Two thirds of the alpha testers (Hias and Prowizard, both from mainland Europe) seemed to cope OK.

 

Of course owing to the BIOS's modular internal structure, a foreign-language edition would be trivial to produce (the resource file could be put in the hands of a translator) and this would prevent the rather unwieldy user edits which I have previously witnessed (an example of which is pictured below), but somehow I don't expect this to be high on the list of requested features. Oddly it's only been a single native English speaker who ever brought up the matter of translating BIOS text into foreign languages. :? Of course anyone by whom this is deemed a major loss of functionality is free to continue using the perfectly functional BIOS which came with their board.

 

As to the positioning of the strings: as I remarked above, this should not change again. It changed once mid-alpha and immediately causes problems for testers, since the flashing software knows of only two BIOS versions: old and new.

 

post-21964-0-46050100-1435846741_thumb.png

Edited by flashjazzcat
Link to comment
Share on other sites

Of course owing to the BIOS's modular internal structure, a foreign-language edition would be trivial to produce (the resource file could be put in the hands of a translator) and this would prevent the rather unwieldy user edits which I have previously witnessed (an example of which is pictured below), but somehow I don't expect this to be high on the list of requested features. Oddly it's only been a single native English speaker who ever brought up the matter of translating BIOS text into foreign languages. :? Of course anyone by whom this is deemed a major loss of functionality is free to continue using the perfectly functional BIOS which came with their board.

Okay, I'll make the appropriate changes in The ROM Generator to reflect the change...

  • Like 1
Link to comment
Share on other sites

Installed with no problems via uflash and sio2sd. Really like the profiles and the new look. Thanks for letting us try the beta!

 

One thing I noticed. WIth the old bios, the pbi bios 1.0 would print on the screen the version during boot up.

 

Using the pbi bios 1.3 and the new alt bios from here I don't get a pbi bios version line output during boot.

 

I have the "PBI BIOS NOTICE" enabled but still no version string prints at boot.

Edited by TheNameOfTheGame
Link to comment
Share on other sites

I've also thrown in a complete Ultimate 1MB ROM with the GOS intended for testing in Altirra (or on a real machine if you're feeling brave).

 

So how does this 512kb image work? does it include the new bios and pbi bios also? Complete rewrite of the u1mb rom space with a GUI included?

 

 

*EDIT* Took the plunge and rewrote the entire 512kb with the new image. Really cool and no problems. Now I can start the GUI from U1MB. I like that!

 

Plus now I am getting the PBI BIOS 1.3 line on boot which is good.

 

My SIDE2 hard drives weren't getting noticed after I enabled Hard Disk, but after I set BOOT DISK to D3: they are working fine again.

Edited by TheNameOfTheGame
Link to comment
Share on other sites

Wow. Just wow! I just read the manual and am amazed at all of the changes and streamlining. I *really* want to try the GOS. I am not certain I want to jump in the deep end, just yet, but I keep thinking about it!

 

Just to be clear, I can use uFlash to back up the original U1MB ROM and reflash to go back to the original, correct? . . . . Looks so very cool.

Link to comment
Share on other sites

I'm running an Altirra setup. I was able to use the U1MB ROM that FJC provided "as is." Cat... that setup is "smokin'!" I was not able to successfully modify the ROM though with either of my preferred methods: "The ROM Generator" or "U1MB ROM Builder". TRG gave me a checksum failure I think, while URB loaded it but had garbage listed for much of the sub ROMs. I didn't fiddle with it in that case figuring starting off that way is just asking for trouble. I did not yet try UFLASH within the emulated Atari so I can't comment there. I will later. If that works, that is something, but my fave tools are the Windows based ones. I was hoping to put the latest Altirra BASIC into a slot, and fill the other 3 with Atari BASICs rev A, B, and C.

 

Anyway, I don't do a lot with BASIC (and can load AB from disk anyway) and I am just really enjoying this new BIOS! Finally "U1MB SETUP" is in a font that is easy to read right off the bat. That font in the old one always bugged me just a little, even though I knew what it said. :)

Edited by fujidude
Link to comment
Share on other sites

"The ROM Generator" or "U1MB ROM Builder". TRG gave me a checksum failure I think, while URB loaded it but had garbage listed for much of the sub ROMs.

TRG reports a BIOS ROM File Signature Mismatch due to FJC's new layout. This will be updated soon in the next release of "The ROM Generator"...

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