Jump to content
IGNORED

New (alt) BIOS for Ultimate 1MB/Incognito


Recommended Posts

Stereo control is only possible if the machine has uswitch fitted, or if the board is Candle's own stereo board specifically designed for the Ultimate control bits. If the BIOS deduces it can't toggle stereo through software control, it sets the stereo status to reflect the fixed hardware state and greys it out. This means stereo cannot be toggled in Altirra.

 

If all those conditions are satisfied, perhaps something broke. Stereo control hasn't been tested here in a while, solely because the code has not changed.

  • Like 2
Link to comment
Share on other sites

Stereo control is only possible if the machine has uswitch fitted, or if the board is Candle's own stereo board specifically designed for the Ultimate control bits. If the BIOS deduces it can't toggle stereo through software control, it sets the stereo status to reflect the fixed hardware state and greys it out. This means stereo cannot be toggled in Altirra.

 

If all those conditions are satisfied, perhaps something broke. Stereo control hasn't been tested here in a while, solely because the code has not changed.

 

 

 

Hmm, well, it was working under the original BIOS. I did not test it immediately prior to flashing, but I do know I could toggle on/off. It has uswitches fitted and I did not physically change anything prior to flashing the U1M. Anything else I can do to run it down?

Link to comment
Share on other sites

Well, I reworked all the connections to and on the SimpleStereo board and reinstalled it and things are working...unless I try plugging in a cartridge. It certainly sounds like I'm back to the dreaded Phi2 problem. I've ordered some SN74F08N chips and will try Morelenmir's recommendation.

 

On another note, I see that Lotharek has his U-Switch boards available. It's so much nicer than what I put together myself! Now I think I need one.

 

Link to comment
Share on other sites

Well, I reworked all the connections to and on the SimpleStereo board and reinstalled it and things are working...unless I try plugging in a cartridge. It certainly sounds like I'm back to the dreaded Phi2 problem. I've ordered some SN74F08N chips and will try Morelenmir's recommendation.

 

On another note, I see that Lotharek has his U-Switch boards available. It's so much nicer than what I put together myself! Now I think I need one.

 

 

I found replacing that one '08' cured all my PHI2-related SIDELoader problems. However, if you still have lingering faults you might want to try swapping out the other logic ICs in that same central stack with matching code numbers of 'F' or 'AHCT' versions as well. You would need a '138', a '51' and a '14' along with the 'F08' you have already ordered. I am certain you don't need me to tell you this, but it is worth mentioning for clarity that the code numbers do need to match those on the originals as illustrated below:

 

post-31546-0-07253100-1453187841_thumb.jpg - downwards from the blue to the red arrow; so 'F138' or 'AHCT138', 'F51' or 'AHCT51' and so on.

 

Ideally in performance terms you would use the 'F' versions for each one, but in Britain I could not get hold of them all so the almost-as-good (and better in power usage) 'AHCT's had to fill in where necessary.

 

Again, I do not have FJC's experience in general electronics nor installing the Ultimate1MB specifically - so my report on this is an anecdote at best. However what you are describing sounds really, really familiar. Also, after replacing those chips my machine worked properly and it didn't before - so... No promises, but maybe a fix? I'll be fascinated to hear how you go on whatever the case. As a matter of interest do you know what revision your motherboard is? Mine was a 'REVC'.

 

In regards the uSwitch - they work perfectly and are really easy to install. Better still you can stack and gang them up to give you lots of switching options for more advanced projects. The only slight caveat is that they are quite large and stick out a long way. Depending where you have situated your Ultimate1MB it might be difficult to get at the power and signal pin-headers on the top unless you take this in to account. I also removed the tiny red SMT power LED as I found it was bright enough to shine through my keyboard and be quite distracting. Instead I took advantage of the pin header Lotharek provides on the Stereo mod to install an external LED, mounted in a chrome holder on the outside of the case.

Link to comment
Share on other sites

Thank you for the input. I will start with the 74F08 since the signal comes directly through it. My motherboard shows REV 3. I'm guessing it's the NTSC equivalence of your version.

 

I built my U-Switch back before Lotharek made them (he sent me his plans for them), but it's build with DIP chips on a project board. It's much more obtrusive than his custom printed boards and surface mount chips, so I ordered one of his this evening. I also saw that he has revised the connectors on Ultimate 1MB boards which gives it a lower profile (albeit a little wider). I'm going to replace the connectors on mine to match. I'd already purchased the flat ribbon cable connectors for the sockets like he uses now. I plan to get all these mods working together (U1MB, SimpleStereo, U-Switch, VBXE) and shoved in there!

 

  • Like 1
