Jump to content
ParanoidLittleMan

Improved Atari TOS versions available

Recommended Posts

The whole TOS switch concept is very simple: using larger capacity EPROMs, which fit in existing sockets - that's simplest case. Then actual TOS version is selected by adding 0 or 5V to highest address line, or lines. That selects wanted ROM section. Normally, those pins are connected to +5V on sockets, so need to prevent insertion of them in original ROM sockets.

 

If lucky, and that's case with Mega ST and later 520-1040STs, and using 6 ROMs you can use W3 - what is connected to pins 1 of ROM sockets - so no need to bend pins or use intermediate sockets. Normally W3 gives +5V to pin 1 for 27256 (6 chips), or A16 for 2 ROM version - what is not with EPROMs, but mask ROMs .

Not sure how it is with early 520 STs, without 2 ROM chip option (no 74LS11). I guess that pin 1 is hardwired to +5V there.

Share this post


Link to post
Share on other sites

Here's a writeup on a 4-tos switcher, it appears to be similar to Peter's post above:

 

http://atari4ever.free.fr/hardware/zip/4tos_swc.zip

 

This is the setup I'm going to use on my MegaSTE, I may work on this sometime this weekend, keep a stock 2.06, the 2.16i from Peter, the 1.62i, and I'm not 100% sure what on the last (Emutos maybe?).

Please let me know how it went .. install.. what you picked etc.

 

I am doing the same thing on my Mega STE as well.. I have the EPROMS.. just need to pick my TOSs and go.. EMUTOS seems like it might be a choice now. Though because it can so easily.. it might be better to boot EMUTOS and use something else like MagiC

 

James

Share this post


Link to post
Share on other sites

Please let me know how it went .. install.. what you picked etc.

 

I am doing the same thing on my Mega STE as well.. I have the EPROMS.. just need to pick my TOSs and go.. EMUTOS seems like it might be a choice now. Though because it can so easily.. it might be better to boot EMUTOS and use something else like MagiC

 

James

 

I use MagiC in ROM also with Quad-TOS and it works great: http://www.atari-forum.com/viewtopic.php?f=14&t=27702&p=294569&hilit=magic+in+rom#p294569

Share this post


Link to post
Share on other sites

So what was the thing about the 3 jumpers.. what was the reason they needed to be set? I assume you refer to the wiki - that we all have not been able to use for YEARS??

 

James

Share this post


Link to post
Share on other sites

Oh, I mistakenly thought the wiki had an error, but it turned out the wiki was correct on setting of the jumpers. The jumpers are set depending on the type of eproms that are used.

 

I think there is a mirror of the wiki somewhere, but webarchive also has it here: https://web.archive.org/web/20150608101908/http://www.atari-wiki.com/?title=STE_TOS_Upgrade

Share this post


Link to post
Share on other sites

So what was the thing about the 3 jumpers.. what was the reason they needed to be set? I assume you refer to the wiki - that we all have not been able to use for YEARS??

 

James

There are different ROMs, and even EPROMs. Although I never seen 28 pin 27C1000. Mask ROMs can have less pins, since no need for Vpp and wr.

post-31554-0-27727900-1552982297.png

So, for EPROMs just use 32pin 27C010 setting, what stays for 27C1001 too - they are same considering pin layout.

 

In case of TOS switch it is for sure simpler (and cheaper) to use only 2 EPROMs of higher capacity (unlike Wiki article says) . And switch should not connect +5V directly, actually no need for alternate switch, just simple switch what connects A17 (pin 30) and A18 (pin 31) to GND when is closed. Add there resistor of 1K to +5V, so it will be on high level when switch is opened. Of course, you need 2 switches and 2 resistors for 4 TOS version (27C040 or like) .

In case of Flash EPROM pin layout is little different:

Flash EPROM of 4 Mbit. Then need to connect switches to pin 30 (A17) and 1 (A18)

post-31554-0-48964300-1552983375.png

EPROM of 4 Mbit:

post-31554-0-53065200-1552983434.jpg

And something to note: Because ROM is 16-bit, address lines of CPU bus and ROMs (EPROMs) are shifted by 1 - so for instance A15 of CPU will go on A14 of (EP)ROM .

Share this post


Link to post
Share on other sites

Peter.. I was looking at doing an A/B switch for the Floppy in my MegaSTE because I have a Gotek.. and I know we now have floppy EMU by you.. but I have it anyway.... :)

 

Found this thread on Exxos forum https://www.exxoshost.co.uk/forum/viewtopic.php?t=634

 

Is it possible to just do a TOS "SWITCH" either a little prg or maybe a control panel setting or something??

 

James

Edited by Bikerbob

Share this post


Link to post
Share on other sites

