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