Link to comment
Share on other sites

Thank you for the input. I will start with the 74F08 since the signal comes directly through it. My motherboard shows REV 3. I'm guessing it's the NTSC equivalence of your version.

 

I built my U-Switch back before Lotharek made them (he sent me his plans for them), but it's build with DIP chips on a project board. It's much more obtrusive than his custom printed boards and surface mount chips, so I ordered one of his this evening. I also saw that he has revised the connectors on Ultimate 1MB boards which gives it a lower profile (albeit a little wider). I'm going to replace the connectors on mine to match. I'd already purchased the flat ribbon cable connectors for the sockets like he uses now. I plan to get all these mods working together (U1MB, SimpleStereo, U-Switch, VBXE) and shoved in there!

 

 

Sounds good Panther!!! In fact I think you are going to end up with a pretty much identical setup to my own machine. I don't know if you have seen the RGB SCART output from the VBXE first hand before, but if not it is really going to impress you. I know I was blown away when I finally got it working properly!!!

 

I would be fascinated to see a photo of your finished rig when you have everything in place. The only slightly tricky mounting problem I encountered was physically attaching the Ultimate1MB to the motherboard. In the end I resorted to drilling a couple of correctly spaced holes into two unpopulated areas at the top right above the SIO socket and then bolting down through a couple of nylon stand-offs in order to get it solidly attached. I think it is a bit easier on an XE as there are screw holes already in the right place.

 

Actually, in order to get the 800XL lid to button down on top of the Ultimate1MB without compressing the CPU and signal patch wire plugs I reworked the vertical pin-headers the board came with and replaced them all with right-angled units of an appropriate count. I found this gave me so much extra headroom I could use 5mm taller stand-offs which also solved the uSwitch size problems.

Link to comment
Share on other sites

Since I'm the only person I know around here that has an Atari 8-bit (or ten) that's not sitting in an attic or garage, no I haven't seen a VBXE in operation yet. Soon! I have an RGB to VGA converter ready for use.

 

There's a bit of space by the power switch from where the RF modulator and other video components used to be, so I'm thinking I'll be able to mount the U1MB there somewhere. I'm not going to worry too much about placement until I finally have everything connected and working.

 

My 130XE just has the 74LS138 and 74LS08 chips, not the others that yours has. I might just go ahead and order a 74F138 now, since I'll have to wait until my new U-Switch arrives from Poland anyway.

Link to comment
Share on other sites

Since I'm the only person I know around here that has an Atari 8-bit (or ten) that's not sitting in an attic or garage, no I haven't seen a VBXE in operation yet. Soon! I have an RGB to VGA converter ready for use.

 

There's a bit of space by the power switch from where the RF modulator and other video components used to be, so I'm thinking I'll be able to mount the U1MB there somewhere. I'm not going to worry too much about placement until I finally have everything connected and working.

 

My 130XE just has the 74LS138 and 74LS08 chips, not the others that yours has. I might just go ahead and order a 74F138 now, since I'll have to wait until my new U-Switch arrives from Poland anyway.

 

Yeah, the IC's - even in notoriously over-priced Britain! - were something like 30p per chip. So well worth it at twice the price!

Link to comment
Share on other sites

Loader update:

 

usidel35.rom

 

I'd inadvertently mangled XEX loader performance via code optimisation and a typo. Only noticed this when Boogie Nights took an age to load. Version 0.34 should be abandoned post-haste.

 

Possible bug.

 

I noticed when folders contain large number of ATR files the loader won't display the entire list. In addition as you reach the limit of the files in the folder the names are invisible until you scroll through them.