I made OS switch for Spectrum, what works by SW command and button press too. http://8bitchip.info/zx48/romsw.htm

Same concept and very similar circuit can be done for Atari ST(E) too . And possible to swap floppy A and B lines with SW command - but then circuit will be different, but on same concept .

 

However, I must say here that simpler - mechanical switch is better . At least for most of people. Adding such circuit in Atari might be a problem.

I can design floppy A-B switch, what will work with 2 buttons - 1 for normal order, second for reversed. It will need lot of lines to CPU bus.

Maybe possible to solve with external adapter, attached to printer port - but then it will need power +5V from somewhere, and still need to cut line inside computer - except early STs with external drive.

Share this post


Link to post
Share on other sites

I made OS switch for Spectrum, what works by SW command and button press too. http://8bitchip.info/zx48/romsw.htm

Same concept and very similar circuit can be done for Atari ST(E) too . And possible to swap floppy A and B lines with SW command - but then circuit will be different, but on same concept .

 

However, I must say here that simpler - mechanical switch is better . At least for most of people. Adding such circuit in Atari might be a problem.

I can design floppy A-B switch, what will work with 2 buttons - 1 for normal order, second for reversed. It will need lot of lines to CPU bus.

Maybe possible to solve with external adapter, attached to printer port - but then it will need power +5V from somewhere, and still need to cut line inside computer - except early STs with external drive.

 

Actually Hardware wise.. its not that hard.. its just intercepting the signals on two lines doing to the Yamaha chip, and rerouting them to the other.. lots of examples of that.. just thought since I was installing new tos's and it was suggested that this might be able to be done JUST in Software.. thought I would ask.. but no biggie.. I will be installing physical 2 switches for 4 tos's so .. not sure I will bother with this.. Since you now have your Floppy EMU.. why do I need to bother.. load everything I want as images on to the HDD and then run them either as your HDD converted or now.. in the Floppy EMU.. and I have a real A: drive if I need to copy the actual floppy to the computer.

 

OHHH good point.. what happens with the EMU Peter if there are real drives???

 

James

Share this post


Link to post
Share on other sites

Yes, it can be done in SW, without new TOS, and is actually simple thing. But that will not work with all SW.

So, now comes longer explanation: from that exxos post, one thing is what pulled my attention: "ask peter nicely ..." :) Well, this is not matter of how to talk to someone. When people asking you to do impossible then nothing helps.

In case of Atari ST SW there are 2 ways of accessing files, data on floppy disks:

1. Via TOS calls, functions. Usually it is called access via trap #1 - you accessing normally by filename, DIRectory, and of course drive letter - A or B .

2. Via direct HW access. SW performs low level HW access, and has own complete code to read/write data on floppies. So, it performs direct write to PSG/Yamaha chip, and it means that you can not swap A and B in SW, by some setting. Only way is HW line switch. This way is used mostly in games, but in some 'serious' SW too. The reasons for: copy protection. More free RAM for SW - TOS self takes some 50-100 KB space, while custom floppy code can be some 500 bytes only, and it even works faster when is well done.

 

So, there are good reasons why SW for floppy switch is not popular.

 

About new term "Floppy EMU" : no, it is not emulator. Please don't invent new terms, which just misleading. It is not emulator. Virtual is much better term, and is commonly used. HxC and Gotek are real emulators, and they can do emulation, because it is HW. Virtual Floppy in improved TOS is still SW solution, and therefore has some limitations. Actually only 1, really: SW with direct floppy controller access will not work. Better said will not work without modifications in SW self.

On the other side, there are many benefits, on which I pointed in other thread (future is floppy less) - and that is what may be done in SW, so let's focus on that - what is possible.

And there is mentioning of possibility that SW using direct floppy access can work too, with some modifications in it's code. Like Stardust.

But if games are not of interest, Virtual Floppy can serve well without modifications in SW self, in most of cases, like 99% .

 

What happens with Virtual Floppy if there are real floppy drives ? It will work same way as without floppy drives.

When you power on Atari, Virtual Floppy is inactive. Need to run SW for activating it, from hard disk, of course, since that is condition to work. Then it will deactivate real floppies (SW wise, of course), and all access to A: and B: is redirected to hard disk image file(s) . And that will remain so until next cold reset or power off.

Share this post


Link to post
Share on other sites

Sorry Peter, Virtual Floppy.. I will change my wording.

 

Thanks so much for the explanations. I will have my TOS switches, and might as well do the switch for the A/B

 

Also.. your mod for the internal controller on the MegaSTE.. If I was to use a SCSI2SD v5.1 which is still available. I don't think I would have to use the Parity mod because it would work normally.. just with the 1GB limit. Your mod on the controller.. is compatible with the current version of the HDD driver I have from you? Thanks

 

