Jump to content
IGNORED

New (alt) BIOS for Ultimate 1MB/Incognito


Recommended Posts

sorry, but thats developmnent reality

 

testing.. testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..testing..

and then release

No software is bug free.

Your post is screwing forum page formatting in newest Firefox on OSX.

Link to comment
Share on other sites

FJC, I've updated my U1MB and I'm so impressed! Especially your fast SIO implementation (I can use fast SIO with Stock OS finally) and the loader is also great.

 

I've only one feature request (a minor thing): when I start the loader by pressing L it jumps to the rocket tab and "No Entries" is displayed (probably because right now my APT partition is the first, then FAT32 then FAT16). I've to move to the Flash Card tab and select FAT32 partition, then the contents are displayed. It'd be cool to be able to define which partition is displayed as the default one and save it in the profile.

 

Cheers,

W.

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

I've only one feature request (a minor thing): when I start the loader by pressing L it jumps to the rocket tab and "No Entries" is displayed (probably because right now my APT partition is the first, then FAT32 then FAT16). I've to move to the Flash Card tab and select FAT32 partition, then the contents are displayed. It'd be cool to be able to define which partition is displayed as the default one and save it in the profile.

 

Thanks - it's a good suggestion which ProWizard also lodged during testing. I'll see what I can.do.

Link to comment
Share on other sites

It'd be cool to be able to define which partition is displayed as the default one and save it in the profile.

In order to keep things as simple as possible, I've been playing with a mechanism which saves a CRC checksum of the entire MBR partition chain in the NVRAM config and uses this to detect if the card has been changed. If it is, the current (saved) partition entry number is valid and that partition is opened as the default. If not, it's assumed the partition structure has changed or a different card is present and we revert to partition 0 as the default. Seems to work OK. This way, the loader always starts with the partition you last had open.

 

A side-effect of this (since the config is saved automatically) is that changes to loader settings are immediately remembered, but that just gets rid of another step (saving the config), so might actually be an improvement.

 

Anyway: I'll tidy this up some and upload it tomorrow.

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

It read the new BIOS okay, seemed to be going through its writing stage properly, but then the 'progress bar' jumped to the right hand side of the screen and the 'dialog box' holding it shrank down to be only large enough for the text. It completed, the red bar at the base came and went. Finally a scroll of garbled text popped up at the very bottom of the screen which caused the UFlash display to scroll up by a few lines. The text written here said something about 'System Error' with an alphanumeric string; the whole thing repeated enough times to cause the up-scroll.

I was able to - inadvertently - duplicate this exact crash today when updating the loader on my 1200XL. Of course it was non-fatal in this case, since the (4KB) BIOS sectors were not erased, but in any case it's repeatable somehow. I would normally blame address line problems (one SIDE2 cart in this machine causes a lock-up after sector erasing, another doesn't), but since the symptoms seem almost identical to yours, this certainly warrants further investigation. It seems that page zero gets corrupted somehow and parts of SDX in low RAM are overwritten; the only question is what causes it.

Link to comment
Share on other sites

I was able to - inadvertently - duplicate this exact crash today when updating the loader on my 1200XL. Of course it was non-fatal in this case, since the (4KB) BIOS sectors were not erased, but in any case it's repeatable somehow. I would normally blame address line problems (one SIDE2 cart in this machine causes a lock-up after sector erasing, another doesn't), but since the symptoms seem almost identical to yours, this certainly warrants further investigation. It seems that page zero gets corrupted somehow and parts of SDX in low RAM are overwritten; the only question is what causes it.

 

Very interesting FJC! I wonder if there is some kind of obscured race condition going on? They can often cause seemingly intermittent faults like these.

Link to comment
Share on other sites

What's odd is that it seems a new problem (to me, at least). I've never had any problems with this machine using the same flashing setup in nearly two years. I'll have to check, therefore, that I haven't introduced some incredibly obscure intermittent bug. Everything's pretty procedural so race conditions should be an impossibility, unless an ISR is playing up, clobbering some page zero RAM. But all interrupts are disabled during flashing anyway, so it's more likely something got corrupted by software immediately prior to the flash, or by hardware during the flash. The key will most likely be triggering the same issue in emulation. If this can't be done, it's some hard to trace hardware quirk.

Link to comment
Share on other sites

