[comp.sys.atari.st] Facts, not only talking about them.

qralph@dna.lth.se (Ralph Haglund) (12/14/89)

Hi,
I have spent, wasted, countless of milliseconds reading the flames, and
also the comments from Ken (even sent him an e-mail or two one late night,
but that's only a week or two ago so no reply yet). Instead of telling why
facts shouldn't be distributed in a crisp form on this net I think it would
be SHORTER to tell them! Like this, as an example:


       New registers in the 1040STE.
From an article by Martin Backschat in ST Magazin, December 1989.
Translated by Ralph Haglund, QRALPH@SELDC51, qralph@dna.lth.se.

FF8204  ..........xxxxxx  VCOUNTHI (R/W)
FF8206  ........xxxxxxxx  VCOUNTMID (R/W)
FF8208  ........xxxxxxx.  VCOUNTLO (R/W)

The Video Address Counter is now read and write. A write
effects immediately, thus be careful and use it preferably
during the VBL interrupt.

FF820C  ........xxxxxxx.  VBASELO (R/W)

This register contains the low byte of the screen base
address. It allows you to set the screen on a word
(earlier only on a 256-byte block) to get vertical
scrolling.

FF820E  ........xxxxxxxx  LINEWID (R/W)

Contain the offset to the next line. The value is the
number of words that is added at the end of the screen
line to get to the new line. When value = 0 (happens
at reset) it works like on a ST. This allows panning of
a wider image than can be seen on the screen.
Ex: Write the value 20, giving, in 640x400 mode an image
640+20x16 = 960 pixels wide. To see column 20 to 670 you
increase the screen base address with one (16 bits) and
put a 4 in HSCROLL.

FF8240-     red grn blu
FF825E  ....032103210321  PALETTE (R/W)

Palette register, now 4 bits for each colour. Observe
that the least significant bit is placed highest, to
retain compatibility with ST.

FF8264  ............xxxx  HSCROLL (R/W)

This register makes horizontal bitwise scrolling possible.
The value tells at which bit of the screen address VBASE
the screen will start.

             fire button
FF9200  ............3210  FIRE0-3 (R)
        joy3  1   2   0
FF9202  udlrudlrudlrudlr  JOY0-3 (R/W)

Via the fire and joy registers you inquire about the two
old (joy1 and joy3) and new (joy0 and joy2). You can also
write to joy0 and joy2.

FF9210  ........xxxxxxxx  XPAD0 (R)
FF9212  ........xxxxxxxx  YPAD0 (R)
FF9214  ........xxxxxxxx  XPAD1 (R)
FF9216  ........xxxxxxxx  YPAD1 (R)

You can put a pair of paddles in joystick port 0
(paddle 0) and another pair in joystick port 2 (paddle 1).
The registers contain the position. The fire buttons are
the same as for joysticks. The trigger for the paddles is
in bit 0 and 1 of the register FF9202 (right, left of joy0).

FF9220  ......xxxxxxxxxx  LIGHTX (R)
FF9222  ......xxxxxxxxxx  LIGHTY (R)

Light gun/pen. This can be put in joy0. The registers
contain the position. The x position changes every
         4 pixels in 320x200 mode
         8           640x200
        16           640x400

The y resolution is exact. The x position is always shown
in 320x200 resolution, thus for 640x200 you shift one bit
to the left and for 640x400 two bits.

FF8900  .............xcc  SDMACNTR (R/W)

Sound-DMA control register. 
cc = 00 - sound DMA switched off (after reset)
cc = 01 - sound DMA on; off at frame end
cc = 10 - sound DMA on; repeat each frame
This last value can be used for more complex sounds. Here
timer-A of the MFP in event count mode gets a signal at
end of frame. If you set the data register in timer-A in
event count mode to 5, the music frame will be repeated
5 times.
In the interrupt routine the FRMBASE can be changed, as 
the old value is buffered - a new value can be written in
FRMBASE while the old frame is played. In this way double
buffering can be utilized.

FF8902  ..........xxxxxx  FRMBASEHI (R/W)
FF8904  ........xxxxxxxx  FRMBASEMID (R/W)
FF8906  ........xxxxxxx.  FRMBASELO (R/W)

Frame base address. Base address of the music frame.

FF8908  ..........xxxxxx  FRMCNTHI (R)
FF890A  ........xxxxxxxx  FRMCNTMID (R)
FF890C  ........xxxxxxx.  FRMCNTLO (R)

Frame address counter. The actual address of the
sound DMA. This way you can find out what sample
is momentarily played.

FF890E  ..........xxxxxx  FRMENDHI (R/W)
FF8910  ........xxxxxxxx  FRMENDMID (R/W)
FF8912  ........xxxxxxx.  FRMENDLO (R/E)

End address of the music frame.

FF8920  ........m.....rr  SMODCNTR (R/W)

Sound mode control. Frequency and mode for playing
the frame.
rr = 00 -  6258 Hz frequency (default)
rr = 01 - 12517
rr = 10 - 25033
rr = 11 - 50066
m = 0 - stereo (default)
m = 1 - mono
The frequency is for mono, half the value for stereo.
Each sample is 8 bit, -128 to +127. In stereo, every
second byte is for left, every second for right channel.

FF8922  xxxxxxxxxxxxxxxx  MWDATA (R/E)
FF8924  xxxxxxxxxxxxxxxx  MWMASK (R/W)

The microwire interface for future microwire devices.
Already integrated is the LMC1992 computer, that is
responsible for the sound and volume of the digital sound.
The LMC1992 has device address 01.
To program the LMC1992 you must always set the mask register
to $07FF. The control you write to the data register:
xx 01 011 DDD DDD : set main volume
          000 000 - -80 dB
          010 100 - -40 dB
          101 000 -   0 dB

xx 01 101 XDD DDD : volume of left channel
           00 000 - -40 dB
           01 010 - -20 dB (2 dB steps)
           10 100 -   0 dB

xx 01 100 XDD DDD : volume of right channel
           00 000 - -40 dB
           01 010 - -20 dB (2 dB steps)
           10 100 -   0 dB

xx 01 010 XXD DDD : set treble
            0 000 - -12 dB
            0 110 -   0 dB (2 dB steps)
            1 100 - +12 dB

xx 01 001 XXD DDD : set bass
            0 000 - -12 dB
            0 110 -   0 dB (2 dB steps)
            1 100 - +12 dB

xx 01 000 XXX XDD : define mixing
               00 - -12 dB
               01 - mix with GI soundchip
               10 - don't mix with GI soundchip
               11 - reserved

------------------------------------------------------------

Just as for the TT, the old ROM address has moved from $FC0000
to $E00000. The ROMs are 256 Kbytes, with ca 30 Kbytes free.
The functions Setpalette and Setcolor are changed to adapt to
4-bit colors. All trap-F accesses to AES are gone. The internal
variables have also changed addresses.

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

That is a better way to use the bandwith IMHO.
Another way to learn facts is to subscribe on the two main German
ST magazines. I have done so for two years and for sure improved my
German! Let's take the December issues, here is a quick resume of
their contents:


ST Computer, Dec. 1989
Some stuff in this issue:
New software for the PC emulator PC-Speed: runs Hercules resolution,
and also support for Extended Memory Specification.
New 16MHz accelerator with 16k cache, compatible with 68881 etc. 798DM
Test of hard disks.
BioNet 100 - Ethernet for Atari ST.
Info about TOS030, like resolutions, new XBIOS calls:
XBIOS 66: DMA/SCSI communication
XBIOS 80: Set screen mode/resolution
XBIOS 81: Get d:op
XBIOS 82: Get/set screen mode only
XBIOS 83: Get/set color
XBIOS 84: Set range of colors from palette
XBIOS 85: Get d:o
XBIOS 86: Get/set bit 4 of resolution register
XBIOS 87: Get/set bit 7 of resolution register
And quite a bit more about the TT.
Encryption systems.
Details about AES and VDI in TOS 1.4
Part 11(I think) of a Modula-2 course.
Numerical Math, part 4, diff. equations of 1st order.
Submenus under GEM
Details about loading from diskettes as fast as possible.
Pictures in one of the PD TeX systems offered.
More about that same TeX system.
4 pages of game tests, of 198 pages in all.

December issue of ST Magazine contains, among other things:
Sprite animation program in Gfa Basic (on the diskette you can buy for DM20)
Info from TOS 1.4 release notes.
Homemade SCSI - hardware article.
New registers in STE.
New file functions in TOS 1.4
3D surfaces in net graphics.
Reference pages for Omikron Assembler/Debugger
Part 3 or 4 of how to use Calamus.
How to use resource files in Gfa Basic.
4-5 pages of game tests, 158 pages in all.

Reason to start learning German???

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

BTW - anyone besides me using Paintjet for Atari ST? I made a quick and
dirty program (in Turbo-C of course) for printing GIF images on it,
anyone interested? Looks nice to print 256 colors.


|-------------------------------------------------------------|
|  Want to talk to me? Try:                                   |
|  QRALPH@SELDC51  ||  QRALPH@SELDC52  ||  qralph@dna.lth.se  |
|  My name? In official Sweden it is: 4.901.185.654 (secret)  |
|  Anywhere else: Ralph Haglund                               |
|  Disclaimer: If it works, it's out of date.                 |
|_____________________________________________________________|

apratt@atari.UUCP (Allan Pratt) (12/16/89)

Ralph Haglund, please don't do that again.  You are posting information
from Atari developer documentation, which is both copyright by Atari
and released under nondisclosure agreements to Atari developers.

The main reason we'd like you not to do that is the possibility of
introducing errors in transcription.  When you say something is
official, people rely on it.  When it turns out to be wrong, they get
mad at ATARI, not at you.

That and other reasons are why we say people should get things like STe
documentation by becoming developers and getting them through channels.

============================================
Opinions expressed above do not necessarily	-- Allan Pratt, Atari Corp.
reflect those of Atari Corp. or anyone else.	  ...ames!atari!apratt

koreth@panarthea.ebay.sun.com (Steven Grimm) (12/16/89)

In article <1888@atari.UUCP> apratt@atari.UUCP (Allan Pratt) writes:
>Ralph Haglund, please don't do that again.  You are posting information
>from Atari developer documentation, which is both copyright by Atari
>and released under nondisclosure agreements to Atari developers.

I believe the original article said that it was a translation of something
from a German ST magazine.  If that's true, it's the magazine that deserves
the lashing, and not Ralph.  He never signed a nondisclosure agreement with
the magazine or (presumably) with Atari.

---
"                                                  !" - Marcel Marceau
Steven Grimm		Moderator, comp.{sources,binaries}.atari.st
koreth@ebay.sun.com	...!sun!ebay!koreth

qralph@dna.lth.se (Ralph Haglund) (12/16/89)

This info from Alan Pratt I also got privately, and privately I gave a
lengthy answer. In short: I am an "official developer", but have not got 
a single sheet of info from ATARI Sweden ever since I bought the kit and
got a bunch of badly copied papers. It was clearly stated in my message
that I had made a quick resume of an article in a German magazine, and I
do think the netlanders have the same priority as the German ST community,
correct me if I am wrong.
Half a year ago or so I also sent in some sheet from the original developer
kit to Atari USA, to get some additional info. Nothing has reached me from
them either.
In June or so I called Atari Stockholm, was promised TOS1.4 and docs in a
few weeks. Still NOTHING. To be able to work I have made a copy of the ROMs,
that come with the big screen monitor..... That is the only way a Swedish
developer can get TOS 1.4, any comments?...
Sure, I hope soon to get the developer's info about the STE, I will gloat
over all the secrets I have promised not to disclose to any human being, just
for the chance of making better programs than the demos accompanying the STE.
Shouldn't take too long I must admit. One big screen, where the mouse can show
3x3 normal screens. One sound show of a minute or so, playing 3-4 different
sounds a couple of times.
ST Magazin in Germany at least sells a diskette for DM19:90 with a demo of
the 4000 colors at the same time. WITH assembly code.
I hope none from Amiga or Apple will read this, so they can steal ideas;
suppose that is what the secrecy is all about.


|-------------------------------------------------------------|
|  Want to talk to me? Try:                                   |
|  QRALPH@SELDC51  ||  QRALPH@SELDC52  ||  qralph@dna.lth.se  |
|  My name? In official Sweden it is: 4.901.185.654 (secret)  |
|  Anywhere else: Ralph Haglund                               |
|  Disclaimer: If it works, it's out of date.                 |
|_____________________________________________________________|

qralph@dna.lth.se (Ralph Haglund) (12/24/89)

As Steven Grimm says, my posting about the STE was a concentrate of a German
article, meanwhile I HAVE signed something as an official developer. What
bothers me there is: Alan Pratt talked about the risk of making errors when
I reveal secrets. As Atari hasn't published technical material for non-deve-
lopers does that mean that all technical books about Atari ST are either
illegal, or that they are produced by hackers who have disassembled programs???
If the latter, isn't THERE a chance of errors popping up that could have been
avoided with some help from Atari Corp.?

Ralph