Jump to content
IGNORED

Ultimate 1Mb Upgrade


spookt

Recommended Posts

It's just SELECT to start the game with a keyboard attached (or start BASIC without the keyboard, somewhat less usefully), at least on a real XEGS.

 

It doesn't work on my XEGS right now though, because the U1MB came with XL OS rev. 2 instead of the XEGS OS.

 

I know I can't flash the BIOS because of the v1 CPLD, but can I safely use uflash to install an XEGS OS ROM into one of the OS slots?

Link to comment
Share on other sites

It's just SELECT to start the game with a keyboard attached (or start BASIC without the keyboard, somewhat less usefully), at least on a real XEGS.

Thanks!

 

I know I can't flash the BIOS because of the v1 CPLD, but can I safely use uflash to install an XEGS OS ROM into one of the OS slots?

Yes, you can safely update everything as long as the v.1. loader, PBI BIOS and main BIOS are left alone. In the next firmware update, I'm going to put the XEGS OS in one of the default OS slots anyway (in the AIO ROM).

Edited by flashjazzcat
Link to comment
Share on other sites

Yes, you can safely update everything as long as the v.1. loader, PBI BIOS and main BIOS are left alone. In the next firmware update, I'm going to put the XEGS OS in one of the default OS slots anyway (in the AIO ROM).

 

Thank you! Hopefully I'll have my JTAG situation sorted out by then.

 

Should I worry that the U1MB wasn't autodetected? The uflash display looks a bit scary, even though the OS image names are shown correctly:

 

post-25983-0-80698500-1471545818_thumb.jpg

 

Inverse blocks of odd-looking characters make me nervous :)

 

Also, are there any pitfalls to be aware of (eg "don't flash the slot containing the current OS")?

Link to comment
Share on other sites

Should I worry that the U1MB wasn't autodetected? The uflash display looks a bit scary, even though the OS image names are shown correctly...

Yes: I'd stop right there if I were you. The BIOS looks so old that it lacks any kind of identifying metadata and may even have most of the slot descriptions in an unrecognised location. If you can find a sightly more current ROM containing the first generation BIOS, perhaps update to that first and then see if UFlash has a better time of it.

 

I didn't yet find any way of telling Incognito and U1MB apart aside from looking at what's in the BIOS slot, but even if things could be identified purely on the basis of hardware characteristics, we still have to ID the BIOS to see which generation of firmware we're dealing with. It's becoming increasingly cumbersome handling just two generations of firmware, let alone a third. :)

 

Also, are there any pitfalls to be aware of (eg "don't flash the slot containing the current OS")?

Once the flasher looks a little less unsettling, it's quite safe to flash the current OS, since UFlash runs the OS in RAM. The only time it doesn't is when you're trying to update a 1MB AtariMax cart, which requires SDX to run in the Shadow RAM.

Link to comment
Share on other sites

Yes: I'd stop right there if I were you. The BIOS looks so old that it lacks any kind of identifying metadata and may even have most of the slot descriptions in an unrecognised location. If you can find a sightly more current ROM containing the first generation BIOS, perhaps update to that first and then see if UFlash has a better time of it.

Okay, thanks for all your help!

 

I'll go looking for the newest U1MB ROM that doesn't have PBI support.

Link to comment
Share on other sites

Okay, thanks for all your help!

 

I'll go looking for the newest U1MB ROM that doesn't have PBI support.

 

If you're really desperate I'd be happy to update the U1MB CPLD for you. I can tell you that UFLASH will successfully update an original U1MB even if it can't properly identify it to the latest version. I ended up with scrambled slots AFTER the flash (and CPLD update), but that should be simple enough to correct.

  • Like 2
Link to comment
Share on other sites

I'll go looking for the newest U1MB ROM that doesn't have PBI support.

You can safely update to any version of Candle's BIOS, including those which have PBI functionality. If the hardware lacks PBI support, the settings will just be ignored and the machine will still function. What changed in the new BIOS is that the main BIOS depends on the IO RAM which wasn't present before the PBI was implemented in the CPLD. The old main BIOS only uses $D600-$D7FF and therefore works with the older CPLD revisions.

 

If you're really desperate I'd be happy to update the U1MB CPLD for you. I can tell you that UFLASH will successfully update an original U1MB even if it can't properly identify it to the latest version. I ended up with scrambled slots AFTER the flash (and CPLD update), but that should be simple enough to correct.