What's odd is that it seems a new problem (to me, at least). I've never had any problems with this machine using the same flashing setup in nearly two years. I'll have to check, therefore, that I haven't introduced some incredibly obscure intermittent bug. Everything's pretty procedural so race conditions should be an impossibility, unless an ISR is playing up, clobbering some page zero RAM. But all interrupts are disabled during flashing anyway, so it's more likely something got corrupted by software immediately prior to the flash, or by hardware during the flash. The key will most likely be triggering the same issue in emulation. If this can't be done, it's some hard to trace hardware quirk.

 

At this stage I guess it is impossible to say what to do in order to avoid it happening? What I mean is - would accessing the image through SIO2SD be safer than using SIDELoader or MATR?

Link to comment
Share on other sites

I was using SIO2PC at the time, and have no reason to suspect problems with the file system driver. I can describe events prior to the problem occuring: I changed SIDE2 carts, removing the one I've been using in the 1200XL for over a year, and temporarily replacing it with another for testing of the SIDE-based loader. When I next came to update the loader in the Ultimate ROM (last night), I found that the flasher hung on "Erasing...". After some head-scratching, I swapped the SIDE2 carts over again (so I was again using the one I'd been using for over a year), and all was well. It was only today, on two separate occasions, that flashing of the loader failed in the manner you described. The only recent change to the flashing software was a slight alteration to the order of hardware detection, which in itself should not cause a problem. The only other time I've experienced flashing issues with the 1200XL has been after moving the machine around a lot and causing - say - the VBXE adapter to work lose in the socket, or after repeated insertion and removal of the PLCC flash ROM in the Ultimate 1MB (before convenient flashing tools were available), causing marginal contact in the PLCC socket. The former was fixed by reseating the VBXE, and the latter fixed by pulling at the PLCC socket pins a little. Flash ROM hasn't been removed in a while, but the machine has been moved and carts inserted and removed, so I'll try reseating things and cleaning cart contacts, etc, first.

Edited by flashjazzcat
Link to comment
Share on other sites

I was using SIO2PC at the time, and have no reason to suspect problems with the file system driver. I can describe events prior to the problem occuring: I changed SIDE2 carts, removing the one I've been using in the 1200XL for over a year, and temporarily replacing it with another for testing of the SIDE-based loader. When I next came to update the loader in the Ultimate ROM (last night), I found that the flasher hung on "Erasing...". After some head-scratching, I swapped the SIDE2 carts over again (so I was again using the one I'd been using for over a year), and all was well. It was only today, on two separate occasions, that flashing of the loader failed in the manner you described. The only recent change to the flashing software was a slight alteration to the order of hardware detection, which in itself should not cause a problem. The only other time I've experienced flashing issues with the 1200XL has been after moving the machine around a lot and causing - say - the VBXE adapter to work lose in the socket, or after repeated insertion and removal of the PLCC flash ROM in the Ultimate 1MB (before convenient flashing tools were available), causing marginal contact in the PLCC socket. The former was fixed by reseating the VBXE, and the latter fixed by pulling at the PLCC socket pins a little. Flash ROM hasn't been removed in a while, but the machine has been moved and carts inserted and removed, so I'll try reseating things and cleaning cart contacts, etc, first.

 

In that case it looks like its the action of flashing the data on to the chip that is causing the problem and not the getting of the data from its - varied, potential - storage device...

 

Is it possible to flash the ROM through the JTAG interface on the U1MB itself? I know on some devices this can be done - like the XB360 for instance.

Link to comment
Share on other sites

Well, I just opened up the 1200XL and the VBXE Antic adapter had been levered up so that it sat loose in the socket. Let's see if reseating fixed the issue, but whatever happens we have at the least reproducible symptoms of intermittent problems caused by flaky address lines, even if software turns out to be OK.

 