James

Share this post


Link to post
Share on other sites

Modded Mega STE internal controller needs special driver, and it is free for those who purchased my any hard disk driver version. And only I have such driver, because it is special, for non standard HW.

However, I don't think that it is wise to use combination : internal SCSI adapter + SCSI to SD adapter. For that price you can get UltraSatan, and single adapter is always better than chain of 2 adapters. And there is internal version of it, if someone wants that.

My Mega STE mod was done mostly for SCSI driver over 1 GB, + most of disks, even those under 1 GB require parity signal. Now Flash cards are cheap, SCSI disks are old and hard to find.

  • Like 1

Share this post


Link to post
Share on other sites

Final feature:

intF16p.png.af13db6dc36b38740d778fb506641a27.png

It is something unusual - partitioner function in TOS. But I decided to add it, because it will make it really simple - no need for floppy, for partitioned SD card, brand new, empty one can be made usable in couple minutes. Without GEM, AES, so in textual mode, + with integrated low level disk access code  this can be really short, so fits in remaining short space (packed, of course) . Navigation will be with mouse - much better than with cursor keys. This simple design will remain - so no boxes, some colors + and like. Then we would be again at length close to AES/GEM version, what is under work too, as regular PRG .

  • Like 2

Share this post


Link to post
Share on other sites

Peter: What is the latest update to your US drivers, how big can I go omn my microSD cards, as you may or may not know , I have the RetroFun version, and I paid $40.00 Canadian for your drivers (my choice) , I want to know if I can go bigger than 512 Meg per drive and more than 14 drives as I have 128 GIG Micro SD cards that I would just love to use on my BBS. 

 

Russ

Share this post


Link to post
Share on other sites
7 hours ago, rcamp48 said:

Peter: What is the latest update to your US drivers, how big can I go omn my microSD cards, as you may or may not know , I have the RetroFun version, and I paid $40.00 Canadian for your drivers (my choice) , I want to know if I can go bigger than 512 Meg per drive and more than 14 drives as I have 128 GIG Micro SD cards that I would just love to use on my BBS. 

 

Russ

This is good question. Short answer would be that improved TOS is made to override regular TOS limitations related with hard disk usage, and make it more efficient too.

So, there are limitations with TOS 1.00-2.06 :

1.00-1.02 - max partition size is 256 MB

1.04-2.06 - max partition size is 512 MB

1.00-2.06 - max count of partitions what TOS can handle is 14 (C-P)

So, you can see that regular TOS for ST, STE machines can handle max 7 GB - what is usual real size of 8 GB Flash card.

Hard disk driver SW can not help in it. Yes, that's why I went on hard task of improving TOS and it's FAT16 filesystem.

Limitations of improved TOS, all versions: max partition size: 1 GB, max 30 partitions. That means that you can use full real capacity of 32 GB SD card, for instance (it is never full 32 GB) .

I don't think that there is sense to go on supporting bigger capacities. Actually, it is possible with FAT32 support (Mint) - but I don't see it as good idea on ST(E) - it is slow and eats lot of RAM.

 

Direct answer to your question: you have latest version of my US driver. And it even has no 32 MB limit for first partition, it can be 512 MB too. You can have more with iTOS .

 

Share this post


Link to post
Share on other sites
1 hour ago, ParanoidLittleMan said:

This is good question. Short answer would be that improved TOS is made to override regular TOS limitations related with hard disk usage, and make it more efficient too.

So, there are limitations with TOS 1.00-2.06 :

1.00-1.02 - max partition size is 256 MB

1.04-2.06 - max partition size is 512 MB

1.00-2.06 - max count of partitions what TOS can handle is 14 (C-P)

So, you can see that regular TOS for ST, STE machines can handle max 7 GB - what is usual real size of 8 GB Flash card.

Hard disk driver SW can not help in it. Yes, that's why I went on hard task of improving TOS and it's FAT16 filesystem.

Limitations of improved TOS, all versions: max partition size: 1 GB, max 30 partitions. That means that you can use full real capacity of 32 GB SD card, for instance (it is never full 32 GB) .

I don't think that there is sense to go on supporting bigger capacities. Actually, it is possible with FAT32 support (Mint) - but I don't see it as good idea on ST(E) - it is slow and eats lot of RAM.

 

Direct answer to your question: you have latest version of my US driver. And it even has no 32 MB limit for first partition, it can be 512 MB too. You can have more with iTOS .

 

ITos it is then, how much for a set of 6 chips, ($30 Euros from what I last heard)....as soon as I get some cash I will send it to you, Rainbow iTos would be good enough...

Share this post


Link to post
Share on other sites