The loader supports 255 matching files per directory (as per Candle's loader) and should report "Directory too long!" if this limit is exceeded, and then proceed as normal. Unfortunately v.0.34 had masked the error message (this is also fixed in 0.35). I couldn't reproduce subsequent issues with the file list display, though, so if you still have issues after the update I'd be interested in looking at a copy of the FAT partition in question.

 

Hmm, well, it was working under the original BIOS. I did not test it immediately prior to flashing, but I do know I could toggle on/off. It has uswitches fitted and I did not physically change anything prior to flashing the U1M. Anything else I can do to run it down?

Tested Stereo toggling on my u-switch equipped 1200XL and the option is available and appears to work. Only thing to check is wiring: as I mentioned, if the BIOS can't toggle stereo via software, it greys the option out. Is the stereo stuck on or off, out of interest?

 

In regards the uSwitch - they work perfectly and are really easy to install. Better still you can stack and gang them up to give you lots of switching options for more advanced projects. The only slight caveat is that they are quite large and stick out a long way.

I used an additional u-switch to enable/disable the IDEa HDD interface in my 1200XL. The "Device Control" menu in the BIOS is effectively a place-holder for plug-in code. The only plug-in currently in existence is the one which controls my IDEa interface, but there's potentially no limit to what could be done.

 

I also saw that he has revised the connectors on Ultimate 1MB boards which gives it a lower profile (albeit a little wider).

Personally I don't like these right-angle headers on the latest Ultimate boards and have had to (laboriously) replace them with traditional enclosed, upright IDC headers during a few installations because of clearance problems. Any height clearance problems on the original boards could usually be remedied by removing the strain relief clip on the female connector.

  • Like 3
Link to comment
Share on other sites

This plugin code for control pins - where should it be placed? Flashed? Anything more about how to write this code.

 

As I had installed lately my U1MB I was reading more in its topics.

In one of them Candle wrote that U1MB could act as freezer.

Do you know anything about that?

Link to comment
Share on other sites

This plugin code for control pins - where should it be placed? Flashed? Anything more about how to write this code.

You get 1KB at $FB00, and this block needs to replace that 1KB block of the BIOS prior to flashing. I'll have to document plug-in authoring once I'm sure the jump table won't change (actually I'm pleasantly surprised there's any interest in writing plug-ins at all). I'll post up the source for the IDEa plug-in as an example when it's prudent to do so...

 

As I had installed lately my U1MB I was reading more in its topics.

In one of them Candle wrote that U1MB could act as freezer.

Do you know anything about that?

Yes: Candle mentioned Freezer functionality to me too, but didn't see fit to do so until a couple of days after I released a new Ultimate BIOS which included compatibility with Hias' TurboFreezer in its feature list. :) I've spoken to Candle since then but completely forgot about this and the subject did not come up again. In any case, I'm informed (since my understanding of VHDL is not especially good) that it's not possible to turn Ultimate into a Freezer in its current state, i.e. without VHDL changes at least. And I have no idea exactly what kind of freezer functionality was daydreamed about, or just what would be possible.

 

In any case: there were probably better times to wonder about this than just as the new BIOS nears final release and the code space has been completely filled with other stuff. ;)

Edited by flashjazzcat
Link to comment
Share on other sites

Update, including "scrolling" loader for Incognito:

 

Incognito Beta BIOS 0.49.zip

 

Ultimate 1MB Beta BIOS 0.49.zip

 

A fair bit of code revision has gone on in the BIOS and one or two experimental features added. Both builds have been tested on the corresponding real hardware, but do please let me know about any glitches. Ultimate loader has changed since the previous update to the tune of one minor bug-fix.

 

  • Like 9
Link to comment
Share on other sites

Great! At this rate, you'll likely have the final release ready by the time my parts arrive from Poland!

 

Atari's are evil...I think I just lost the last two days, as I found myself figuring out how to use the assembler and linker in cc32 and writing the beginning of my I/O libraries At first I thought I might try to port over my program that I'd written in ANSI C, but then I decided I like the control of using assembly. The last time I used 6502 assembly, well, machine actually since I didn't have an assembler, was in 1985 when I rewrote all the IO routines for my BBS. It was running in BASIC, but I discovered it couldn't keep up with the speed of the newer modems (2400 bps).

Link to comment
Share on other sites

Great! At this rate, you'll likely have the final release ready by the time my parts arrive from Poland!

 

Atari's are evil...I think I just lost the last two days, as I found myself figuring out how to use the assembler and linker in cc32 and writing the beginning of my I/O libraries At first I thought I might try to port over my program that I'd written in ANSI C, but then I decided I like the control of using assembly. The last time I used 6502 assembly, well, machine actually since I didn't have an assembler, was in 1985 when I rewrote all the IO routines for my BBS. It was running in BASIC, but I discovered it couldn't keep up with the speed of the newer modems (2400 bps).

 

Are you assembling directly on the A8? If so you might want to look in to the cross-assembler 'wudsn' which is a plugin for eclipse. It is an amazing application and using it after spending any length of time tapping away on the Atari is genuinely like a breath of fresh air!

 

 

Update, including "scrolling" loader for Incognito:

 

attachicon.gifIncognito Beta BIOS 0.49.zip

 

attachicon.gifUltimate 1MB Beta BIOS 0.49.zip

 

A fair bit of code revision has gone on in the BIOS and one or two experimental features added. Both builds have been tested on the corresponding real hardware, but do please let me know about any glitches. Ultimate loader has changed since the previous update to the tune of one minor bug-fix.

 

 

