Jump to content
IGNORED

Ultimate 1MB, Incognito, 1088XEL and SIDE/SIDE2 Firmware Update Released


Recommended Posts

Can I flash U1MB from Sdrive Max ? It's just a better SIO2SD so should work ?

 

I'm confused. I downloaded the zip file, copied the Ultmate1MB_Full.atr file to my SD card, put it in my brand new Sdrive Max, the ATR loads but it says it's waiting for SDX cartridge.... and then does nothing ?

 

What is SDX cartridge, don't think I have one ;)

 

[EDIT] O wait...that must be Sparta DOS X ?

O wait.....I overlooked it said I also have to enable SpartaDos X......duh....

Maybe the word "cartridge" would be better left out in those texts ? Put my on the wrong track ;)

Flashing as we speak :D

 

Oh and my second donation is on it's way from the Far East....hope it will be useful for you :D

Edited by Level42
  • Like 4
Link to comment
Share on other sites

Jon,

 

Not sure if you want it in this thread but since it looks like it is a "general" problem:

 

I don't think this version of the firmware works in hybrid machines, that is f.i. a PAL machine with a NTSC ANTIC in it.

 

I was first very very glad to not see the "weird" behavior of the earlier firmwares with AntiX that made it switch a couple of times at power-up. Now, I am always getting the U1MB boot up screen and it "goes" to the first (original) ANTIC at power up.

 

However, as soon as I change the Device to Enabled (which makes AntiX switch to my NTSC ANTIC and select save and boot, I get a black screen after the U1MB boot screen and the machines seems to hang (however I _can_ get back into the U1MB menu with help-reset.

What is even stranger is that sometimes when I switch and select save and exit (instead of boot) it DOES work OK in NTSC....

 

Just a heads up...I know AntiX is not (fully) supported by your firmware yet....and may never will...but it feels you are "that" close to tackle it ;)

Edited by Level42
Link to comment
Share on other sites

I'm not responsible for the wording of the DLT flashers. They always use "cartridge" to refer to the SDX ROM regardless of whether it's a physical cartridge or not. SDX works like a cartridge on U1MB so technically the wording is correct, and I'm not sure what one would use instead.

 

As for "hyrid" machines: explicit support is provided for machines with mixed PAL/NTSC ANTIC and GTIA (this is an improvement over prior versions, which could not accurately report such setups), but no attempt has yet been made to support switching between a PAL and NTSC ANTIC on the fly. I regard switching ANTIC in this manner as a rather drastic proposition and despite the fact you kindly sent me one of your AntiX boards, I haven't yet had time to install it in a machine and test it. We discussed extensively in the past the potential issues surrounding on-the-fly switching in this way, but in any case I believe it's inaccurate to say that the firmware has an issue with a machine with NTSC GTIA and PAL ANTIC (or vice versa), providing AntiX is not present.

 

Thanks in advance for any donation, of course, and I'll try to find the time to experiment with AntiX over the next week or so. Unfortunately I'm blighted my a minor health issue at the moment, so it's not always easy to get motivated to do more on a firmware update which already took eighteen months to complete. But I will try. ;)

  • Like 4
Link to comment
Share on other sites

Am I doing something wrong? I have been using my U1MB for all of two days so I most likely am. Try as I might, I could not get the UFLASH.XEX to load properly via SIO2SD all by itself. Eventually what I did was to create an ATR containing the UFLASH.XEX and various OS and Basic ROMs that I wanted and loaded it that way. Everything worked with this method but is there a way to bypass this two-step process and just use the UFLASH.XEX directly with a SIO2SD? Or do I need a Side2 cart in order to accomplish this? Thanks for any info.

Link to comment
Share on other sites

UFLASH requires a file system in order to load any files, so even if you could manage to load the XEX directly via SIO2SD, you couldn't subsequently do anything useful with it. This is pretty much true of any application which works with files. All you need to do is place one of the supplied ATRs on the SD card and mount it on drive 1.

  • Like 4
Link to comment
Share on other sites

Figured out the issue with the AntiX board. Since switching from one ANTIC to another triggered a hard crash for no obvious reason, I began to entertain the idea of spontaneous NMIs happening as the ANTICs were swapped over on the bus. I noted that NMIs are disabled at this point, which is important, since the new firmware uses the VDSLST and VVBLKI vectors instead of hard-coding the interrupt service routines into ROM (partly for the purpose of TurboFreezer compatibility). Both vectors are zeroed out by this point, so an unwanted NMI would certainly cause a hard crash. And sure enough, pointing VVBLKI to a register pull/RTI sequence appears to fix the issue. It appears that the NMI pin is pulled low as AntiX swaps ANTICs on the bus, and since the address space of the incoming IC is not initialised, we get a spontaneous jump through the NMI vector with D7 of NMIST = 0.

 

Should be able to nicely support AntiX via a plugin now. :)

  • Like 11
