|
|
[ Back to Main ] 9. 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 yes yes (3) DMA sound no no yes yes yes yes (4) LMC1992/Microwire no no yes yes yes no Adv.Joystick port no no yes no no yes Notes: (1) The Falcon has to be in an ST compatible resolution for this. On the ST, programs that try to use 4096 will not crash, but still be limited to 512 colours. (2) Both Base Address and Counter have to be multiples of 4 on the Falcon and multiples of 8 on the TT. (3) On the Falcon, the Video Counter can only contain values that are multiples of 4, on the TT, the Counter has to be a multiple of 8. (4) There is no 6.125KHz DMA sound on the Falcon. The Mega STE and its features: ? The TT features quite a complex SCSI subsystem but i cannot find any information of the Mega STE's SCSI subsystem ? ! That is simply because the Mega STE does not have a SCSI subsystem. If your Mega STE is equipped with an internal SCSI harddisk, it has an 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 it into 16 MHz cache on ? ! The Mega STE has a register to control speed and cache 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). This address is part of the system control unit (SCU) and 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 that sounds 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, not really. On the Falcon, "STE-compatibility" usually refers to the DMA- sound settings. Otherwise, the Falcon can be switched to 8 MHz, has a Blitter which can also be switched to 8 MHz, the extended joystick ports and has STE compatible resolutions (4096 colours). Furthermore, the Falcon is some kind of a "tuned-up" 16-bit system that has a 24-bit address management. The TT lacks the Blitter, cannot switch the CPU down to 8 MHz, has a full 32-bit address management, sports Fast- and ST-RAM, does not have the advanced joystick ports and cannot work with 15 KHz RGB-monitors. Full STE-compatibility is therefore not possible in all respects, even though the TT has the 8-bit DMA- soundsystem identical to the one of the STE and also features STE-compatible resolutions. ? 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 15 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. [ Back to Main ] [ Onto next Chapter ] |
|