Post by Rick CorteseAtari was limited in that they only had 256 bytes of RAM in a 6810 and a
PIA type chip. Can't exactly have a 6502 stack and still have 256 bytes
available for a write buffer.
There exists an extension for the 1050 which does this trick: the
1050 Turbo module by Bernhard Engl (released in 1986). It's just a
replacement for the 1050 ROM and consists only of a ROM chip plus
some logic ICs to do bankswitching.
I've always wondered how this really worked (yes, you need a 256 byte
buffer if you want to use 256 byte sectors). Some time ago I talked
to Bernhard Engl and he explained the trick: If you can live with
a subroutine level of 1 you don't really need a stack. Instead he
just used the stack-pointer as kind of a function index.
The software in the 1050 (turbo) is quite straight forward and using
only one subroutine level is sufficient. Consider what happens eg
when reading a sector: first the 1050 receives the command frame,
then it has to read either 128 or 256 bytes from disk, then it
transmits the data frame (either 128 or 256 data bytes) to the
computer.
After command frame reception, the software knows if the sector
is either 128 or 256 bytes. So it sets up the stack pointer register
to, lets say, 1 for "send 128 bytes" and 2 for "send 256 bytes"
and then jumps to the read-disk-sector subroutine. At the end
of the routine, it checks the S register and then jumps to
the right "send bytes" routine.
The fine thing about the 1050 Turbo was that it was a lot cheaper
than all the other floppy-speeders (like happy/speedy/...). It cost
only 99 DEM and with 49 DEM more you could add a printer interface
(this interface was connected directly to the module inside the
1050). And, the 1050 Turbo came with one of the most sophisticated
backup tools. Very fine thing and it was also very popular here
in Europe (especially Germany and Austria).
so long,
Hias