Link to comment
Share on other sites

Figured out the issue with the AntiX board. Since switching from one ANTIC to another triggered a hard crash for no obvious reason, I began to entertain the idea of spontaneous NMIs happening as the ANTICs were swapped over on the bus. I noted that NMIs are disabled at this point, which is important, since the new firmware uses the VDSLST and VVBLKI vectors instead of hard-coding the interrupt service routines into ROM (partly for the purpose of TurboFreezer compatibility). Both vectors are zeroed out by this point, so an unwanted NMI would certainly cause a hard crash. And sure enough, pointing VVBLKI to a register pull/RTI sequence appears to fix the issue. It appears that the NMI pin is pulled low as AntiX swaps ANTICs on the bus, and since the address space of the incoming IC is not initialised, we get a spontaneous jump through the NMI vector with D7 of NMIST = 0.

 

Should be able to nicely support AntiX via a plugin now. :)

 

Would the plug-in be compatible with Incognito's firmware?

  • Like 1
Link to comment
Share on other sites

 

Would the plug-in be compatible with Incognito's firmware?

 

Sadly it doesn't look like it will work out after all....Jon has been trying very hard. I'm not going to try to explain it as I don't understand the fine details about the boot-up process etc.

AntiX is a pretty dumb thing and you need to think of it as a hard switch. This has the advantage that it is completely transparant to the A8 machine (it doesn't "know" AntiX is there) but this also has the disadvantage of not being able to control it in a more advanced way. It was initially designed to only be switched with a mechanical switch during power-off. This works 100% with everything I have thrown at it. Having the U1MB control AntiX was a nice "add-on" idea but due to the nature of AntiX' design, it proved (close to?) impossible to implement it in the much more advanced firmware that Jon created for U1MB.

 

Jon, if I worded this incorrectly please correct me ....

Edited by Level42
Link to comment
Share on other sites

Would the plug-in be compatible with Incognito's firmware?

The Incognito firmware does not support plugins at all, for a couple of good reasons. Firstly, Incognito has no general purpose IO pins, so there's no way to (for example) control the AntiX switching mechanism. Incognito could not even turn stereo POKEY on and off as the U1MB does. Secondly, the self-test ROM area (which is mapped under the hardware registers) is NOT accessible while the configuration is unlocked on the Incognito. This same region quite happily maps to $5000 on the U1MB while the configuration is unlocked, allowing BIOS code to be stored there. But that ROM area is completely inaccessible to the Incognito firmware.

 

So: even if the Incognito firmware were not down on ROM to the tune of 2KB, there are no IO pins available for plug-in control.

 

Yes, a bunch of .xex DO load a lot faster (among other very nice addtiions).

I'm glad to hear the improvement is noticeable. I appreciate that many new features are not immediately obvious, being - as it were - 'under the hood'.

 

Sadly it doesn't look like it will work out after all....Jon has been trying very hard. I'm not going to try to explain it as I don't understand the fine details about the boot-up process etc.

I'm not sure whether the fact I was testing AntiX on a 1088XEL (necessarily, since this is the only U1MB-equipped machine I have here from which VBXE can be temporarily removed with ease; I currently have no U1MB machine which doesn't also have VBXE installed) was exacerbating problems (it shouldn't), but when I noticed that switching ANTICs on the fly was causing the U1MB NVRAM configuration to repeatedly become invalid (resulting in 'Profile 1 reset!'), I realized that this kind of dynamic switching is going to be hard to get right and difficult to guarantee working out in the field. Perhaps when I get the spare U1MB installed in another machine, I can look at this again and have better luck.

 

Candle's original BIOS (as far as I can recall) did not write to the auxiliary register at $D381 (the lower four bits of which control the four IO pins on the U1MB) until the last moment before the OS is initialised (using the value derived from NVRAM, which is read on power-up and upon every system reset). The new firmware, however, manipulates the bits of the same register in order to establish such things as whether any attached Stereo POKEY device is actually under software control, whether VBXE is present and under software control, etc. Indeed, one of the first things the firmware now does is to write zero to $D381 to ensure every device under its control is in the default state. When AntiX is connected to one of the IO pins, this has the effect of momentarily reverting to the primary ANTIC on system reset even if the secondary ANTIC has been selected and is active. Shortly afterwards, the ANTICs may be swapped yet again as the proper configuration value is written to the auxiliary register.

 

Now, it's clear that switching from one ANTIC to another causes a measurable amount of bus disturbance; certainly enough to trigger an unwanted NMI the moment the new chip arrives on the bus. This is perhaps to be expected, since the value of NMIEN is indeterminate at this stage (despite the fact NMIs are already disabled on the chip which previously occupied the same address space). I wrote previously that the NMI issue had been dealt with by ensuring the VDSLST and VVBLKI (both used by the new firmware) point to proper interrupt exit code during the ANTIC transition (Candle's BIOS hard-coded the NMI handler address in ROM, and while that was good enough for his purposes, I needed the RAM vectors).

 

