Home

 

Facts

 

Archiv

 

Develop

 

Links

 

Site info

 

  [Disclaimer]

Development for STE

[Composing]

Tracker on STE

[1][2]

Chipsound

 

[Painting]  

Dpaint course  

16 colours thoughts

 

[Programming]

STE Documentation

[1][2][3][4][5][6]

Special STE Tricks

Devkit for PC owners

 

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]

 

This site has no commercial intention. It is dedicated to the old Atari computers and has nothing to do with the new Atari-Label owned by Infogrames!

Last update 12.07.06