That's a good point. If you turn off "Preserve slot names" in UFlash's Options menu, this should prevent any silent corruption of the main BIOS image during the update, since the flasher won't attempt to write what it thinks are the current slot descriptions to the incoming image.

Edited by flashjazzcat
Link to comment
Share on other sites

If you're really desperate I'd be happy to update the U1MB CPLD for you. I can tell you that UFLASH will successfully update an original U1MB even if it can't properly identify it to the latest version. I ended up with scrambled slots AFTER the flash (and CPLD update), but that should be simple enough to correct.

 

I'm not desperate yet, but thanks for the offer! I may take you up on it...

 

My brother and I (well, mostly him) are trying to find out if we have a version of Windows that is new enough to run on his PC, old enough to support his parallel port CPLD programmer, and can run the Xilinx software. Multivariate calculus with hardware and software, basically, but I'm sure there is a solution :)

Link to comment
Share on other sites

You can safely update to any version of Candle's BIOS, including those which have PBI functionality. If the hardware lacks PBI support, the settings will just be ignored and the machine will still function. What changed in the new BIOS is that the main BIOS depends on the IO RAM which wasn't present before the PBI was implemented in the CPLD. The old main BIOS only uses $D600-$D7FF and therefore works with the older CPLD revisions.

 

Thanks! I still need to find an image that actually contains the old BIOS, though. Is there any way to tell the difference by looking at the file?

 

I found this post by following rdea6's pointers, but the comment seems to indicate that it requires the v2 JED, and that's the earliest reference I've been able to find to a U1MB firmware download on AtariAge.

The tip about not preserving slot names is appreciated :)
Link to comment
Share on other sites

PCIe parallel ports are extremely handy in these circumstances. That's what I have to use. :)

 

I am somewhat dismayed that PCIe parallel ports are a thing which exists :P

 

Starting down that route will probably end with me buying a whole new PC for him, though. Probably better to get a USB programmer, if it comes to that :)

Link to comment
Share on other sites

Thanks! I still need to find an image that actually contains the old BIOS, though. Is there any way to tell the difference by looking at the file?

If you don't find 'ULBIOS' at offset 0x50000 in a hex editor, the ROM does not contain my BIOS. Candle's BIOS had 'ultimate' up around 0x53FF8 or so, but aside from that, no versioning information whatsoever that I can recall. Of course it would be advisable to test any ROM in Altirra prior to committing it to real hardware.

 

...the comment seems to indicate that it requires the v2 JED, and that's the earliest reference I've been able to find to a U1MB firmware download on AtariAge.

Well, you can at least be sure it doesn't contain the BIOS which relies on RAM under $D1xx, since it didn't exist until early 2015. The accompanying remark about the CPLD update dependency has thrown me a bit, however, since I don't recall Candle's BIOS ever hanging on a machine with the v.1 CPLD code. The main BIOS could not store information in $D1xx since the old PBI BIOS was able to store non-volatile information there which survived system reset and BIOS entry. The only region overwritten by the BIOS was $D600-$D7FF, which is where the display buffer and internal variables were kept. The PBI-ready BIOS would of course set extra bits in the U1MB control register which pertained to PBI operation, but I think they were simply ignored by the v.1 JED.

 

I am somewhat dismayed that PCIe parallel ports are a thing which exists :P

 

Starting down that route will probably end with me buying a whole new PC for him, though. Probably better to get a USB programmer, if it comes to that :)

For me, the PCIe parallel port simply saved me having to build another cable or shell out on a USB programmer when I got a newer PC. The card was cheap (from HK, via eBay), simply worked with built-in Windows drivers, and survives all OS upgrades. Contrast this with the not inexpensive USB EEPROM programmer which is now sitting uselessly on my desk since the latest version of Windows refuses to install its driver. :)

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

If you don't find 'ULBIOS' at offset 0x50000 in a hex editor, the ROM does not contain my BIOS. Candle's BIOS had 'ultimate' up around 0x53FF8 or so, but aside from that, no versioning information whatsoever that I can recall. Of course it would be advisable to test any ROM in Altirra prior to committing it to real hardware.

 

Right! I have actually set Altirra up with U1MB, so I should have thought of that :)

 

Looking for "ULBIOS" should be enough to go on to spot the difference, ultimate1mb-v2.rom doesn't contain that string at all.

 

The accompanying remark about the CPLD update dependency has thrown me a bit, however, since I don't recall Candle's BIOS ever hanging on a machine with the v.1 CPLD code.

 