Unfortunately, fixing the NMI crash is only half the story. Since switching ANTIC's evidently causes sufficient disruption to (for example) disturb proper SPI communication with the DS1305 RTC chip, support for AntiX would at the very least require BIOS changes outside of the plug-in realm. It's clear that the amount of ANTIC switching needs to be kept to a minumum. One way to accomplish this would be to mask out the relevent bit of $D381 so that its current state is carefully preserved unless it's actively being changed (when the user has selected the other ANTIC rebooted the system).

 

In making these changes, I could still not be confident that a) the code would work on every system, and b) that results would be acceptable. For instance, when testing AntiX in the 1088XEL, I noted that the boot screen suffers a nasty glitch when transitioning from one ANTIC to another during the boot phase. This is pretty much unavoidable when controlling the device via software, since the system will invariably boot with the primary ANTIC selected until the U1MB firmware switches in the secondary chip.

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

Hello, i updated my u1mb to new version and all looks very nice, but i have rapidus and i don't see option rapidus on/off.. where is it. It's important option, because give possibility to use cartriges with rapidus.. no conflict.. regards

To expand on the previous answer a little: you'll find a Plugins folder in the U1MB firmware release archive, and inside that folder is a file called RAPIDUS.ROM. Flash that 1KB file to the 'Plugin' slot using UFLASH. The Rapidus plugin expects the GND pin of Rapidus' 3-pin header to be connected to the S0 connector on the U1MB's 4-pin header.

 

