Showing posts with label ROM. Show all posts
Showing posts with label ROM. Show all posts

Thursday, 5 March 2015

Atari ST



I had an Atari STE in the beginning of the 1990s and alongside with the Amiga it was my entry point to 16-bit computers.

The Atari ST and Atari STE

Powered with a Motorola 68000 chip, typically equipped with 512 or 1024 Kilobytes of memory and a 3.5 inch floppy disk drive. The display resolutions were 320x200 with 16 colours or 640x200 with 4 colours. Initially, these colours were selected from a total of 512, whereas the later STE extended this to 4096, as in an Amiga. With a special monochrome monitor you could have 640x400 black and white display. Sound came by courtesy of the Yamaha YM2149 chip or DMA sample playback on the Atari STE, which also brought in hardware scrolling.

More advanced models such as Mega ST, Atari TT and Atari Falcon would have better specs, but I'm only really talking about the ST/E.

You could plug a mouse and a joystick into it and play games or run programs. With the MIDI ports built-in, it became a cheap alternative for amateur and professional musicians alike.

A semi-naked Atari STE, with the disk drive removed.

The Atari ST desktop

The graphical desktop with the green background is called the GEM. The operating system is called TOS (Apparently, The Operating System). Both are included in the Read-Only-Memory, which is a bit unconventional but handy for a floppy-disk based user.

I have a bit mixed feelings about the GEM in its simplest forms. Funnily enough, it kind of resembles what we now have in touch screens: simple graphical means for launching apps, and not much else. In huge hindsight, the ST might have benefitted from having a BASIC in the ROM, 8-bit style, instead of this wonky desktop that cramped creativity.

Positively, as the GEM was stuck into the ROM it was really quite universal for Atari ST. With this in mind it was good that the GEM could be customized with software such as RAM disks, command shells, alternative file selectors, virtual hi-resolution etc. With some luck these could be integrated together with all properly written GEM software, adding more sophistication to the system than there seems to be.
Which isn't much, to be honest.
There were also full desktop alternatives such as KAOSdesk. For a graphic journey through the TOS versions and alternate desks go here.

Typically, a poor Atari user would have 3.5 inch floppy disks with 720Kb capacity. The Atari ST uses DOS-style filenames, with 8 letters and a 3-letter extension. So, TXT and DOC files can reasonably be expected to be text files. Rather generously, the GEM can display text-files and readmes without a separate program.

PRG, TOS and TTP (TOS-Takes-Parameters) files can be run as executables. The TTP file expects typed arguments which sometimes worked with ARC, LZH, LHA and ZIP archivers. (Or even ZOO... anyone remember ZOO?)

TOS/GEM upgrade

I just upgraded my STE ROM chips from 1.06 to 2.62, the final version for STE. The upgrade is not difficult but requires some soldering as the jumper settings have to be changed. This also limits somewhat the switching between ROMs. There are a lot of tiny improvements and the GEM feels generally slicker. Some incompatibility may arise, though.
The ROMs are under the floppy drive. The jumpers are on the right (here not set correctly)
WIth these earlier TOS versions, there is no multi-tasking, but there are some workarounds to this in the GEM environment. It can seem toy-ish compared to an Amiga Workbench, but if I had to pick between the two as purely floppy-based systems, I would prefer the Atari GEM.

Desk Accessories

Programs with the .ACC extension, when placed in the root directory of a floppy disk, will be run automatically upon booting and added to the list of resident "accessories".

These can be then called from the GEM top left menu. Control panel, calculators, tiny text editors, games and so on somewhat compensated for the lack of multitasking.

The AUTO folder

The auto folder was a neat way of auto-booting any file on disk without the need to edit any scripts. Create a folder named AUTO. Place an executable file inside it so your Atari ST will run it when booting. *.TTP and *.TOS filename extensions have to be changed to PRG.

If I remember correctly at least some TOS versions occasionally refuse to load the accessories, another glitch I think.

AUTOSTART.PRG

Sadly, the running order inside the AUTO folder depends mostly on which order the files were chucked there. A special software could be used for re-ordering them.

STE_FIX.PRG

One of the silly bugs in version TOS 1.06 in Atari STE messed with the resolution so that the medium resolution (the most useable for TOS) setting would not work when booting. Place the STE_FIX.PRG inside the AUTO folder mentioned above. Or get another version of TOS.

Command shell?

Sadly the GEM does not come with a command shell, more handy for many things. There are shells, though, and the GEM/TOS communicates quite well with them. The most extensive of them, the OKAMI shell, is a reasonable facsimile of a unix/linux type shell but this can be a bit too clever for its own good.

With OKAMI you can use ls, cd, more and so on for examining files and disk contents, but also more complex things like paths and shell scripts. OKAMI's a bit slow and cumbersome for floppy drive use on a standard Atari ST, and it takes nearly 100K so it does not boot instantly.