Sounds like it'll be a bit risky to upgrade, even to an older BIOS. I feel like I've spent so long trying to find out if this is possible that I should at least try it now, though... Worst case my XEGS will be U1MB-less until we get the parallel port programmer going.

 

Contrast this with the not inexpensive USB EEPROM programmer which is now sitting uselessly on my desk since the latest version of Windows refuses to install its driver. :)

 

Plug and pray is still a thing, even after 20 years! I suppose that's why PCIe parallel ports exist. Anyway, thanks for all your help; I'll be sure to report back what happens if I decide to throw caution to the wind and update the firmware.

Link to comment
Share on other sites

Yes: I'd stop right there if I were you. The BIOS looks so old that it lacks any kind of identifying metadata and may even have most of the slot descriptions in an unrecognised location. If you can find a sightly more current ROM containing the first generation BIOS, perhaps update to that first and then see if UFlash has a better time of it.

 

Just a note, which may or may not apply to Eyvind depending on what utilities he has access to on his v1 board - my xflash.xex screen had exactly the same corruption as his. I took a chance and re-flashed the entire ROM and brought it back to normal.

  • Like 1
Link to comment
Share on other sites

Could one of you guys dump the original BIOS with the misaligned descriptions and post it here for inspection? I realize I should have asked earlier. :)

 

Done and done. I'm not sure they're misaligned as such; the OS slot descriptions are present and correct, but most of the others are filled with $ff characters (probably padding). BASIC slots 1 and 2 are the most worrisome ones.

 

U1MB-original.rom.zip

Link to comment
Share on other sites

That is a valid V1 ROM from Candle's first run. Has a Bios Signature as "BIOS ROM", two copies of Basic and the 4 OS Slots.

Read fine in The Rom Generator...

 

So it does! I'm looking at it now, hadn't thought of doing that. I'm seeing one BASIC and one XEGS game rather than two BASICs, though.

 

I've had a look at the various other ROMs I've found too, and it looks like I have three different versions of the BIOS (if the version reported by the ROM Generator is to be trusted): v0.01, which is on my original image, v0.02 and v0.03.

 

Edit: I used the ROM Generator to switch out one of the OS slots in my original ROM, but when I tested it out in Altirra, BASIC had disappeared. Could be an incompatibility with Altirra, of course, but I don't want to risk flashing it to my U1MB :)

Edited by Eyvind Bernhardsen
Link to comment
Share on other sites

Done and done. I'm not sure they're misaligned as such; the OS slot descriptions are present and correct, but most of the others are filled with $ff characters (probably padding). BASIC slots 1 and 2 are the most worrisome ones.

Thanks for that. Seems the situation is largely cosmetic since the BASIC and XEGS descriptions simply don't exist. The BIOS is so old I never even encountered it before despite the fact I wrote the PBI BIOS about five years ago. :)

 

Not sure I'll take the bait and bloat things up further by worrying about this ancient revision, since it'll require a completely different segment tree and I only have 32KB of code space to play with. ;)

Link to comment
Share on other sites

Thanks for that. Seems the situation is largely cosmetic since the BASIC and XEGS descriptions simply don't exist. The BIOS is so old I never even encountered it before despite the fact I wrote the PBI BIOS about five years ago. :)

 

Hm. Now I'm wondering if it would be safe to uflash a new OS ROM and SDX without flashing the descriptions.

 

Not sure I'll take the bait and bloat things up further by worrying about this ancient revision, since it'll require a completely different segment tree and I only have 32KB of code space to play with. ;)

 

No worries on my account, I'm trying to get away from this revision as quickly as possible :) If only there were release notes...

Link to comment
Share on other sites

Hm. Now I'm wondering if it would be safe to uflash a new OS ROM and SDX without flashing the descriptions.

To save messing around, if you have a more recent complete ROM which works, just flash the entire 512KB (by selecting the chip name in the list). This nukes everything and you won't need to worry about slot descriptions, etc.

Link to comment
Share on other sites

This is one of my older Pre Uflash and has the older menu. Not sure of the PBI bios. But you could test with Altirra [EMU] to verify..

Yes, this has the PBI stuff and the main BIOS clears out $D100-$D1BF and $D500-$D5BF on powerup after enabling the IORAM. Unless that would inherently cause issues without RAM in the same address range, it should boot with the v.1 JED. I do recall folks enabling "SIDE Hardware" in the BIOS on otherwise fully operational machines, only to discover they had no PBI capability since their board required a CPLD update. I have no means of verifying this with actual hardware, however.

Edited by flashjazzcat
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...