You may (if you're a SIDE user) also wish to check out the RAPIDISK.SYS driver for SDX which is located on the Toolkit ATR. Read the Toolkit manual to find out more.

 

I'd like to take the opportunity to extend special thanks to those who have made donations since the release of the latest U1MB/Incognito/SIDE firmware update, especially in light of the $100 donation I discovered this morning. I realize I have jumped from one project to another over the years and left some things half-completed, but I was determined to see the U1MB/Incognito/SIDE firmware project through to a 'completed' state owing the fairly large user-base and the exceptional quality of the hardware. It's clear from the reaction thus far that this was time well spent.

 

Thank you again.

  • Like 5
Link to comment
Share on other sites

I'd like to take the opportunity to extend special thanks to those who have made donations since the release of the latest U1MB/Incognito/SIDE firmware update, especially in light of the $100 donation I discovered this morning. I realize I have jumped from one project to another over the years and left some things half-completed, but I was determined to see the U1MB/Incognito/SIDE firmware project through to a 'completed' state owing the fairly large user-base and the exceptional quality of the hardware. It's clear from the reaction thus far that this was time well spent.

 

 

I just sent in my donation- I missed all the lead-up to your version 1.x and then 2.x- I've been able to enjoy the v2 since I received my 1088XEL (from MacRorie) - but the journey so far has been amazing. I can't believe how you've transformed the experience of the A8 with your software.

 

Here is to keeping motivated and working and using your amazing talent for the benefit of all the U1MB users out here!

  • Like 4
Link to comment
Share on other sites

And if you signed up for Patreon - https://www.patreon.com

 

I would love to kick in $10 a month to keep you motivated! You just need to find 10 or 20 other people to send you $10 a month and that should help with motivation.... at least I hope it would.

 

Lump sums are good, but the Patreon model is something i like and I support a number of individuals each month using that platform.

  • Like 3
Link to comment
Share on other sites

 

I just sent in my donation- I missed all the lead-up to your version 1.x and then 2.x- I've been able to enjoy the v2 since I received my 1088XEL (from MacRorie) - but the journey so far has been amazing. I can't believe how you've transformed the experience of the A8 with your software.

 

Here is to keeping motivated and working and using your amazing talent for the benefit of all the U1MB users out here!

 

Thank you so much. I'm absolutely humbled by your generosity. Personal circumstances have been rather difficult for some time, but there's light at the end of the tunnel (I won't say too much for fear of jinxing things). In the meantime, the support I'm receiving is making a very measurable difference. I cannot overstate that.

 

Sincere thanks again (I will reply by email as well).

 

And if you signed up for Patreon - https://www.patreon.com

 

I would love to kick in $10 a month to keep you motivated! You just need to find 10 or 20 other people to send you $10 a month and that should help with motivation.... at least I hope it would.

 

Lump sums are good, but the Patreon model is something i like and I support a number of individuals each month using that platform.

 

I did set up a Patreon account a year or so back, primarily with reference to the YouTube videos, but although one or two Patrons kindly signed up, I considered my video schedule far too erratic and I eventually refunded all patronage pending a rethink. I may revisit this depending on how things pan out and depending on how much time is available for hobby-related activities in the future.

  • Like 2
Link to comment
Share on other sites

The Incognito firmware does not support plugins at all, for a couple of good reasons. Firstly, Incognito has no general purpose IO pins, so there's no way to (for example) control the AntiX switching mechanism. Incognito could not even turn stereo POKEY on and off as the U1MB does. Secondly, the self-test ROM area (which is mapped under the hardware registers) is NOT accessible while the configuration is unlocked on the Incognito. This same region quite happily maps to $5000 on the U1MB while the configuration is unlocked, allowing BIOS code to be stored there. But that ROM area is completely inaccessible to the Incognito firmware.

 

So: even if the Incognito firmware were not down on ROM to the tune of 2KB, there are no IO pins available for plug-in control.

 

(...)

 

THANKS for taking the time to respond!

 

...Sorry for asking, but what does Incognito's "unlocked config." means? While you are running the BIOS?

 

Also, I still have to pressing questions I could never answer so far:

 

1. I still see the "Run Diagnostics Cartridge" option on the BIOS... what cart?

2. In the FLASHABLE space (512K) there is a 16K slot called "Recovery OS". What exactly is supposed to be there?

 

Once again, THANKS!!!

  • Like 1
Link to comment
Share on other sites

Hi.

 

Thanks flashjazzcat for advice with rapidus.. Now i see right option in menu..

 

I have another question about side2 driver.

 

U1MB has a internal driver to side 2 (i don't know what version). This driver works with FATfs driver but don't respectively works with RAPIDISK.SYS and with VBXE (if I play wav in D2D the screen (voice graph) interrupts.. ?) With this driver (without RAPIDISK.SYS) I could play wavs directly from FAT partition.

 

Only if I load external SIDE2 driver 3.2 (SIDE.SYS) RAPDISK.SYS works fine (VBXE too). If I try load FATfs and after D2D program, I have 179 memory conflict (with internal SIDE driver is ok)..

 

What is the difference between internal SIDE2 driver and external SIDE 3.2 driver?

 

Regards

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