Jump to content
IGNORED

Ultimate1MB - new preorder


candle

Recommended Posts

in fact i also thought about that possibility, what I don't really quite understand is why there is no corruption of either the ramdisk or BXE after I loaded the ramdisk driver manually.

 

Probably because whatever BASIC XE does to corrupt the ramdisk, it only does that at own "cold start" time. Also, I don;t think it really corrupts anything, it probably only switches the banks and leaves them in some bad state. This is only a guess of course, it already would require sitting at BASIC XE with a disassembler to see what happens there.

 

Also the problem actually happens with both 512 and 1088K ram extensions. At first I thought only happened with 1088K but U1MB sometimes seems to do a warm boot instead of a cold boot when a new config is saved in the setup menu and "C" key is pressed. When that happens the computer boots with the old config, so I first thought I was running the test in 512K but it was actually 320K. In short only 320K upgrade works with BXE without that problem.

 

Yes, the 576k Compy Shop, I forgot about this. This extension uses PORTB bit 1 as well (otherwise it would only be 320k). So, it seems there is a pattern which points to a conflict related to that bit.

Link to comment
Share on other sites

@a8w

Except for one line, my reply was almost the same as that of drac030. But I agree... I thought: oh no... a8w found another reason to pick on ultimate1mb. I believe you when you say it is just curiosity, but with the history of this thread in mind I really thought: oh no... is he still looking for some u1mb-bash. I moved too soon, but I hope this explains why I responded that way. I'm not so fragile, you can say whatever you want to me, and if you read all my comments about u1mb (in different threads) you'll find I have been a (impatient) pain too for candle... but I never got the feeling he was annoyed by that.

 

No problem Marius i did not take any offense from your reply, yet I had an impression that I am once again trying to assign blame and that somebody needed to defend it. Apparently neither was the case so just a misunderstanding on our respective parts :)

Link to comment
Share on other sites

If you really want to know the answer: get an 800XL and stuff 1088KB in it the old way, with RAMs.

 

Wish I could do that, in fact had I have enough funds to allocate for Atari right now i would have bought another 800XL and maybe try it.

 

Some interesting things I found out today though is how 128K was implemented in the Atari 130XE.

I am in the process of socketing and replacing ram on a 130XE due to bad MT chips in the original.

 

After I replaced the first 64K bank of memory, with no ram chips in the extended bank, I did a test run.

Atari DOS booted and set-up a ramdisk in the non-existant extended bank!!.... so much for the integrity of the original ramdisk handler!. It does not even check if the ram is actually there!.

 

Then the computer dropped to BASIC, and of course when I typed DOS from BASIC I was quietly dropped back to BASIC again as there really is no ramdisk, only the driver.....I love Ataris, so much fun to work with one. :)

 

Now my question is since there is no extended ram in the machine how did DOS figure that it is a 130XE and automatically setup a ramdisk?. I guess it only checks for a specific memory location which holds a unique value indicating that the machine is a 130XE and not a 65XE or 600/800XL etc...

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

Now my question is since there is no extended ram in the machine how did DOS figured that it is a 130XE and automatically setup a ramdisk?

 

It most probably setup a magic value in the base memory at say $4000, switched in the extended memory, setup a different magic value in it, then checked if they differ. This is a valid method since the situation when a machine is able to switch in 16k banks of nothing is rather abnormal.

Link to comment
Share on other sites

Yes that would probably be one of the best way of checking extended ram, however I did not have any ram chips in the extended memory bank, so where would it have actually stored the second number for comparison? I would have thought that non-existent extended ram location would have returned zero for comparison (or some other garbage value). In this case the two numbers would still differ albeit the assumption drawn from that comparison wouldn't be valid.

 

Of course no one would expect that somebody is mischievous enough to remove extended ram chips just to fool DOS, still, a bad ram chip mapped to that location would have caused a similar scenario. Had Ataris been as inexpensive as they are today when they were first launched, I would have said what do you expect from a $100 computer but they were in the hundreds of dollars range then, so I would say Atari could have done a better job with this whole extended ram scheme.

 

And going back to the previous subject of extended ram in U1MB. I used to have a home made Peterson 512K upgrade in my 130XE and I never remember having an issue with the ramdisk clashing with BXE.

Link to comment
Share on other sites

After I replaced the first 64K bank of memory, with no ram chips in the extended bank, I did a test run.

Atari DOS booted and set-up a ramdisk in the non-existant extended bank!!.... so much for the integrity of the original ramdisk handler!. It does not even check if the ram is actually there!.

 

Yes that would probably be one of the best way of checking extended ram, however I did not have any ram chips in the extended memory bank, so where would it have actually stored the second number for comparison? I would have thought that non-existent extended ram location would have returned zero for comparison (or some other garbage value).

 

AFAIK on a 800XL and 800XE, DOS 2.5 does not setup a ram disk. That it is setting up a ramdisk on on 130XE without extended ram chips is because the 130XE is wired differently. Check the 800XE board (which is the same PCB as the 130XE) and you will see that besides the missing ramchips, the EMMU chip is removed and replaced by some zero ohm resistors.

 

On a 800XE/800XE/65XE, setting the port B bits always access the same memory (main bank). But when you do same on a 130XE without the ram chips, normal settings for port B will access the main bank of ram chips and setting port B will access the extended bank of ram chips. Since there are no ram chips in the extended bank, you will get random data.

 