I can try Neodesk 4.06 - that's what I see on link you provided.

Surely can not try Adspeed, or any other accelerator.  But there is no reason that it work not, if work with regular TOS versions.

I really don't know how NeoDesk works, maybe will know more when I test it.

In any case, my orientation is not to support diverse extras - SW or HW . I never had need to use some extra Desktop. For my needs TOS Desktop is OK.

Maybe in past I would be happy with some accelerator, now it has no sense, when new computers are 10000x faster. And I have Mega STE 🙂

So, will try it on Mega STE at 16 MHz .

Share this post


Link to post
Share on other sites

Well, I tried Neodesk 4.06 in Steem, with regular TOS 1.04, simple floppy installation. And it just crashes at About Neodesk dialog - tried multiple times. I really don't see any other reason except it's flaw that it happens - Steem is good emulator, and I used pretty basic and standard settings. Will try tomorrow on Mega STE, but this don't look good. And I don't have time for this and unreliable SW . Or there are better versions - then where to get it ?

Share this post


Link to post
Share on other sites

I can try NeoDesk 4.06 on my Mega ST4, oh ya it has an ICD Adspeed 16 Mhz Booster in it, let you know in a couple of hours save you some aggravation and waste of time , let me spend some of my hard earned time for you. I got 16 hours a day free time , just the project I need for now. Russ

 

Share this post


Link to post
Share on other sites

Peter: It works ok, NeoDesk 4, release 005 Mar 17 1996 , Registered version, I click on the about button and I get the Neodesk 4 box Registered for Anonymous # 000011441. Its in the ST directory , applications sub directory. Probably lots of stuff that you have been looking for. Talk at ya later. Russ

 

Share this post


Link to post
Share on other sites

Russ,

Thanks for the feedback.

 

I'm looking forward to your results when you use NeoDesk with the improved TOS 1.04

 

 

 

Edited by Forrest

Share this post


Link to post
Share on other sites

Thanx rcamp48, I DL-ed Neodesk 3.2 and 4.5 from your Mega storage. 3.2 is indeed older, less features, so I tried only 4.5 and 4.6 with Mega STE.

With 4.6 same crash as in Steem. 4.5 worked fine . Well, if you are not bothered with confusing and not user friendly made installer. It talks about AUTO run, but only some JAR* file is what starts automatically, you need to run NEO starter by hand - that should work automatically in TOS 1.04 and higher via DESKTOP or NEWDESK.INF, but it happens not. Works at 16 MHz of Mega STE too, although, I 'liked' it's comment about 2 short programs for setting 16 MHz - said that they are not executable files 😁 I guess that was confused by missing exit value in d0 - but where it stays that it is mandatory for TOS exec. ?   And Neodesk works not with integrated driver of TOSi - that means most likely that it using some extra system variables, as integrated driver, and there is conflict.  Well, integrated driver is not mandatory, and by default regular driver is used, so should be not problem.

Integrated driver has special purpose: to be simple for usage, and to work with practically 0 RAM usage - there will be same free RAM amount as with floppy only usage, and it means that membot is at same low location - so running SW will be located as low as when run it from floppies - that may help some SW to work at all.

For the end: whole approach of Neodesk and my approach with this TOS improving are very different. I went on high optimization, to keep OS RAM usage as much low as possible, maintaining compatibility with SW as much is possible. Coding strictly is ASM. Using packing where is possible. That's why all it fits in existing TOS ROM space.  Neodesk, and overall German SW approach is, as I see something different: mostly coding in C, following some C rules, which came later than TOS, lot of additional SW for TOS, what runs as ACC or AUTO, or directly runnable. Of course, all it needs RAM, and basically those with 512 KB can not use it. I prefer clean system - because that basic TOS, even those before 2.06 are enough for my needs, for running 95% of existing SW.

German users - well, big part of them think that it is normal to have installed NVDI, ControlACC and other things. And there is SW what needs it to work at all. I don't see that faster graphic operations are so important. I even don't activate blitter in Desktop - what matters will redraw of disk content window last 1 or 2 secs ?  What matters for me are some longer operations - like work with disks. And that's where speed of TOS, hard disk driver, used adapter matters.  SW compatibility. Low RAM usage of TOS. And if I write some SW, it is not bloated by C overhead.

Above means not, of course that all SW done in C is bloated, too long - after all big part of TOS is done in C. But C program and C program are not same. Some are done really way too lame.

 

To answer question about  Neodesk relying on TOS:  yes, it uses lot of TOS, AES, VDI functions - and that's how it needs to be done.  I would like it more with better installer, with consistent AUTO run. It using not too much RAM - basic setting, without ACC and other optional things takes about 150 KB RAM .

Share this post


Link to post
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.

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