I have been looking for a guide that explains TOS (search, fix and burn) for 1.- ATARI STFM or MEGA ST, 2.- ATARI STE, 3.- ATARI MEGA STE

This means:- Which are the best ones (include fixed ones!) for 1, 2 and 3?- Where they can be found (and fix them in detail (which fixes?) if there isn't any "cooked" complete one)- How do you burn them? In this I mean:a) Which eproms can be used in 1, 2 and 3? Capacity, speed for a single TOS load?b) How can we split TOS img files and burn it in EPROMS? What do we have to do?c) Is it possible to burn an EPROM with more than one TOS in it and a boot menu to choose which one I like to boot (and without hardware mod)? How can we do this? d) any other points to consider???

I searched in the forum and I've seen a lot of info (and I already have some answers)...but I think that it is a little bit difficult to follow because is in a lot of topics and guides...(terrible if you go searching in google...).

So I am asking if there is a guide about this a) b) c) points in 1.- 2.- and 3.- systems (that I haven't found) or if we can make one :

If you agree..From all the posts that all the participants will post I will write a final resume that I hope can help all present and future Atari-Forum members.(after trying myself to make and install those TOS)

Ok. We can go in order. First step which TOS is better for each system:

1. Atari STfm and Atari Mega ST (without any hardware modification): Official one: I suppose is 1.04 Rainbow TOS. (can be found at http://www.pangaelinwillow.net/ )Not official (patched) ?

With hardware modification (we will see it later - 2 rom chips):Official one: 2.06 TOS (can be found at http://www.pangaelinwillow.net/ )Not Official (patched) ?Possibility of more than one TOS in ROM chips ? (if yes, we'll see it later)

Here's a guide to ROMs in the Atari the best I can explain and simplify it. I'll reiterate what you probably know- and expand on it.

The old STs, STacy & Mega use TOS 1.0 to 1.4. There are plenty of threads that detail the differences, but basically blitter support was added in 1.2, and 1.4 was a bug fixed and improved version of it. Think HDD speed improvements, and faster windows. STe's got the famous bugged TOS 1.6, and later 1.62- both of which were little more than enhanced 1.4 with DMA sound and other hardware support added.

The STe is the only Atari that TOS 2.06 will directly plug in and run without any modification other than a jumper change.

We can thank originally a third party hardware accelerator upgrade, that saw TOS 2.05 modified for older ST support- and the idea was taken up by Atari as a possible upgrade. While that never really occured, at least the code was modified officially completed- and became 2.06.

So really, TOS swaps are fairly limited. The are all geared toward the target machine. v1 or 2 for ST/STe, v3 for TT, v4 for Falcon. (MagicC is an option too, and covered a bit later)...............................Okay, ROMS.. the dark art of bits and bytes. For the love of binary. Base 2.

Without going through a complete explaination of binary.. goto Wikipedia... but every time you increase the number of available bits to represent a number- you double in capacity. Its (usually) the Most Significant Bit that has that power.

What the fark am I talking about....?

Its the number of 'Address' pins that determines a ROMs' capacity. Its width is represented by its 'Data' bus... usually 8bit.. 8pins. The Atari generally has a 16bit data bus. We need then two ROMs to feed that. They share though the address lines. (I'm simplifiying here, the CPU can address more, and some hardware needs even less..... but go with me)

The ROMs used in the old STs are 32k x8 each. They used 3 pairs for 192kilobytes.... Ahh you say- what of the two chip version. 128k x8.(1MegaBit)... just like the bigger 2.05/06 chips.

See those larger roms have two more address lines... they are 4 times larger.Phew.

Now the cavet... why then doesn't 2.06 work on the old ST.. it fits in the two chip setup.

Yes but. The trouble is, lots of things are on the address bus. All taking their turn. Their turn is chosen by an enabling signal.

As far as the ST is concerned, much of the 'enable' signals get generated by the GLU chip.

It gets rather technical how the glu generates those enable signals- but know this... the CPU when told to look at a particular starting address in its wide range- then wants to know everything in that range- all sixteen bits of it. The enable signal gets the ROM or DMA (or ACIA/MFP etc )chips online- then they are addressed within their own range, and spew out data from their buses.

The old GLU chip doesn't have an enable output to suit the address 'position' TOS 2.0x is programmed for. It has lots of outputs- the ROM ones are labeled... ROM 0,1&2 serve upto 6 TOS ROMs, and then a further ROM 3 & 4 for the cartridge port. (The STe even has undocumented ROM 5 & 6 output pins).

Two chip TOS uses ROM2 to enable the pair.... the ST scans from the TOP down... cartridges inserted and seen by ROM3&4 will be read before TOS ever does!If we could reprogram the GLU chip, we could reassign the new alternative address ROM2 points to for 2.06. However we can't, so Instead we can build a circuit that will do the job for us. It can see when the CPU is trying to access that desired range, and will switch on the ROM chips to let them deliver.

I'm not sure I can say it any simpler.

.................

Now what.... MultiTOS.How can I have more than one TOS?.... Run ROMs big enough to hold them like 4MB. As a result of being bigger- they have even more address pins. The Atari won't use them, but you can. One more Pin doubles the ROM in size, 2pin is quadruple- compared to what we had. 1 vs 4Megabit.

All address pins do is go hi or lo. Zero volts, or 5 volts for typical circuits. Those extra upper 2 pins can be put hi/hi, hi/lo, lo/hi, lo/lo. Manually. Now we have a bank switching mechanism. Toggling those upper bits decides how we divide the contents of the ROM.

The slightly tricky part is- how then do we program ROMs, and furthermore... MultiTOS. Easy.

Most chip programming devices can be told a range to program in. That range can be configured into as many little space as you wish.

Due to size of TOS, it will fit 4 times in a dutiful pair of 8-bit 4Meg ROMs. By manipulating the two excess upper address 'bits', you can force/choose the area the ST needs to see.

Just to be annoying, the two chip STs use a hard to find set of ROMs that manage to squeeze in the two extra address pins within the older 28pin socket. Most often these days, those size ROM are found in a common 32pin version. Just like Proper TOS 2.06. Its a better and more standard setup for the position of the enabling pins.

I guess this isn't sounding easy. It is because of the pin configuration differences in these bigger ROMs, that the STe has that set of three jumpers to configure where those bloody address pins are located. Even the older STs has some solder links for this reason.

So, perhaps I'll finish here, and see what more detail you would like to see explained.

ST.

PS, I appologise if the grammer and syntax is a little off.. I 've written this post a couple times now. The details are less than originally planned......

Last edited by ralcool on Fri May 25, 2012 11:52 am, edited 5 times in total.

Thank you for your posts. I will collect this info. The idea is to have a simple guide to follow and maybe we can suply links to advanced guides and threads on web so if someone is interested in can continue researching in an advance way. My idea is to follow a index, starting with easy things and go increasing difficulty...as long as I am learning too

2. Advanced(it will be a challenge for me ) 2.1 MultiTOS in EPROMs (more than one TOS choice) (Definition done)2.2 EPROM and size 2.3 How to build the MultiTOS image2.4 How to burn the EPROMS2.5 How to install them

If you think that we have to include more points, just tell me

So now we have finished 1.1.1 and we go to 1.1.2. If there isn't anything to say...then we can start 1.2

Once we finish the beginners part I will post the resume of it with all the comments.

I will also collect Ralcool post that will be necessary in the next points

Unofficial TOS... Now this isn't my area of expertise.. but.... I know this.

EmuTOS, and KaosTOS. Both intended for the lower ranking STs. Blow some ROMs and they will run rather easily. How good are they... dunno. Both versions I have are German, and after little more than seeing if they actually booted... I didn't go any further. Success, but nothing really gained or learnt.

When the Motorola CPU first gets power and does its thing to initialise and get stable. Its first job to to read the very bottom address. The GLU chip is powered by now and waiting. The first few bytes of ROM get enabled by the GLU, and as a result-the redirect address is loaded and pointed to, TOS then begins to load properly- regardless the final OS version you are attempting. That redirect is essential.

I love the mechanics of it. This piece of information will make more sense in a later post. (Ala why is there a ROM2 connection on a typical TOS 2.06 upgrade.... its for that one tiny pulse on startup that kicks the boot loader from ROM from the start address into the real TOS space.)

If we want to do this, lets explain & understand how it works. I'll post the Boot loading flowchart next.

Oh yea, We haven't touched on TOS patching yet.. that is something the unofficial TOSes tried to achieve. But there is a bunch of options for patching the regular TOS too.... Again more detail there too.

NVDI is I guess the most well known, The improvements in speed are very impressive. Plus there is extra fonts too and other things.

QuickST is another- mainly focused on speed.

Both these programs are auto folder loaded, and are rewritten sections of TOS in assembly code.

Out side of this, we have TOS patches for various reasons. From the very first TOS we've need patches. Lets cover the important ones. IIRC.There are auto folder loaded patches for this stuff, so no pulling ROMs out yet.

TOS 1.0 had a folder bug that limited the number of folders on a partition. Foldrxxx.prg is born.TOS 1.4 had serial port handshaking issues, and some other minor stuff.TOS 1.6 has the medium resolution desktop bug... can't save desktop in medium res... always boots to low.

The later TOSes are not perfect either, but I'm not aware of any major patches required. That said there certainly patches I've read about- and to look deeper in that there is a couple of files about seems to have a host of little hacks and stuff for both TOS 2.06 and 3.06.... they are related in many ways.

As Darklord is well aware too, there is a big patch for TOS 3.06 if you run a PAK030 board.

Then there is the little tiny hacks to adjust the behaviour of TOS, setting a different default step rate for the FDD, Forcing the HD format menu. Also Ppera wrote an IDE bootloader for the earlier TOS 1.4 for old ST/IDE support. These are 'Hard Patches'.. permanant.

'SuperTOS2.06' is an example of an available patched 2.06 with many thing from tp206v38.lzh applied. Plus neat stuff like full window dragging.

We'll get to ROM burning next... since if you want to hack and patch TOS, we need to know how to load TOS images into an editor for changes... then know how to split the file into chunks to burn to ROM.

Just a quick edit... During the course of actually modifying TOS- using a TOS loader tool like from http://atari.8bitchip.info/tosload.htm lets you test the changes before commiting to real ROM.Woot.....

ST

Last edited by ralcool on Sat May 26, 2012 11:38 am, edited 3 times in total.

You may recall the thread Bid started on creating the ultimate TOS from all the fragments of patches around.

I wonder what the person who compiled the current 'SuperTOS2.06' also modified. I've never found documentation.

Interesting stuff... but I guess in the spirit of the thread, lets finish the basics of putting some code into little black critters.

.....................

1.2.0 EEPROMs and burning.

This is a subject possibly best googled and find the sticky goodness that is to be found. All shapes and sizes, with crazy adapters and shiny things.

Instead your screaming at me "I have an Atari... lets worry about the big ugly chips they use".

Agreed. Cut the crap.

Lets also pretend to just throw away the old style burn once ROMs the ST uses- and get some modern stuff from ebay or whereever you choose.

No chip erasingwith UV light, no timers... We're not buying windowed ROMs with little stickers. Old school baby.

FLASH ROMS are the bomb. You can get them in the few sizes the Atari use, and they are simple to use.

Get a set of SIX '29C256' 32kx8 ATMEL (28pin) FLASH ROMS if you have a six chip ST or Mega. You can do that long wished TOS 1.4 update... or Play KAOS.

If you want to get serious and try TOS 2.06.. get a pair of '29F010' 128k x 8 FLASH... These are 32pin perfect for the STEs & MegaSTEs.... and for a 2.06 upgrade board for the old STs. (With extra hardware too)

The last set of worth are 29F040s.... skip the 020s and go for 4Megabit (512k x8).... these puppies will fit four TOSes..... still 32pin...but using them in the Atari needs some slight hardware creativity.

The thing is, regardless which chips you choose- you buy a single programmer. And programming them is basically identical. Load bigger file, insert bigger ROM. Click Write.

Recommendations for a programmer run wide and hard... go cheap and china. Like a TOP2011, or similar. It will serve you for other projects later- like GAL/PIC programming.

FLASH ROMs make it simple.... I love simple.

............

Getting a TOS dump off the Atari is well covered, and there a few programs that will do it. Again I use the tool from Ppera since it works for me.

You end up with a single file the size of TOS written to your floppy disk. You might want to keep it or compare it to others.

Likewise, there are dozens of Atari Websites with TOS ROM files including this forum. If you compared your file with a hex viewer to a version downloaded- if its the same type it should match.

Patching and editing often will be done purely with a 'hex editor'... there are many free ones. I use HxD... its free to. Or patching will be done with a utility like 'Tospatch', run from a TTP like setup and applied directly to the TOS image file while on disc.

Now we just need to split it back out. While there are again a few way and utilites to do it.. Ppepa wrote one for us too. (Hey I'm not selling it- do you want something that works today?)http://atari.8bitchip.info/astopensw.php

Basically only three types of split are needed 2, 4 or 6. I think its obvious which you choose. 6 chip is only for TOS1.0x or Kaos & Emu. 4 is TT.

The file gets split, and the divided bits get their own file name. Make sure the floppy disc has room. (Why am I talking floppy disc.. well the split program runs on the ST- I've not bothered to find a PC version)

Load each chunk into the programmer in turn- and write a ROM with each. Using the programmer is little more than load it up, select the chip type, open file. Insert ROM into device, check blank/write/verify boxes are ticked, and click GO. 4seconds later its done.

..........

Thats the basics covered in a digestable nutshell. Getting much more advanced is only finer details really. Like Configuring the chip programmer to load multiple image files to a specific areas of an oversize ROM.

I'll think of something to write for another chapter..like perhaps the minor challenge to use the newer 32pin 1meg 128k x8 FLASH ROMs in a 28pin socket... The old 28pin versions are rare and expensive.Putting TOS 1.0x onto 2 new style ROMs is easy to burn, but takes an easy hack to squeeze them in the old Ataris. (Or my thread has detail somewhere if yer impatient)

Ok, official TOSes finished (1.4,1.62,2.06,3.06,4.04)Not official built TOSes finished too (KAOS, SuperTOS, MiNT, MagiC, WinX (MyAES?))MyAES can be found at Ralcool's link: http://myaes.lutece.net/ it is a really advance one, isn't it? only for falcon?

So...it is really difficult to build our own best TOS version, isn't it? I mean, apply to the non official ones NVDI, QuickST (if they aren't applied in any version yet ) and other patches...Does these modifications weak compatibility? I suppose GEM apps no, but games...?

About the burning ROMS subject...

If anyone is only interested in improving his system with a new official TOS...he can go to the EPROM burning, isn't it? I mean, do Flash ROMS need any modification to fit and work in our systems? or can they just fit and work as well as EPROMs?

Depending on the answer we have to make a pause and explain EPROM burning (kind of chips, speed, how to erase (UV), how to burn them and fit them in the system (jumpers...)

To the non official TOSes and if we can customize one...I absolutly agree in going to the flashroms section and in the last and most important point: Multiple TOSes (4) in Big FlashROMs

If anyone is only interested in improving his system with a new official TOS...he can go to the EPROM burning, isn't it? I mean, do Flash ROMS need any modification to fit and work in our systems? or can they just fit and work as well as EPROMs?

Depending on the answer we have to make a pause and explain EPROM burning (kind of chips, speed, how to erase (UV), how to burn them and fit them in the system (jumpers...)

To the non official TOSes and if we can customize one...I absolutly agree in going to the flashroms section and in the last and most important point: Multiple TOSes (4) in Big FlashROMs

What do you think?

The whole point of jumping to FLASH ROMs is perfect compatibility- no worring about speed- The Atari wants to see around 200nanosecond minimum access times. Most EEPROM or Flash are less than 120ns.

Really the only difference for us- Flash is simple to erase in the same programmer than wil program them. EPROMs need manual erasing with UV. The original ST ROMs cannot be erased.(EEPROM is another name for FLASH... Electrically Erasable ROM)

The programing steps are explain in the previous post. If you just want to burn a set of 2.06 for an STE/Mega STE... Buy a pair of 29F010s, Split the TOS image in two, Flash em, and drop them in. Jumper for 32pin mode. (I'll post up presplit images if it helps)

Making your own beta/Patched TOS is whole another subject. And trying QuadTOS takes some even further steps to make a bank switch function.

tomorrow I will write about burning flash roms. Just only changing EPROMs chips for the EEPROM equivalent ones you wrote down. I will probably send you a PM before posting it because maybe you want to correct something

Now you sound like my 5yr/old daughter. "What next dad?" .. usually I give her a paint brush, or the mouse and google. Kids these days.........

I guess I'll have to make a proper tutorial on ROM burning and splitting.... I covered the basics- maybe we need pictures and details.

Why, because I love telling her as much as anyone else.

I'm not picking on anyone. Do you know how long it took me to really understand the very basic reasons why the ST works?.... My silly thread is over two years old- much of that is learning. I know electronics- but the ST is a computer. I found out really quickly I didn't know much at all.

Going slightly off topic (in response to comments from ralcool), if you take a simple computer (without a video display generator circuit or any of the more complex features) things are fairly straightforward. You have a CPU in the form of a MPU chip, you have ROM (EPROM / EEPROM), RAM and some input/output circuits to communicate with the outside world. The memory map (showing the addresses of each device like ROM, RAM and I/O devices) is simple and fixed. The "OS" and main program are held in ROM and the RAM is used as working memory for the storage of variables etc. This is both a description of simple 8 bit computers and of modern micro-controllers.

Now we go up several levels to the 16 / 32 bit 68000 MPU based Atari ST range. We still have a MPU, ROM, RAM and I/O devices, but as each function is more complex, plus we are using dynamic RAM (DRAM), a video generator to feed a analogue CRT display and a mixture of various I/O including 8 bit and 16 bit devices it becomes more of a headache. But the basic principles are still the same. Hardware selects the "start-up" location in the ROM, MPU loads the first instruction, checks to see if a ROM cartridge is present, MPU configures system hardware, loads address of the main OS (or if a ROM cartridge is present, the address of the code in the cartridge) and executes the code. Assuming no ROM cartridge is present, TOS takes control and checks to see if a "bootable" drive is present. And you know the rest...

Now, as long as there have been "home" computers people have been tinkering with them including the ROM code. Often it is the "OS" in the ROM (along with the case and the I/O circuits) that define what most people recognise as a particular computer (well until "cheap" HDD and PC compatibles changed things).

And as is normal, a manufacturer produces a model, and one model in the range becomes popular. It sells well, so now the manufacturer has a problem. They want the next version to be compatible with the software already released, but want to add new features and / or correct mistakes and limitations in the "OS". The result is various ROMs, some of which will only work in selected models (Atari is not the first to have this pain). And on top of this, various "third parties" develop ROM / OS hacks to overcome bugs/mistakes/limitations and various improvements. Atari did notice this, and often incorporated improvements (e.g. TOS 2.06).

Now fast forward past history back to our current time, and the big party is over. Many people have left and moved elsewhere, but many have stayed and there is a trickle of newbies. Information is scattered around, but with no central repository. Development has slowed right down, but there still some people working on modifications and in some cases new developments.

But the internet and the web are helping preserve a lot of information. Finding what you want is sometimes time consuming. But the main hardware is the same. You cannot kill an Atari if you burn the wrong OS into a EPROM / EEPROM. Just check that you use the correct settings on the programmer and that the ROM chip is compatible with the socket and Atari motherboard circuit.

Better still, soft load the ROM image into RAM and test it there.

The main problem with changing or modifying ROM code on the Atari is that it is made of of many parts, some of which were written in "C" and some was written in assembly language. Most of the original source code in "C" and assembly language is not available. So it's a bit of a black art... So much so that some of the replacement OS were developed from scratch.

Mark

Falcon, Atari 520STFM, Atari 1040STE, more PC's than I care to count and an assortment of 8 bit micros (nearly forgot the Psion's)

Thinking aloud (who's that at the back yelling "Shut up!" ) if you had or were to modify a STFM/ST/STF/STM to have TOS 2.06 there is no reason why you could not use the address space allocated to the old TOS 1.XX ROM's to hold extensions, or utilities...As long as the correct TOS is in it's correct address range, the machine does not much care about otherwise unused areas of the memory map. So in a machine running TOS 1.XX that has the had the TOS 2.06 hardware modification you could again fill this (the TOS 2.06 address range) with extensions, or utilities...

Mark

Falcon, Atari 520STFM, Atari 1040STE, more PC's than I care to count and an assortment of 8 bit micros (nearly forgot the Psion's)

I think I have to apologize because I know very little about the ST, TOS and burning ROMS The Atari STfm was my first computer and I really loved it Now I have my STfm, 1 ST,2 STe and 1 Mega STe but I really want to know more about them, improve them and make the very best of them.

So the first thing that came to my mind was TOS. I remembered different TOS versions and different bugs on them... I have TOS 1.0 on the ST, TOS 1.04 on the STfm, 1.60 on the STes and 2.06 on the Mega STe (but with some troubles...you can look to my other thread asking for help )

So, then I thought that I should improve my systems with the most efficient TOS...and I saw, after searching on the internet for several days, that there is a little bit of disorder on this subject...

That is why I started this thread: To make a guide that anyone can follow to the chapter that he wants to. Starting by official TOSes (more easy), then unofficial but more efficient ones (easy too...just only to know why they are better and which improvements they have), then maybe, if it is not impossible, our own best "home made" TOS (I suppose very very difficult for what your saying...), and as last point how to burn them...EPROM, EEPROM as you said, and state of the art...multiple TOS........but.....I don't have the enough knowledge level to do that...I am learning as long as we write this thread...that is why I think is very important to follow an index.

Ok..., after all this writing...I want to say that I am happily surprised about all the people that is collaborating...and of course, I will do my best to make with all of you (I hope so) a very good Atari TOS upgrade guide

Now... the writing about EPROMs...I am on it

Ralcool...Maybe I will ask you for help about EEPROM...I will try to include them...simple use...only one TOS