If DOS 2.5 checks for extended memory by only setting some value in the main memory, then switching to the extended bank to read the value, then it will see that those are different because the missing bank will return some undefined value. On a 800XL/800XE it will return the value of the regular bank which is of course the same as the value written. Remember that at the time of DOS 2.5, such a simple check is sufficient to check for extended memory since there are only two configurations.

 

Robert

Link to comment
Share on other sites

The problem is a bank register usage conflict between BASIC XE and the DOS 2.5 RAM disk, and it is indeed related to expansion memory use of the BASIC bit (PORTB bit 1). It's not related specifically to Ultimate1MB.

 

What's happening is that when DOS 2.5 initializes the RAM disk, it leaves PORTB bit 1 alone and thus with 1088K it will place its ramdisk in one of two sets of banks depending on whether ROM BASIC is enabled by the kernel boot code. BASIC XE does its extended RAM test in cartridge init before DOS boots, so that doesn't cause RAM disk corruption. However, when it runs after DOS boots, it unconditionally writes $FE/$FF into PORTB to access upper memory, and DOS leaves bit 1 as-is when it attempts to access the RAM disk. This means that if you had ROM BASIC enabled on boot (bit 1 = 0), DOS loses its RAM disk after BASIC XE starts. On the other hand, if ROM BASIC was disabled with Option, the RAM disk will use the other set of banks and the driver will still be able to find it. Given the definition of bit 1 at the time, both BXE and DOS were acting correctly for the 130XE.

 

Ultimately, switching to a RAM disk driver that can detect and properly handle bit 1 as a bank bit is the correct fix.

Link to comment
Share on other sites

Gauntlet on two ATR disk images, loaded from the PBI hard drive and complete with disk swap:

 

 

If I implement disk "sets" or similar, this will be easier still. :)

 

 

When ? WHEN ??

 

Seriously - looks great :)

Edited by spookt
Link to comment
Share on other sites

When ? WHEN ??

 

ROMs are just about done, and I'm currently ensuring MATR and FDISK work seamlessly with Drac030's S_VBXE drivers, so hopefully everything will be available on my website within the week.

 

Note that while two pieces of hardware are required for ATR rotation in this case (i.e. SIDE along with U1MB), Incognito has everything built in (you just need to hang a momentary switch off one of the headers).

Edited by flashjazzcat
Link to comment
Share on other sites

  • 3 weeks later...
  • 1 month later...

Searching for ANY hint... :?

 

There´s a XEGS on my desk. PAL version. Equipped with one Stereo-Board and a VBXE 2.0. All is working fine. Now I add the Ultimate 1 MB, nothing happens, only red/brown screen. When I take the Ultimate 1 MB - with all cables and so on - into another XL oder XE, all is working fine. Of course I set the XEGS mode jumper. Of course I check the four additional lines (PHI2, RW, RESET, HALT) a thousand times. Take PHI2 from CPU or ANTIC, no difference. Removing the U1MB, insert the OS-ROM and XEGS-MMU... all is working.

 

The the U1MB isn´t defect, is also works perfectly. Is there any special hint for the XEGS? Or combined XEGS and U1MB?

 

Any help welcome.

Link to comment
Share on other sites

was this U1MB board one of mine? was it intended for XEGS?

because if it was not, then it needs one connection patched

DSC01890.JPG

Boards sold by Lotharek have already this done internally

so, XEGS version will work with ANY other machine, but not the other way around

 

please notice that one of pins (ROM connector) was removed, this wire connects MMU A13 pin to ROM A13 pin and since it is removed, it is taken solely from MMU socket - this is because some (1200XL, XEGS) ROM sockets doesn't have A13 line connected - i've learned about this too late, but as i said - it was corrected on boards sold by Lotharek

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

Hi Sebastian,

 

and again: Thank you. This was the solution. Yes, it was a U1MB from your first batch.

 

But I carefully look and these and the two other U1MB related topics on AtariAge and didn´t find this hint.

 

Perhaps you add your homepage with an XEGS section? :)

 

Best regards, Juergen

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

Done !

Installed in stock 600XL+1064 memory module (U1Mb does not work with 16k), did the resistors in cable, updated to v2... and works perfectly ! ;-)

 

 

Here is the location where I soldered the 4 wires :

u1mb_610.jpg

 

Thanks Candle for this great Ultimate1Mb ! :thumbsup:

Edited by StaxX28
Link to comment
Share on other sites

Hi,

 

I´m searching for any ideas...

 

I´ve built in a Ultimate 1 MB (comes from Candle´s batch) into a XEGS. After patching (see a few posts above) it works. The U1MB has also working without any issue in a 800 XL. Alle functions in the XEGS works well with the U1MB - but when inserting a SiDE (version 1), the partitions are not recognized. SDX is loaded, but access to any data on the CF card is garbled. This also appears when using the FAT32 loader.

 

The SiDE is perfectly working in any other system OR a XEGS without U1MB. All parts are working very well, only the U1MB & SiDE in a XEGS will not work correctly.

 

All firmwares, BIOS etc. are updated to the last known / official version.

 

Any hints?

 

Thanks - Juergen

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