As ever FJC, my sincere thanks! I have updated my Ultimate1MB with this and all seems well.

 

A quick question about the hardware - is the 'flash' chip an EEPROM?

Link to comment
Share on other sites

Are you assembling directly on the A8? If so you might want to look in to the cross-assembler 'wudsn' which is a plugin for eclipse. It is an amazing application and using it after spending any length of time tapping away on the Atari is genuinely like a breath of fresh air!

 

No, I'm afraid I'm not at this point, I am using my Windows system to relearn the Atari via ca65/cl65 and Altirra. I haven't even gotten into things like display list interrupts yet! Oh, I vaguely remember these things. Quite vaguely. Also, I'd only worked in assembly/machine on the 6502 for a limited number of necessary tasks. Most of my assembly experience was on 8051 and ST9 microcontrollers.

Edited by Panther
Link to comment
Share on other sites

A small concern about my Incognito Atari800.

on a fresh boot power on two of my partitions are missing 'DH:' and 'DI:'. I can run FDISK and control +W to write the partition exit back to CF and H&I are back, but during the use of the computer for 'games', 'basic', or other general use I eventually lost the two partitions again and need to run fdisk to get them back.

 

My question is about reloading the partition table again without the need to run fdisk .. If I can HOW??

 

Another comment about the Colleen mode and the driver.. running in this mode I don't notice the loss of partitions.

Edited by rdea6
Link to comment
Share on other sites

 

Thanks Roy. Issue confirmed here as well, and while looking into it on my Incognito machine I ran into a variation of the perennial "ColdFlag" issue I first encountered when designing the Ultimate BIOS. On the Ultimate, I had to add a magic byte check because the hardware flag that's supposed to have bit 7 set on cold powerup was not dependable on one of my machines. What I hadn't encountered until today is the reverse situation: bit 7 of ColdFlag being set on a warmstart (after it had been cleared in software while config was unlocked). More specifically, bit 7 was still reading 1 during the first warm reset following powerup, causing the BIOS to think the 800 had just powered up again.

 

Because of this I think I'll abandon ColdFlag entirely and just rely on the magic bytes, since removing the branch caused by ColdFlag being set cured the unwanted reboot issue here. The only problem I can see is if power cycling is performed too quickly for the magic bytes to clear from RAM.

 

Regarding the HDD issue: Incognito holds incorrect partition start sectors in the interleaved table in RAM until the first time the table is refreshed. This is puzzling, since the issue doesn't exhibit itself in Ultimate 1MB which uses the exact same PBI BIOS with small changes catering for the different platforms. $D509 (LSB of partition 8's LBA start address) read $D8 after cold power up and $00 after a Shift+Reset (at which point the file system became readable). No emulation, so I'll have to track this down the hard way over the weekend...

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

I think I figured it out... and it's not good. I previously ran into the issue of OS writes to CCTL (at $D500) wiping out the first byte of the partition table in RAM on the Incognito, and had to move the partition table up by one byte to avoid this. I couldn't figure out at the time why on earth writing to $D500 when $D1FF = 0 would allow the value to write through to the PBI RAM under CCTL. Well, I just tried poking $D508 from the SDX command prompt and it writes straight through to the partition table. So my guess is there's a write to $D508 somewhere following PBI BIOS initialisation which the OS doesn't do on a warm reset.

 

Anyone know off-hand if the XL/XE OS writes to $D508/9? Seems pretty disastrous if writes to CCTL pass straight through to the PBI RAM.

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

Okay I took the CF card out of the Atari800 (Incognito) and put it into my side2 with 800xl and ultimate hardware and all my partitions stay in place and don't disappear like when in the incognito.

 

But why does just DH: and DI: and not the others. I am going to do a test and change volume H to --- and change N: to D7: O: to D9: .

Link to comment
Share on other sites

I set up another HDD with drives 8 and 9 and only drive 8 was munged. This could happen if a byte of drive 9's LBA address was overwritten with zero and was zero to start with.

 

I'll set up a breakpoint in Altirra on $D508 and see if the OS writes to it after it initialises Ultimate's PBI BIOS.

  • Like 1
Link to comment
Share on other sites

 

I found replacing that one '08' cured all my PHI2-related SIDELoader problems.

Unfortunately, replacing the 74LS08 with a 74F08 had absolutely no effect. The problem exists exactly as it did before, where I can't use a cartridge with the SimpleStereo board. I did order another SimpleStereo board with the U-Switch, so I'll stick that in and see what happens.

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