STE documentation
8.
Miscelleanous questions
and other STE compatible
computers
This
section simply features
a few questions about
what compatibility problems
you might expect when
coding STE or what to
do when you want to
use additional features
of certain models like
the TT, the MegaSTE,
the Falcon without abandoning
STE compatibility totally.
?
How compatible is the
STE with the Mega STE,
TT and Falcon ?
!
Here's a small chart
of the additional features
of the 1040 STE
and their existance
on the other models
(including the Mega
ST and ST for completeness):
ST
MegaST STE
MegaSTE
TT
Falcon Note:
--------------------------------------------------------------------
4096
colours no
no
yes
yes
yes
yes
(1)
Blitter
no
yes
yes
yes
no
yes
Hardware
scroll no
no
yes
yes
yes
yes
(2)
screen
splitting no
no
yes
yes
no
yes
(3)
DMA
sound no
no
yes
yes
yes
yes
(4)
LMC1992/Microwire
no
no
yes
&nb internal SCSI hostadapter
that is mounted
on an internal ACSI-bus.
Hence, the Mega STE
sees your harddisk
as ACSI, not as SCSI
and can also not directly access
the SCSI controller
on it.
?
I see the Mega STE has
a socket for a math
coprocessor. Which
types can i connect
?
!
The Mega STE was intended
to drive a 16 MHz MC68881,
but it should (!)
also work with a 16
MHz MC68882 if it fits.
The coprocessor will
be driven with 16 MHz.
?
How do i program the
Mega STE's MC68881 if
present ?
!
That's unfortunately
more complicated than
for the Falcon and
the TT since the 68030
used in TT and Falcon
can operate an
MC68882 directly while
the 68000 in the ST,
STE and Mega STE cannot.
The Mega STE has a coprocessor
interface register from
$FFFFFA40 to $FFFFFA5C,
but it also requires a
so-called "coprocessor
protocol" to communicate
with the MC68881.
This is rather complex
and too much to list
here. The operation
of the MC68881 in the
Mega STE is identical to
the operation of the
FPU-cards for the Mega
ST, so i recommend
the documentation of
these.
?
I want to make sure
that my software uses
the Mega STE in "high
speed", but when
i boot the Mega STE
"cleanly",
it always is in
"8 MHz cache off"
mode. How do i switch
itinto 16 MHz cache
on ?
!
The Mega STE has a register
to control speed and
cach status:
$FFFF8E21
- - - - -
- X X
Bit
0 controls the clockspeed
(0 = 8 MHz, 1 = 16 MHz), the
upper bit controls the
cache (0 = Cache off,
1 = cache on). Some
docs say that all upper
15 bits of $FFFF8E20
need to be set
to "1" to
turn the cache on. Writing
to this register in
anything but a Mega
STE will most probably
lead to a crash, so
be sure to check the Cookie
Jar for _MCH to estimate
wether this is a Mega
STE or not (Upper
word is 1 for STE, lower
word is 0x0010 for Mega
STE, 0x0000 for anything
else).
?
How come the Controlfield
only allows 16 MHz Cache
On, 16 MHz Cache
off and 8 MHz Cache
off when the hardware
also allows 8 MHz Cache
on ?
!
Because the setting
"8 MHz Cache On"
is senseless. The cache
operates at 16 MHz and
is meant to reduce real
memory accesses for
the 16 MHz CPU since
the bus and therefore
the memory only runs
at 8 MHz. When
you run the CPU in 8
MHz, the cache will
operate at 8 MHz,
too, and hence be as
quick as the bus - giving
no more speedup.
?
Can the Cache of the
Mega STE lead to problems
with demo effects
since it does not influence
memory directly ?
!
Yes and no. From the
docs i have - and they
are not really very
detailed about the Cache
of the Mega STE - any hardware
register access is not
being cached but carried
out directly. If your
"demo" just
does a lot of hardware register
accesses, the cache
should not really be
a problem. However,
screen memory and other
buffers are in the main memory
and therefore cached.
If timing is critical
for accesses on these
parts of the memory,
better turn the cache
off.
?
How fast is the Mega
STE at 16 MHz without
the cache ?
!
Unfortunately, not very
much faster than an
ordinary 8 MHz STE.
The cache might seem
small according to todays standard
(16 KBytes), but for
a system like the Mega
STE, it reduces
memory accesses dramatically.
If you turn off the
cache, the 68000 has
to fetch everything
directly over the
8 MHz bus. Only operations
that completely work
in the 68000's registers
will gain performance.
The
Atari TT and its features:
?
Urghs. The TT also has
this ugly internal speaker
thatsounds awful. How
can i turn it off ?
!
The internal speaker
is being controlled
by the YM2149 directly
over port IOA6. The
settings are
OnGIbit:
($40) - switch internal
speaker off
OffGIbit:
($BF) - switch internal
speaker on
?
Say, is the 8-bit resolution
of the TT a chunky resolution
? That would be
cool for demos and games.
!
Unfortunately, it has
the same interleaved
bitplane structure like
the ST and STE have.
Screen memory is organized:
Word
0 X X X
X X X X X X
X X X X X X X
pixel 0-15
plane 0
Word
1 X X X
X X X X X X
X X X X X X X
pixel 0-15
plane 1
...
Word
7 X X X
X X X X X X
X X X X X X X
pixel 0-15
plane 7
Word
8 X X X
X X X X X X
X X X X X X X
pixel 16-31 plane
0
etc.
?
I read somewhere that
the Falcon can be switched
to an STE compatible
mode. Is there something
similar for the TT ?
!
No. STE compatibility
for the Falcon also
only refers to STE
compatible resolutions
(ST Low, Mid, Hi) and
STE compatible DMA-sound
(8 bit). The TT has
the ST(E) resolutions
anyway and the DMA-sound
is identical to the
one of the STE as well.
But, the TT lacks the
Blitter, cannot change screen
addresses in the middle
of a screen and does
not have the enhaced
joystick ports. So,
since the TT lacks important
hardware specs of the
STE, a compatibility
mode would be rather
useless anyway.
?
Why does the TT lack
the feature to change
Video Counter during
a screen build anyway
?
!
At least according to
Ray/tSCc, it actually
allows write accesses.
However, the official
documentation states
this register as read/only.
In the monochrome hires
mode it is not advisable
to write to these registers
since the TT shifter
does 95 MHz (74 Khz
at 1280x960), which
is almost 3 times
the speed of the TT's
CPU and 6 times the
speed of the TT's bus.
So be careful in this
mode.
?
I toyed around with
the SYNC-Mode register
but it behaves odd
on the TT. Why ?
!
Even though this register
is called "ST Sync
Mode" officially, it's
the direct opposite.
Only Bit 0 is used and
if it is "0", screen
is off, otherwise screen
is on (On the ST, "0"
was on).
?
What's the difference
between the ST Shift
Mode Register and the
TT Shift Mode Register
?
!
The ST Shift mode register
is supposed to be only
2 bits wide and
contain a "00"
for ST Low, "01"
for ST Mid and "10"
for ST High. However,
the ST Shift Mode Register
on the TT also contains
ALL other bits of the
TT Shift Mode Register
as well. The ST Shift
Mode Register is more
or less a mirror of
the TT Shift Mode
Register. Hence, be
careful when writing
to this register
for STE compatibility,
you might turn on/off
TT specific features.
?
What is that funky greyscale
mode of the TT i read
about ? Is it any useful
?
!
The so called "Hper
Mono"-mode is a
mode in which each pixel
can have 1 of 256 greyscales.
To enable this mode, you
need to set bit 12 of
the TT Shift Mode register:
$FFFF8262
X - - X -
X X X - - - -
X X X X
This
mode will combine the
green and blue channel
(=8 bits) to gather
256 greyscales. Obviously,
it is not a chunky but
still a palette mode,
however, not using the
original TT palette
(4096 colours can only
feature 16 greyscales). It
is not a chunky mode
either but still uses
the same interleaved
bitplane format. Then
again, it seems that
this mode can be engaged
not only in the 256
colours resolution. But,
this mode _only_ exists
on the TT. This mode
is _not_ available
on the ST, the STE or
the Falcon. Please
note that using this
mode will limit your
software to run
solely on the TT.
?
Then i read about a
smear mode on the TT.
What is that ?
!
The so called "Hold
& Sample" mode
of the TT an be engaged by
switching bit 13 of
the TT Shift mode Register:
$FFFF8262
X - - X -
X X X - - - -
X X X X
In
this mode, every pixel
with a colour different
from 0 will "smear",
meaning that all pixels
with colour 0 to the
right of a pixel with
colour X will be drawn
in colour X. Only the
left border resets the
smear mode and really
draws colour 0
as colour 0 until a
pixel with colour<>0
follows.This mode was
meant to make programming
of filled-vector 3D
graphics about as easy
as programming wireframe
vectors. Unfortunately,
it stayed widely unused. Please
note that this mode
_only_ exists on the
TT and is_not_ available
on the ST, STE or the
Falcon.
?
What TOS does the TT
have ? If i use routines
from TOS 1.0x or
2.0x directly, will
it work on the TT, too
?
!
Unfortunately, there
are 5 series of TOS
for the TT, TOS 3.01
to 3.06, not counting
the very first TT-TOS
called TOS030.
So please, if using
TOS routines, program
as cleanly as possible
to ensure compatibility.
?
How come that the TT
only uses 2/3 of the
width of my VGA monitor
but displays a stupid
white border ?
!
When Atari designed
the TT and especially
the TT shifter which
has VGA-compatible elements,
IBM decided to change the
specs of the VGA standard
(at least some docs
say so, there are no
official affirmations
for this). This is why
the TT displays a rather
pointless border and also
only uses 2/3 of the
screen width. The simplest
solution to go around
this is an OverScan
TT which simply
uses up the whole space
the TT reserves for
the border, giving up
to 896 x 496 pixels
in TT Mid and 448
x 496 in TT Low.
The
Falcon030 and its features:
?
How compatible is the
Falcon to the STE ?
Will my STE code work
flawlessly on the Falcon
?
!
Yes, the Falcon was
meant to be an (68000-based)
successor to the
1040 STE, therefore
it is easy to code Falcon-compatible
STE-code. The only exceptions
are:
-
The Falcon does not
allow 6.125 KHz DMA
sound
-
The Falcon's screen
base address has to
be a multiple of 4
-
The Falcon does not
have the so-called "Shadow"registers
of the YM2149
To
also make sure that
the timing of the CPU
is (almost) correct,
switch the processor
caches off and the CPU
and the Blitter
down to 8 MHz. Now,
the only obstacle is
the DMA-sound matrix
of the Falcon which
might be setup wrongly.
?
I migrated from a 1040
STE to a Falcon030.
But how can I connect
my external Floppy disk
drive or connect my
good old ACSI-harddisk
drive ?
!
You cannot. The Falcon
does not have any kind
of interface for
an external disk drive
- even though the TOS
4.0x still checks
for Drive B: on boot-up.
Additionally, the Falcon
does not have an ACSI
port. You cannot connect
any ACSI- devices such
as harddisks or Laser
printers.
9.
Epilogue
Without
a doubt, the 1040 STE
and the Mega STE are
nice pieces of
hardware. In 1989, the
1040 STE offered quite
a lot a home computer
could offer and you
got a computer with
excellent sound
capabilities for the
price of a sound-card
for your PC alone. In
1991, the professional
STE was released with
the introduction
of the Mega STE. 16
MHz clockspeed, 16 KB
cache, VMU interface
and internal harddisk
at a price for which
othercompanies gave
you an update of their
operating system and
a new harddisk.
But
the STE didn't make
it. The 1040 STE's features
stayed widely unused
until the release of
games such as Obsession
or Stardust, of
Demos such as Brain
Damage by Aggression
or Omega's Grotesque
or of tools such as
the ProTracker STE.
The
Mega STE did not increase
the sales of STE computers
a lot either, being
limited to STE graphics
and sound. This
documentation is for
people that, like me,
like the STEfor what
it is: A fun machine
with quite impressive
specs. I assembled this
documentation in case
you want to program the
STE's features such
as the Blitter, the
hardware scroll or DMA
sound and would like
to avoid stumbling over
the little traps
in the STE design. So
i hope you find this documentation
useful and keep on programming
the STE to push this
little machine to the
maximum.
Best
wishes,
The
Paranoid
Paranoia
-- Lunatic Asylum
Think
you can handle it ?!
10.
Final words
This
FAQ has been collected
and assembled using
various sources:
-
Atari ST/STE/TT Profibuch,
Jankowski,
Rabich, Reschke, Sybex
Verlag 1991
-
Das TOS 1.4 Update Buch,
Pauly,
Data Becker 1989
-
Chips'n Chips 6.0
Ruge,
AG Computertechnik 1998
and
many many experiments
on a 1040 STE using
TOS 2.06, a Mega
STE using TOS 2.06 and
a Falcon030.
This
documentation is far
from complete and is
not given with
any warranties about
correctness. Any kind
of damage done
to yourself, your hard-
or software after, while
or before reading this
documentation is not
being covered in any
way by the author. If
you copy this documentation,
please do not alter,
add or subtract
any content. This documentation
is free to copy
as long as it is copied
completely and without
additionals. If you
spot mistakes or have
proposals on what to
add, feel free to mail
the author at paranoid@atari.org
.
<Previous> [1][2][3][4][5][6]
|