Jump to content
IGNORED

In-place Ultimate 1MB / Incognito ROM editor and flash tool


flashjazzcat

Recommended Posts

I finally got around to connecting up my Ultimate1Mb atari800xl and Uflash program worked without any problems like my Incognito had. I did a re flash of the SDX rom even. It was updated a little slower than I was expecting but after reboot everything was good...

Link to comment
Share on other sites

today testing, i trying changing some ROMS (turbo loaders, etc).. working nice :)

i tried change SDX - > DIAMOND OS, but not working.. (inv.file signature)

 

THANK YOU FOR THIS TOOL :)

Edited by w1k
Link to comment
Share on other sites

Thanks Roy, Viktor, and Kyle. This feedback is really invaluable.

 

I did a re flash of the SDX rom even. It was updated a little slower than I was expecting but after reboot everything was good...

Yes, no matter how fast the file loads, flashing 256KB takes a little time. I think Candle's JEDEC flash code is quite methodical and thorough, and doesn't use an extra verification pass. It's doing many complex bitwise operations 262,144 times over. ;)

Link to comment
Share on other sites

Okay, finally found some time to test this and it seems to work rather well :)

 

Tested on Incognito and both U1MB chip versions.

What I did was to make a blank SDX 720k ATR and create IGTO and U1MB directories, then dumped SDX, GUI, BIOS and PBI ROMs to their perspective directories, then re-flashed SDX on Incognito and both U1MB chip versions...

 

Tried running the tool from Incognito's Side Loader, but wouldn't always recognize what Hardware it was running on. Plus, since SDX wasn't booted you couldn't use any drives including D1: or D2: ...

 

On U1MB, I see that you are combining the BIOS and Side Loader together to make a 32k ROM. Wouldn't this get a bit confusing when you only want to update just one of these ROMs? or have you proposed this change to Candle? I suppose I could add an option to The ROM Generator that asks the user if they want to combine these two together when they choose to save either one...

Link to comment
Share on other sites

I've discussed all these points a few posts back Jay. Disk access is only possible from the disk-based SIDE loader at the moment, and even then it's buggy and does short reads. I also proposed we consult Candle on the issue of coalescing the loader and BIOS images. I expect it'll be best to just keep them separate in Ultimate, as in Incognito.

 

Will look into the hardware detection issue.

 

Oh... almost forgot: thanks for the test feedback! :)

Edited by flashjazzcat
Link to comment
Share on other sites

Right: I've changed things so the BIOS and SIDE loader are separated in Ultimate (as they are with Incognito), and PBI BIOSes are no longer padded. This means the distributable PBI ROM images will be:

 

8KB (4 x 2K PBI banks) for Ultimate PBI

12KB (6 x 2K PBI banks) for Incognito PBI

 

Of course PBI updates can also be accomplished using the stand-alone PBI flashers I uploaded in the APT tools thread.

 

Colleen OS ROMs also have the 2KB padding stripped off the front. Getting rid of the padding in dumps was much easier than coping with the absence of padding when flashing: I embarked on a complete rewrite of the offset tables to handle these special cases, before realizing it would actually be more economical to simply write custom code for the PBI and Colleen OS slots instead of pulling everything to pieces just for the sake of some awkwardly positioned content.

 

In any case: it all seems to work nicely; dumped, unpadded PBI ROMs have been reflashed and all is well. Incognito testing is not fun at the moment since the Return key on my 800 only works half the time, and when it does work it sticks, so I'll have to take a look at it over the weekend.

 

The file selector now reflects the SDX default drive (indeed, the default drive of any SpartaDOS flavour), and no longer presents a list of hearts for offline drives.

 

I want to double check the PBI slots again tomorrow, and do some more tweaks to the file selector before uploading the next build. ;)

 

I may still support the padded PBI BIOSes as well, since these are very handy when editing the ROMs using a hex editor.

Edited by flashjazzcat
Link to comment
Share on other sites

Jay: regarding the inability of the program to detect the Incognito hardware when run from the SIDE loader: I'm puzzled by the fact you said this is an intermittent issue. Does your Incognito have the latest CPLD update? I would have blamed the "JED bug", which meant that applications run from the loader weren't able to bankswitch the ROM. However, the program is supposed to check for this bug and in any case I'd have expected a 100 per cent failure rate were the JED bug to blame.

Edited by flashjazzcat
Link to comment
Share on other sites

I'll double check, but I'm sure I updated both Incognito boards when Candle released the last update that allows flashing from the SIDE loader.

What worked was to use the 2nd release from a cold start, then using the 3rd release...

I'm just getting up, so I'll check that in the next hour...

Link to comment
Share on other sites

Okay, verified cpld as the Bios and SIDE loader updates on Oct 4th & 6th work from the SIDE loader.

 

What I found was that if SDX had a chance to boot first (No drivers loaded from config.sys or autoecec.bat), then pressing Fuji key+reset then "L" from Bios Menu, the hardware was not recognized when running the uflash tool.

 

But if I powered up straight to the Bios Menu, then pressing "L" and running the uflash tool, then the hardware was recognized...

Link to comment
Share on other sites

