Jump to content
IGNORED

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


flashjazzcat

Recommended Posts

Urgh... had to swap the Amic PLCC in my 1200XL's Ultimate for an SST from one of the other Ultimate machines: the Amic decided it had had enough and started getting failed flashes, resulting in numerous brickings. I thought I had some spare SST '040s somewhere, but evidently I was mistaken. That's what comes from testing stuff like this using your best machine, PLCC extractor on hand or not. ;)

 

All's good now, though. Just tested the built-in Ultimate loader, and no disk handler there (as I expected, but I wanted to double-check). Had enough excitement for one night, anway. :o

Link to comment
Share on other sites

Latest build of flash tool:

 

uflash_test6.zip

 

Changes are numerous; I list just the main points below:

  • File selector improved, with most or all of Kyle's recommendations included. It's now possible to cursor left and right in a text box and perform the usual insertion and deletion functions. In addition, when you first tab into a text field (or when a pre-populated field has the focus when the dialog opens), the text is "selected", and typing new content will obliterate the existing text. To edit the existing text, simply cursor left or right or delete the last character in the string: this will clear the selection. This is really handy when you come out of the file list to change the search spec. Because left and right cursor keys are now registered with the text box control, they don't get passed back up to the dialog handler, so you can no longer use the left or right arrow keys to move out of a text box. Just use Tab or Shift+Tab. Default file extensions are also catered for now, error handling is a bit better, and the file mask is properly updated after switching drives. Still things to do (such as ensuring the filename buffer doesn't overflow with long directories, and I notice text selection doesn't work until the second time the selector is called), but it seems to me quite pleasant in use.
  • "Entire ROM" has been added to the slot list: this denotes the entire 512KB space on the flash ROM. Proceed with care, obviously. I found that the JEDEC_ChipErase function in Candle's library caused a bad flash on real hardware for some reason (possibly a usage error on my side), so I still iteratively erase sectors even if the entire chip is being flashed. I've tested a full 512KB flash on four different machines (one Incognito and three Ultimates), and encountered no problems so far. You can also dump the entire ROM to disk.
  • Import/Export slot description options added. Export simply sends the descriptions of the editable entries to a plain text file, while Import reads them back again - nothing more complex than that. Simply intended as a means of backing up the descriptions.
  • At Candle's request, Device->Open has been added to allow manual selection of the hardware. Be careful with this. Its main purpose is to allow folks with very old BIOSes (without ID strings) to use the flasher when previously the program would give up, having failed to find the ID string in the BIOS. So if the hardware isn't recognized automatically, you can force the use of Ultimate or Incognito offsets. If you get garbage in the slot descriptions, you'll know you picked the wrong one, although I doubt that any but the most beleaguered of users should experience confusion here. And if that user does experience confusion there, please don't complain about it. ;)
  • Generally improved RAM detection, warnings, feedback, etc.

If running the flasher from SpartaDOS X, there's no need to use "X", but please ensure you're running DOS in extended RAM, not under the OS (since the flasher uses the RAM under the OS). As a consequence of this, the flasher will always be one extended RAM bank short under SDX, and this condition is handled. The best thing to do is simply enable 1MB of RAM when using the flasher, although you can use less, depending on what you're trying to flash.

 

Lastly, this tool should work very nicely from Candle's XEX loader when a couple of issues on the other side are sorted out. I'll make any minor adjustments necessary when work on the loader is complete, as well as correcting any problems people report.

 

And I'll remind everyone that although the previous test versions have been behaving very nicely, keep your PLCC programmer to hand in case I broke something in this version... unlikely, but certainly possible. ;)

 

PS: Regarding compatibility with The ROM Generator, it might be nice to limit the editing of the slot descriptions in TRG to the description fields only, and not the titles themselves, otherwise one will routinely end up with malformed menus. The offsets into the menu entries for the starts of the description strings are:

 

Ultimate: 18 bytes (description length of 14 bytes)

Incognito: 17 bytes (description length of 15 bytes)

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

Latest build of flash tool:

 

PS: Regarding compatibility with The ROM Generator, it might be nice to limit the editing of the slot descriptions in TRG to the description fields only, and not the titles themselves, otherwise one will routinely end up with malformed menus. The offsets into the menu entries for the starts of the description strings are:

 

Ultimate: 18 bytes (description length of 14 bytes)

Incognito: 17 bytes (description length of 15 bytes)

Editing the Titles also allows Non-English users to have something more descriptive for them ;)

Link to comment
Share on other sites

Editing the Titles also allows Non-English users to have something more descriptive for them ;)

 