EDIT: Good. I managed to reproduce the problem again after reseating the adapter, so it's probably software related. Flashing appears to work immediately following a cold power-up, but not after a forced coldstart or warmstart, so I'll check tomorrow to see if there's some uninitialised RAM issue that's crept in (although that's still puzzling in itself).

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

Got somewhere with this. After testing and encountering no issues with the SIDE cart removed, I found that the problem is not with the flasher at all but with PBI BIOS 1.5. The PBI BIOS writes $80 to $D5E4 on cold powerup in order to disable the SIDE's external cart. This doesn't happen on a warmstart, however, or even a forced cold boot. Since the flasher probes CCTL a lot, it appeared that SIDE's external cart made some kind of reappearance on the next reset or after performing a forced reboot from the BIOS screen. The next time UFLASH was run, all kinds of weird behaviour occurred and flashing consistently failed. Of course, this issue helpfully does not appear in emulation. ;)

 

Simply ensuring SIDE's external cart is disabled on every system reset (regardless of cold power-up, forced reboot, etc) appears to have fixed the problem here. I attach a PBI BIOS with this small update.

 

ultpbi_1.5.1.zip

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

Got somewhere with this. After testing and encountering no issues with the SIDE cart removed, I found that the problem is not with the flasher at all but with PBI BIOS 1.5. The PBI BIOS writes $80 to $D5E4 on cold powerup in order to disable the SIDE's external cart. This doesn't happen on a warmstart, however, or even a forced cold boot. Since the flasher probes CCTL a lot, it appeared that SIDE's external cart made some kind of reappearance on the next reset or after performing a forced reboot from the BIOS screen. The next time UFLASH was run, all kinds of weird behaviour occurred and flashing consistently failed. Of course, this issue helpfully does not appear in emulation. ;)

 

Simply ensuring SIDE's external cart is disabled on every system reset (regardless of cold power-up, forced reboot, etc) appears to have fixed the problem here. I attach a PBI BIOS with this small update.

 

attachicon.gifultpbi_1.5.1.zip

 

Very interesting analysis work FJC! Does the fix itself have any knock-on consequences of its own? By which I mean; was the $D5E4 address previously not written on warm or forced-cold resets for a specific purpose?

Link to comment
Share on other sites

Got somewhere with this. After testing and encountering no issues with the SIDE cart removed, I found that the problem is not with the flasher at all but with PBI BIOS 1.5. The PBI BIOS writes $80 to $D5E4 on cold powerup in order to disable the SIDE's external cart. This doesn't happen on a warmstart, however, or even a forced cold boot. Since the flasher probes CCTL a lot, it appeared that SIDE's external cart made some kind of reappearance on the next reset or after performing a forced reboot from the BIOS screen. The next time UFLASH was run, all kinds of weird behaviour occurred and flashing consistently failed. Of course, this issue helpfully does not appear in emulation. ;)

 

Simply ensuring SIDE's external cart is disabled on every system reset (regardless of cold power-up, forced reboot, etc) appears to have fixed the problem here. I attach a PBI BIOS with this small update.

 

attachicon.gifultpbi_1.5.1.zip

Sorry if I am being dense. Does this only effect SIDE 1 hardware?

Link to comment
Share on other sites

Thanks - I'll go ahead and do the update then.

 

Ah - one second Steven!!! I communicated badly there - I mean't; Nope, it doesn't only effect SIDE1 - it effects SIDE2 also as that is what mine is and I think I am so far the only person this has hit other than FJC during his fault analysis phase using the 1200XL.

 

I guess the safest thing to do is unplug the SIDE2 first before you flash - and do so via your 'SIO2xxx' device of choice.

 

Again - my apologies!!!

Link to comment
Share on other sites

 

Ah - one second Steven!!! I communicated badly there - I mean't; Nope, it doesn't only effect SIDE1 - it effects SIDE2 also as that is what mine is and I think I am so far the only person this has hit other than FJC during his fault analysis phase using the 1200XL.

 

I guess the safest thing to do is unplug the SIDE2 first before you flash - and do so via your 'SIO2xxx' device of choice.

 

Again - my apologies!!!

No prob - I have a SIDE2. I will do the update tomorrow - the PAL machine now lives downstairs.

Link to comment
Share on other sites

Flashing issues following a warmstart or forced coldstart are exactly what the PBI update fixes. To apply, run UFLASH immediately after powerup (to SDX) and then power cycle again, or simply disconnect the SIDE cart prior to flashing if you can't manage that for some reason.

 

Just finished updating four Ultimate 1MB machines here: 1200XL, 600XL, 800XL and 130XE straight off the SIDE2 cart with no problems. Mixture of Lotharek/Candle Ultimate boards, Amic and SST flash ROMs, VBXEs, stereo Pokeys, etc, etc. I updated main BIOS, Loader and PBI BIOS following a cold power up, pressed Help+Reset to go back to the BIOS, "C" to cold start, back to SDX, ran UFLASH again, reflashed the loader, and repeated same several times on all machines. No lock-ups or failed flashes, so the particular issue Morelenmir experienced which I was able to consistently reproduce would seem to be fixed by PBI BIOS 1.5.1.

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