Games

What's good? Highly subjective. I maybe spent most time playing Larn, Midwinter, Knights of the Sky, Railroad Tycoon, M1 Tank Platoon, Damocles and Llamatron. A lot of people swear by Dungeon Master and Oids. Oh, and the games mentioned here are not particularly Atari ST-specific, as they were available for the Amiga and PC, too.

Recently I've played Larn and been able to get into M1 Tank Platoon too, Virus and Stunt Car Racer are not bad but honestly I'd say most 16-bit games, especially with 3D-graphics, are not highly playable.

SD card readers

It would be wise to throw away the floppy drive and get a card reader instead. A HxC floppy emulator does a pretty good job, whereas an Ultrasatan device can be more flexible for replacing a hard drive. (In fact, loading floppy games poses some, but not insurmountable, problems for the Ultrasatan)

HxC is simplicity itself: remove the internal floppy drive and connect the Floppy Emulator with the drive cable and the floppy drive power cable.

The Atari outputs composite video, but there is no direct connector for it.

Amiga/Atari ST combo mouse was a common sight in the past and should not be hard to get.


Here's a good site for deciphering all the connectors of an Atari ST. It seems a VGA for monochrome is not that hard to build, but the weird monitor cable plug may not be easily available.

Thursday, 14 August 2014

Rewriting Spectrum ROMs on a ZXEvolution/TS-Conf

Here I am exploring another interesting feature of the ZX Evolution, the Z80-based hobby computer that has ZX Spectrum modes. What I'm looking at here is changing the ROMs, as the Evo has a fully re-writable EPROM chip.

For a noble cause.
Using the ROM burner in Wild Commander file explorer, I can rewrite the ROM with some of the original Psion/Sinclair 16k ROM cartridge binaries. This is quite an interesting prospect for an old Spectrum-head, since these ROMs have been quite hard to get and usually require an Interface 2. Also, ROM burning usually requires some special equipment and boards, but the TS-Conf/Wild Commander makes it very simple.
I'm talking about one of these thingies. Interface 2 required, but not pictured.
There are a few 16k games for the Spectrum on the cartridge format. Since Ultimate/Rare has actively discouraged the distribution of their games, Jet Pac, PSSST, Tranz Am and Cookie binaries can be harder to find. This leaves Psion Chess, Backgammon, Hungry Horace, Horace and the Spiders, Planetoids and Space Raiders. The chess and backgammon games are pretty well done for what they are, Horace and the Spiders is nice enough and Space Raiders is a passable Space Invaders rip-off. Planetoids I don't care much about. (Of course, all these games are available on tape.)
ZX Spectrum 48k simplified memory map.

Burning chROMe 

I've explained a little bit about using the TS-Conf and Wild Commander here. The Wild Commander is renamed as boot.$c and placed at the card root. Also, a WC folder at the root contains all the plug-ins and the INI file that lists them. Selecting a .ROM file activates the ROM WRITER plug-in, if it is correctly installed.

The version number 0.1 tells that we are doing this on our own responsibility...
After picking the ROM file select the block #01. DO NOT use the ROM block #00. I did once, and although the computer nicely boots to the desired ROM, it will not boot into anything else after that! (Thankfully I could flash the T&S firmware and rewrite everything).



Symbol Shift+F12 returns to the TS Conf frontend. Here, adjust the "Reset to:" into ROM #04 and use the bank SYS. After that, a plain RESET (F12) will activate the ROM.

ZX Evolution transformed into a chess computer.

Rom Writer v0.2 

Edit 2015: The new version of the ROM WRITER makes it possible to write the ROM files into RAM. When the ROM WRITER v0.2 activates, select the last option, RAM #F8.

Then, In the TS-BIOS Setup-utility use parameters Reset To: RAM #F8 and bank:SYS, then reset to run the ROM. Soft reset will not destroy the contents. This is very handy for testing ROMs.


Other ROMs

This here page describes efforts to build new ROM cartridges for the Spectrum, plus also the games mentioned above and some prototypes. There are also zx80, zx81 and the Forth-based Jupiter Ace emulators, which all run on the Sinclair Spectrum as ROM cartridges. The 128k versions can be burned on the ZXEvo and they work. They are not 100% compatible with the original computers but it is neat work nevertheless.

"Jupiter Ace" on a ZX Evolution. Ok, so I'm not very good at Forth.
Another exciting use for the ROM burner is re-writing or modifying the original Spectrum ROM. For example, there is some free space before the character graphic definitions. (14446-15615) Some code can be positioned there without harming compatibility. There could be utilities, a small machine code monitor, et c. (In the russian ROMs, the TR-DOS might get conflicted, though.)