OK - that's all well and good (although the headings without editable descriptions remain in English, and all four "BASIC Slot" positions remain BASIC slots regardless of the text describing their content). My point, however, concerns making some distinction between the slot title and the slot description. In your editor, this is entirely arbitrary and indeed entirely optional, it being up to the user place a colon at precisely the correct point in the line, and to ensure that the four titles remain consistent, while the content descriptions vary.

 

Having - say - a separate field for title and description would ensure that regardless of what the user types, the menus remain properly aligned, with a colon between the title and the descriptions.

 

Of course, whether or not TRG keeps the titles and descriptions aligned, while it allows both to be edited, proper compatibility cannot be attained while the new flasher does not do likewise, so the whole thing is entirely academic for the moment. ;)

Edited by flashjazzcat
Link to comment
Share on other sites

its possible add to FLASH DESCRIPTION / PROPERTIES date of last change/flash? :)

If we had somewhere to store them in the ROM, or perhaps more sanely in some kind of meta file. I don't want to overload it with frills, though, and it's already a rather large application. ;)

 

hmm.. mouse driver? ;)

I wondered how long it would be... :) Actually this would require a significant re-write of the UI library. Possibly a fun project for the future, but I'd rather save such work for the GUI proper.

  • Like 1
Link to comment
Share on other sites

I don't see the need for a mouse. IF it were a desktop app that sees heavy use, AND a mouse would make it easier, then maybe a mouse would be good.

 

BUT, it's not a heavy use desktop type app, and the UI is very nice. Keyboard controls and file selectors are very well done as they are.

  • Like 2
Link to comment
Share on other sites

Device Option ^F doesn't work after option ^I has been done.. Unless Slot option N has been preformed on any name change...

 

I had forgotten to set the edited descriptions flag after importing the names. Fixed:

 

uflash_test7.zip

 

Also fixed a bug whereby the import/export file selector would fail under SDX if invoked after flashing the descriptions to ROM. :)

Link to comment
Share on other sites

 

OK - that's all well and good (although the headings without editable descriptions remain in English, and all four "BASIC Slot" positions remain BASIC slots regardless of the text describing their content). My point, however, concerns making some distinction between the slot title and the slot description. In your editor, this is entirely arbitrary and indeed entirely optional, it being up to the user place a colon at precisely the correct point in the line, and to ensure that the four titles remain consistent, while the content descriptions vary.

 

Having - say - a separate field for title and description would ensure that regardless of what the user types, the menus remain properly aligned, with a colon between the title and the descriptions.

 

Of course, whether or not TRG keeps the titles and descriptions aligned, while it allows both to be edited, proper compatibility cannot be attained while the new flasher does not do likewise, so the whole thing is entirely academic for the moment. ;)

After some thought, I think I'll keep the title & description editable as-is in TRG. This will also allow a user to use a shorter or no title so that a longer description can also be used. IMO, It just seems better to have more flexibility than to force a user to only use a rather limited space...

Link to comment
Share on other sites

After some thought, I think I'll keep the title & description editable as-is in TRG. This will also allow a user to use a shorter or no title so that a longer description can also be used. IMO, It just seems better to have more flexibility than to force a user to only use a rather limited space...

 

Nice one. Fortunately I don't see this causing any problems whatsoever.

Link to comment
Share on other sites

Or unless you make uflash compatible with TRG using 32 characters, since it's been that way since the beginning of it's creation...

I won't, because (after some thought) I see no reason to make the two tools compatible, especially if it means adopting a slot description editing strategy which I believe to be basically flawed. Now, no-one is more surprised or dismayed than me to discover today that the competing ROM editor (Atari8Warez's Ultimate ROM Builder) coincidentally adopts the same bounded description editing method (14 characters, with fixed slot names) which I considered sensible from the outset (and this without reference to either extant ROM editing tool at the initial design stage). That is surely a bitter and ironic pill to swallow for all concerned.

 

I'm afraid the multi-language support reasoning is by-the-by for me, since it's been a non-issue with testers, and - moreover - terms like "BASIC" and "OS" remain intelligible pretty much the world over, in the computing field at least. Meanwhile, uneditable TRG titles like "SpartaDOS X" and "System" somehow fail to confound non-English speakers. ;)

 

I was always a staunch advocate of TRG, especially when it inspired a competing tool developed out of egoism and spite, and offering no extra (indeed less) functionality that TRG. However, it's only recently, after developing a tool which I suddenly urgently needed, that I have considered closely the different approaches offered to the same problem. When lodging feature requests with developers, I'm afraid responses along the lines of "You know: I think I'll keep doing it my way, thanks" quickly make me lose interest, especially when the aim of the suggestion was to reach some kind of mutually advantageous compromise and to ensure compatibility in a way which best benefits the user.

 

But, as I say, I don't think it will prove to be an issue in any case, the primary objective (as already written) of uflash being to make full chip flashes unnecessary in all but exceptional situations.

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