Can't get it to run at all from the loader on my 800. Sets the menu bar and main window up and then hangs when interrogating the hardware. Oh for emulation. ;)

 

EDIT: Fixed. Interestingly, the code I had to add to stop the program crashing on the first VBL when loaded from the Ultimate SIDE loader is exactly what was causing it to lock on the first VBL when loaded from the Incognito loader - namely:

 

	mva TRIG3 GINTLK ; SIDE loader fix	

So, skipping this after Incognito is detected fixed the lock-up. I had to add this code for Ultimate because TRIG3 and GINTLK were getting out of sync as soon as the base register was touched. Weird. However, the program IDs the hardware correctly no matter whether or not I let SDX boot first (and the GINTLK fix has nothing to do with that).

 

As soon as the disk handler works in the stand-alone loader, things should be very convenient indeed. :)

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

Won't have any more time to work on this tonight, so here's the latest version with separate BIOS/Loader slots in Ultimate, and the padding removed from the Colleen OS slots and the PBI BIOS ROMs:

 

uflash_test4.zip

 

I've also attached unpadded versions of the PBI BIOSes for testing and comparison with dumped data (note this one won't accept padded PBI ROMs yet).

 

The GINTLK fix has been bypassed under Incognito, so the flasher should run from the loader, but you currently can't much with it after that.

 

The SDX default drive issue Kyle mentioned has been fixed, but there's still some more improvements to be made to the file selector (the most obvious being that the drive drop-down's selected entry should automatically reflect the logged drive).

 

Testing hasn't exactly been exhaustive, so proceed with care. ;)

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

It's looking good on my Incognito.

 

In addition to the file selector drive drop down, it would be nice to have the cursor default to the filename box.

Currently, the user must press shift-tab then backspace over *.ROM.

If the cursor were placed over the *, then the user could simply select the slot, hit D, type the name, then hit Enter.

 

For loading of .ROM, it may be better to start out as-is with File List selected.

 

Also, if the filename box were 1 character wider, there would be no need to scroll the text right/left for a full 8.3 filename.

 

Just a few ideas. Overall, I think it's really good, and the above issues are not that important.

 

Link to comment
Share on other sites

Tested uflash test#4 on Incognito, running from SDX and D1: on SIO2SD runs great!

 

When the tool is ran from the SIDE Loader, it now recognizes the hardware, but when you choose the PBI ROM from drive D1: it shows the progress bar incrementing, but without actually reading anything from D1: (the PBI ROM is also located on the Fat32 partition ). This results in a message "Incorrect file length: was 0 kb; expected 12 kb. Not sure if it was trying to read the file from the Fat32 partition or actual D1: ?

Link to comment
Share on other sites

Tested uflash test#4 on Incognito, running from SDX and D1: on SIO2SD runs great!

Good stuff!

 

When the tool is ran from the SIDE Loader, it now recognizes the hardware, but when you choose the PBI ROM from drive D1: it shows the progress bar incrementing, but without actually reading anything from D1: (the PBI ROM is also located on the Fat32 partition ). This results in a message "Incorrect file length: was 0 kb; expected 12 kb. Not sure if it was trying to read the file from the Fat32 partition or actual D1: ?

Heh... again, I warned about this bug already a few posts back. ;) Stand-alone SIDE loader does indeed map the FAT32 partition as D1:, but in my tests, the file read was short, suggesting that the loader's mini-DOS loses a few bytes during the read. I PM'd Candle about this already, but I guess we'll have to wait till he gets a chance to look at the problem.

Link to comment
Share on other sites

Good stuff!

 

 

Heh... again, I warned about this bug already a few posts back. ;) Stand-alone SIDE loader does indeed map the FAT32 partition as D1:, but in my tests, the file read was short, suggesting that the loader's mini-DOS loses a few bytes during the read. I PM'd Candle about this already, but I guess we'll have to wait till he gets a chance to look at the problem.

Just reporting my findings as I wasn't sure if you fixed that in this update ;)

 

Okay, just read: "the flasher should run from the loader, but you currently can't much with it after that."

Guess I was in too much of a hurry to test :)

 

On another note (maybe for Candle): Just tried it on the U1MB and SIDE Loader, this will try to interrogate D1: but doesn't show any files.

On U1MB it does make the farting sound when interrogating D1:, but silent on Incognito...

Link to comment
Share on other sites

Well, I finally got off my backside and tested this in Incognito myself. The stand-alone (disk-based) SIDE loader won't even find the FAT on my CF card, so I abandoned that and tried the built-in loader. I was pleasantly surprised to see that the ROM-based loader has the disk handler built-in; it ran uFlash OK, but the PBI BIOS read failed.

 

Now, there was a bug in the running byte counter for the "special" slots, which explains "0KB; expected 12KB". I've fixed that:

 

uflash_test5.zip

 

However, this is purely cosmetic: it now reports 10K of 12K read when run from the loader, so the disk handler is clearly losing some bytes of the file.

 

The flasher doesn't rely on returned buffer sizes in the IOCB (it keeps a separate running count), so we can probably discount any bugs there. EOF is simply being hit too soon for some reason.

Edited by flashjazzcat
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...