490    ;Lnge in Zeilen (immer direkt hier) 
 
; HILFS-INFORMATIONEN    fr Desert Drain 1.3     68000 Disassembler 
 
; Erluterungen 
; & -> 2 Byte auf dem Stack 
; % -> 4 byte auf dem Stack 
; a% bedeutet meistens Adresse 
; p%        -"-        Adresse auf Puffer 
; d&        -"-        Laufw-Nummer 
; h&        -"-        Dateihandle 
; z&        -"-        Zeichen 
; m&        -"-        Mode 
; n&        -"-        Kanal oder Nummer 
; ->        -"-        zeigt auf 
 
GEMDOS:63/124           ;Anzahl der Eintrge/grter Eintrag 
Pterm0      gemdos(0)   ;Programm beenden 
Cconin      gemdos(1)   ;Zeichen von kbd lesen 
Cconout     gemdos(2)   ;(,z&) Zeichen auf Bildschirm ausgeben 
Cauxin      gemdos(3)   ;Zeichen von ser lesen 
Cauxout     gemdos(4)   ;(,z&) Zeichen auf ser ausgeben 
Cprnout     gemdos(5)   ;(,z&) Zeichen auf prn ausgeben 
Crawio      gemdos(6)   ;(,z&) Zeichen von kbd ohne Echo lesen 
                        ;oder schreiben 
Crawcin     gemdos(7)   ;Zeichen ohne Echo von kbd lesen 
Cnecin      gemdos(8)   ;wie 7, nur ohne Steuerzeichen 
Cconws      gemdos(9)   ;(,adr%) String auf Bildschirm ausgeben 
Cconrs      gemdos(10)  ;(,a%) String von kbd lesen (a%:puf) 
Cconis      gemdos(11)  ;Prft ob ein Zeichen im kbd-Puffer ist 
Dsetdrv     gemdos(14)  ;(,d&) aktuelles Laufw festlegen 
Cconos      gemdos(16)  ;Bildschirm bereit zur Ausgabe? 
Cprnos      gemdos(17)  ;par bereit zur Ausgabe? 
Cauxis      gemdos(18)  ;liegt an ser ein Zeichen an? 
Cauxos      gemdos(19)  ;ser bereit zur Ausgabe? 
Maddalt     gemdos(20)  ;(,gr%,adr%) Fast-Ram einrichten 
Dgetdrv     gemdos(25)  ;aktuelles Laufwerk ermitteln 
Fsetdta     gemdos(26)  ;setzt DTA 
Super       gemdos(32)  ;(,a%) a%=-1: rueck: 0=User 1=Super 
                        ;a%=0: ->SSP      a%=SSP ->UserMode 
Tgetdate    gemdos(42)  ;ermittelt Datum, Bit 0..4:Tag, 5..8:Monat 
                        ;9..15: Jahr minus 1980 
Tsetdate    gemdos(43)  ;(,d%) Datum setzen 
Tgettime    gemdos(44)  ;ermittelt Zeit, Bit 0..4:Sekunden, 5..10:Minuten 
                        ;11..15:Stunden 
Tsettime    gemdos(45)  ;(,t%) Zeit setzen 
Tgetdta     gemdos(47)  ;DTA ermitteln 
Sversion    gemdos(48)  ;GEMDOS-Versionsnummer 
Ptermres    gemdos(49)  ;(,b%,r&) Programm verlassen und r& zurckgeben 
                        ;b% Bytes ab Basepage resistent halten 
Sconfig     gemdos(51)  ;???  KAOS 1.4 
Dfree       gemdos(54)  ;(,a%,d&) ermittelt freien Diskspeicherplatz 
                        ;a%: 16Bytes puf  offset 0:Anzahl freier Cluster 
                        ;4:Cluster ges  8:Bytes/Sektor  12:Sekt/Cluster 
Dcreate     gemdos(57)  ;(,a%) Ordner anlegen 
Ddelete     gemdos(58)  ;(,a%) Ordner lschen 
Dsetpath    gemdos(59)  ;(,a%) aktuelles Verzeichnis wechseln 
Fcreate     gemdos(60)  ;(,a%,attr&) Datei anlegen  rueck=handle 
                        ;attr&: Bit 0:schreibgeschtzt,1:versteckt 
                        ;2:versteckte Systemdatei,3:Diskettenname 
Fopen       gemdos(61)  ;(,a%,m&) Datei ffnen  m&=0 ->lesen 
                        ;m&=1 -> schreiben   m&=2 -> beides  rueck=handle 
Fclose      gemdos(62)  ;(,h&) Datei schlieen 
Fread       gemdos(63)  ;(,h&,l%,a%) l% Bytes ab a% lesen 
Fwrite      gemdos(64)  ;(,h&,l%,a%) l% Bytes nach a% schreiben 
Fdelete     gemdos(65)  ;(,a%) Datei lschen 
Fseek       gemdos(66)  ;(,n%,h&,m&) n% Bytes weiter m&=0:Anf 1:Pos 2:End 
Fattrib     gemdos(67)  ;(,a%,m&,attr&) m&=0:Attr lesen  1:schreiben 
Mxalloc     gemdos(68)  ;(,b%,m&) b%=-1:free_ram? sonst:b% Bytes reservieren 
                        ;m&=0:aus ST-RAM 1:Fast 2:egal lieber ST 3: egal Fast 
Fdup        gemdos(69)  ;(,h&) zweites Dateihandle erzeugen 
Fforce      gemdos(70)  ;(,h&,nh&) neues Ausgabehandle festlegen 
Dgetpath    gemdos(71)  ;(,a%,d&) Zugriffspfad ermitteln 
Malloc      gemdos(72)  ;(,b%) b%=-1:free_ram?  sonst:b% Bytes Ram 
                        ;reservieren und rueck=Adresse 
Mfree       gemdos(73)  ;(,a%) reservierten Speicherbereich freigeben 
Mshrink     gemdos(74)  ;(,a%,b%) Bereich ab a% auf b% reduzieren 
Pexec       gemdos(75)  ;(,m&,p%,c%,e%) Programm m&=0:laden und starten 
                        ;m&=3:laden 4:starten(p%=basepage) 5:erzg basepage 
Pterm       gemdos(76)  ;(,r&) Programm beenden und r& zurck 
Fsfirst     gemdos(78)  ;(,a%,attr&) Datei mit attr& suchen 
Fsnext      gemdos(79)  ;weiter suchen 
Frename     gemdos(86)  ;(,0,old%,new%) Datei umbenennen 
Fdatime     gemdos(87)  ;(,a%,h&,m&) m&=0:Dateizeit lesen 1:setzen 
Flock       gemdos(92)  ;(,h&,m&,start%,len%) Datei mit Handle h& blockieren 
                        ;m&=0:lock,1:unlock - len% Bytes ab start% 
Nversion    gemdos(96)  ;Diese Funktionen fand ich in einer Zeitschrift! 
Frlock      gemdos(98)  ;Das Profibuch 11.Auflage kannte Sie leider noch 
Frunlock    gemdos(99)  ;nicht. 
Flock       gemdos(100) ;(Warum doppelt?) 
Funlock     gemdos(101) ; 
Fflush      gemdos(102) ; 
Unlock      gemdos(123) ; 
Lock        gemdos(124) ; 
 
 
BIOS:12/11 
Getmph      bios(0)     ;(,a%) Initialisierung des Memory-Parameter-Block 
Constat     bios(1)     ;(,d&) Eingabe ber d& mglich? 
                        ;0:par  1:ser  2:ikbd  3:midi 
Bconin      bios(2)     ;(,d&) Zeichen von d& lesen 
                        ;0:par  1:ser  2:ikbd  3:midi 
Bconout     bios(3)     ;(,d&,b&) Zeichen b& auf d& ausgeben 
                        ;0:par  1:ser  2:midi  3:ikbd 
Rwabs       bios(4)     ;(,m&,a%,n&,s&,d&) m&=0:Sekt lesen 1:Sekt schreiben 
Setexec     bios(5)     ;(,n&,a%) Vektor n& a%=-1:lesen sonst setzen 
Tickcal     bios(6)     ;Abfrage des System Timers 
Getbpb      bios(7)     ;(,d&) ermittelt Bios-Para-Block von Laufw d& 
Bconstat    bios(8)     ;(,d&) Ausgabe auf Einheit d& mglich? 
                        ;0:par  1:ser  2:midi  3:ikbd 
Mediach     bios(9)     ;(,d&) Diskette gewechselt? 
Drvmap      bios(10)    ;welche Laufw sind augeschlossen? (Bit0=A ...) 
Kbshift     bios(11)    ;(,c&) Status der Tastaturumschalttasten 
 
 
XBIOS:55/87 
Initmous    xbios(0)    ;(,m&,p%,v%) m&=0:aus 1:rel 2:abs 3:kbd 
                        ;p%=Info-Strukur  v%=Vektor auf Routine 
Ssbrk       xbios(1)    ;(,l%) l% Bytes reservieren (vor OS-INIT) 
Physbase    xbios(2)    ;Adr des physikalischen Bildschirmspeichers 
Logbase     xbios(3)    ;Adr des logischen Bildschrirmspeichers 
Getrez      xbios(4)    ;Auflsung ST: 0=L 1=M 2=H  TT:4=M 6=H 7=L 
Setscreen   xbios(5)    ;(,log%,pyhs%,rez&) Bildschirmsp. setzen 
Setpalette  xbios(6)    ;(,a%) neue Farbpalette setzen 
Setcolor    xbios(7)    ;(,n&,c&) Farbreg c&=-1:lesen sonst c& setzen 
Floprd      xbios(8)    ;(,a%,f%,d&,sec&,t&,s&,n&) Sektoren lesen 
Flopwr      xbios(9)    ;(,a%,f%,d&,sec&,t&,s&,n&) Sektoren schreiben 
Flopfmt     xbios(10)   ;(,a%,f%,d&,sec&,t&,s&,i&,m%,v&) Spur formatieren 
Getdsb      xbios(11)   ;??? 
Midiws      xbios(12)   ;(,n&,a%) gibt n&+1 Bytes ab a% ber midi aus 
Mfpint      xbios(13)   ;(,n&,a%) Vektoren des MFP ndern 
Iorec       xbios(14)   ;(,d&) Adr der Ein/Ausgabe Einheit d& ermitteln 
                        ;0:ser  1:ikbd  2:midi 
Rsconf      xbios(15)   ;(..) Parameter fr die ser setzen 
Keytbl      xbios(16)   ;(..) Adr der Tastbelegtab. ndern 
Random      xbios(17)   ;ermittelt eine 24-Bit-Zufallszahl 
Protobt     xbios(18)   ;(,a%,s%,d&,f&) Bootsektor erzeugen 
Flopver     xbios(19)   ;(,a%,f%,d&,sec&,t&,s&,n&) Datei=RAM ? 
Scrdmp      xbios(20)   ;Hardcopy 
Cursconf    xbios(21)   ;(,c&,s&) Curser c&=0:aus 1:ein 2:blink ein 
                        ; 3:blink aus 4:blink auf s& 5:blinkrate rueck 
Bsettime    xbios(22)   ;(,t%) Datum und Zeit setzen 
Bgettime    xbios(23)   ;Datum und Zeit lesen 
Bioskey     xbios(24)   ;Originaltastaturbelegung einstellen 
Ikbdws      xbios(25)   ;(,n&,a%) n&+1 Bytes ab a% an ikbd senden 
Jdisint     xbios(26)   ;(,i&) sperrt den MFP-Interrupt i& 
Jenabint    xbios(27)   ;(,i&) gibt den MFP-Interrupt i& frei 
Giaccess    xbios(28)   ;(,d&,reg&) Register des Soundchips bedienen 
                        ;bit7 von reg& -> d& in reg& schreiben, sonst lesen 
Offgibit    xbios(29)   ;(,b&) lscht ein Bit des Port-A-Registers des 
                        ;Soundchips, 'or' Verknpfung von b& und original 
Ongibit     xbios(30)   ;(,b&) setzt ein Bit, 'and' Verknpfung 
Xbtimer     xbios(31)   ;(,t&,ctrl&,data&,a%) setzt MFP-Timer (t&=0..3) 
Dosound     xbios(32)   ;(,a%) Sound-Sequenz ab a% starten (a%=-1 Abfrage) 
Setprt      xbios(33)   ;(,c&) Druckerparam c&=-1 lesen, sonst setzen 
                        ;Bit0:Matr/Typrad  1:Farbe/Mono  2:1280/960 
                        ;3:Draft/NLQ  4:par/ser  5:endl/einzel 
Kbdvbase    xbios(34)   ;Vektoren des Tastaturprozessors  offset: 
                        ;0:midi_ein 4:tast_berl 8:midi_berl 12:kbd_status 
                        ;16:maus 20:timer 24:stick 28:midi_sys 32:kbd_sys 
Kbrate      xbios(35)   ;(,ansprech&,wiederhr&) Tastaturwiederholrate s/l 
Prtblk      xbios(36)   ;(,a%) Hardcopy mit Parameterblock 
Vsync       xbios(37)   ;wartet auf Vertical-Blank-Interrupt 
Supexec     xbios(38)   ;(,a%) Assemblerroutine im Supervisormodus aufrufen 
Puntaes     xbios(39)   ;AES abschalten 
Floprate    xbios(41)   ;(,new&,devno&) steprate der Floppy lesen/setzen 
DMAread     xbios(42)   ;(,sec%,anz&,p%,devno&) anz& Sektoren ab phys. 
                        ;Sektor sec% nach p% lesen, devno&=0..15 DMA-Port 
DMAwrite    xbios(43)   ;(,sec%,anz&,p%,devno&) anz& Sektoren ab p% 
                        ;nach phys. Sektor sec% schreiben, devno&=DMA-Port 
Bconmap     xbios(44)   ;(,i&) i&: Index der neuen Schnittstelle, rueck=alt 
                        ;-1: abfragen -2:Zeiger auf BCONMAP-Struktur 
NVMaccess    xbios(46) ;(,op&,st&,count&,a%) RAM der TT-Uhr bedienen 
Metainit     xbios(48) ;(,a%) erhlt in Puffer a% Infos ber Meta-DOS 
Blitmode     xbios(64) ;(,b&) Blitter b&=-1 Blitter da?   Bit0:ein/aus 
EsetShift    xbios(80) ;(,m&) Shiftmode-Reg im TT-Vid-Shifter auf m& setzen 
EgetShift    xbios(81) ;Shiftmode-Register im TT-Video-Shifter erfragen 
EsetBank     xbios(82) ;(,n&) legt im TT aktuelle Farbbank fest, rck=alt 
EsetColor    xbios(83) ;(,n&,c&) setzt im TT-Farbreg n& auf c&, rck=alt 
EsetPalette  xbios(84) ;(,n1&,n&,a%) von a%  n& TT-Farbreg ab n1& setzen 
EgetPalette  xbios(85) ;(,n1&,n&,a%) n& TT-Farbreg ab n1& nach a% auslesen 
EsetGray     xbios(86) ;(,m&) bei m&<>0 Graustufenmodus im TT an. 
EsetSmear    xbios(87) ;(,m&) Smear-Modus: m&=0:aus,m&>0:an, rck=alt 
 
 
LINEA:16/15 
init        linea #0    ;Initialization: D0,A0->Parameterblock 
                        ;A1->Tabelle mit Zeigern auf die Systemzeichenstze 
                        ;A2->Tab. mit den Anfangsadr. der Line-A-Routinen 
putpix      linea #1    ;Put Pixel 
getpix      linea #2    ;Get Pixel 
line        linea #3    ;Arbitrary Line 
hline       linea #4    ;Horizontal Line 
fillrec     linea #5    ;Filled Rectangle 
fillpoy     linea #6    ;Filled Polygon 
bitblk      linea #7    ;Bit Block Transfer 
textblk     linea #8    ;Text Block Transfer 
showm       linea #9    ;Show Mouse 
hidem       linea #10   ;Hide Mouse 
transm      linea #11   ;Transform Mouse 
undraw      linea #12   ;Undraw Sprite 
draw        linea #13   ;Draw Sprite 
copy        linea #14   ;Copy Raster Form 
fill        linea #15   ;Seedfill 
 
 
SYSVAR:245/00          ;zweiter Wert entfllt hier 
; Speicherkonfiguration (1) 
memconf    $FFFF8001   ;Memory Configuration Register ST(E) 
 
; Videocontroller (29) 
dbaseh     $FFFF8201   ;Video-Base-Register High (Byte) 
dbasel     $FFFF8203   ;Video-Base-Register Mid (Byte) 
vcounthi   $FFFF8205   ;Video-Adress-Counter High (Byte) 
vcountmid  $FFFF8207   ;Video-Adress-Counter Mid (Byte) 
vcountlow  $FFFF8209   ;Video-Adress-Counter Low (Byte) 
syncmode   $FFFF820A   ;Video-Sync-Mode-Register 
dbaselow   $FFFF820C   ;Video-Base-Register Low (Byte) - only STE/TT 
vbaselo    $FFFF820D   ;Video base address (lo; STE only) 
linewid    $FFFF820F   ;Width of a scan-line (Words, minus 1; STE only) 
color0     $FFFF8240   ;Color-Register 0 
color1     $FFFF8242   ;Color-Register 1 
color2     $FFFF8244   ;Color-Register 2 
color3     $FFFF8246   ;Color-Register 3 
color4     $FFFF8248   ;Color-Register 4 
color5     $FFFF824A   ;Color-Register 5 
color6     $FFFF824C   ;Color-Register 6 
color7     $FFFF824E   ;Color-Register 7 
color8     $FFFF8250   ;Color-Register 8 
color9     $FFFF8252   ;Color-Register 9 
color10    $FFFF8254   ;Color-Register 10 
color11    $FFFF8256   ;Color-Register 11 
color12    $FFFF8258   ;Color-Register 12 
color13    $FFFF825A   ;Color-Register 13 
color14    $FFFF825C   ;Color-Register 14 
color15    $FFFF825E   ;Color-Register 15 
shiftmd    $FFFF8260   ;ST-Shift-Mode-Reg. (0=L,1=M,2=H) 
shift_tt   $FFFF8262   ;TT-Shift-Mode-Reg. (4=M,6=H,7=L) 
hscroll    $FFFF8265   ;Horizontal scroll count (0..15; STE only) 
stacydsp   $FFFF827E   ;STACY Display-Steuerung 
 
; DMA-Controller (5) 
diskctl   $FFFF8604   ;disk controller data access 
fifo      $FFFF8606   ;DMA mode control 
dmahigh   $FFFF8609   ;DMA-Base+Count.-Reg.-High (Byte) 
dmamid    $FFFF860B   ;DMA-Base+Count.-Reg.-Mid (Byte)  
dmalow    $FFFF860D   ;DMA-Base+Count.-Reg.-Low (Byte)     
 
; Soundchip AY-3-8910 (3) 
giselect  $FFFF8800   ;(W) sound chip register select 
giread    $FFFF8800   ;(R) sound chip read-data 
giwrite   $FFFF8802   ;(W) sound chip write-data 
 
; DMA-Sound-Subsystem (nur STE,TT)  (13) 
sndmactl  $FFFF8900   ;Sound-DMA-Control 
sndbashi  $FFFF8902   ;Frame-Start-Adr. High-Byte 
sndbasmi  $FFFF8904   ;Frame-Start-Adr. Middle-Byte 
sndbaslo  $FFFF8906   ;Frame-Start-Adr. Low-Byte 
sndadrhi  $FFFF8908   ;Frame-Adr.-Counter High-Byte 
sndadrmi  $FFFF890A   ;Frame-Adr.-Counter Middle-Byte 
sndadrlo  $FFFF890C   ;Frame-Adr.-Counter Low-Byte 
sndendhi  $FFFF890E   ;Frame-End-Adress High-Byte 
sndendmi  $FFFF8910   ;Frame-End-Adress Middle-Byte 
sndendlo  $FFFF8912   ;Frame-End-Adress Low-Byte 
sndmode   $FFFF8920   ;Sound-Mode-Control 
MWDATA    $FFFF8922   ;MICROWIRE Adr.+Data-Bits 
MWMASK    $FFFF8924   ;MICROWIRE Mask-Register 
 
; Blitter (nicht im TT!)   (17) 
Haftone   $FFFF8A00   ;Halftone-RAM, Word 0 
HaftoneF  $FFFF8A1E   ;Halftone-RAM, Word 15 
Src_Xinc  $FFFF8A20   ;Source-X-Inc.-Reg. 
Src_Yinc  $FFFF8A22   ;Source-Y-Inc.-Reg. 
Src_addr  $FFFF8A24   ;Source-Address-Reg. 
Endmask1  $FFFF8A28   ;Endmask 1 
Endmask2  $FFFF8A2A   ;Endmask 2 
Endmask3  $FFFF8A2C   ;Endmask 3 
Dst_Xinc  $FFFF8A2E   ;Dest.-X-Inc.-Reg. 
Dst_Yinc  $FFFF8A30   ;Dest.-Y-Inc.-Reg. 
Dst_Adr   $FFFF8A32   ;Dest.-Adress-Reg. 
X_Count   $FFFF8A36   ;Worte/Zeile im Bit-Block 
Y_Count   $FFFF8A38   ;Zeilen/Bit-Block 
HOP       $FFFF8A3A   ;Halftone-OP-Register 
OP        $FFFF8A3B   ;Log. OP-Register 
Line_Num  $FFFF8A3C   ;Line-Number-Register 
Skew      $FFFF8A3D   ;SKEW-Register 
 
; SCC Z8530 - Serial Communications Controller  (4) 
sccctl_a  $FFFF8C81  ;Kanal A - Control-Register 
sccdat_a  $FFFF8C83  ;Kanal A - Data-Register 
sccctl_b  $FFFF8C85  ;Kanal B - Control-Register 
sccctl_b  $FFFF8C87  ;Kanal B - Data-Register 
 
; SCU - System Control Unit (TT/MEGA STE)  (9) 
sys_mask  $FFFF8E01  ;System Int. Mask-Register 
sys_stat  $FFFF8E03  ;System Int. Status-Register 
sys_int   $FFFF8E05  ;System Software Int. erzeugen 
vme_int   $FFFF8E07  ;VME-Bus_IRQ Level 3 erzeugen 
scu_gp1   $FFFF8E09  ;SCU General Purpose Reg.1 
scu_gp2   $FFFF8E0B  ;SCU General Purpose Reg.2 
vme_mask  $FFFF8E0D  ;VME-Bus Int. Mask-Register 
vme_stat  $FFFF8E0F  ;VME-Bus Int. Statur-Register 
ste_ctl   $FFFF8E21  ;MEGA STE Cache+Taktctrl. 
 
;Joystickports beim STE  (6) 
PADDL0    $FFFF9210  ;Position des Paddle 0 
PADDL1    $FFFF9212  ;Position des Paddle 1 
PADDL2    $FFFF9214  ;Position des Paddle 2 
PADDL3    $FFFF9216  ;Position des Paddle 3 
XPEN      $FFFF9220  ;X-Position des Lightpens 
YPEN      $FFFF9222  ;Y-Position des Lightpens
 
; 68901 Multifunktionsbaustein des ST/STE/TT (MFP1) (25) 
mfp     $FFFFFA00   ;MFP1: mfp base 
gpip    $FFFFFA01   ;MFP1: Parallel-Port 
aer     $FFFFFA03   ;MFP1: Flankenregister 
ddr     $FFFFFA05   ;MFP1: Datenrichtung 
iera    $FFFFFA07   ;MFP1: Interrupt Enable A 
ierb    $FFFFFA09   ;MFP1: Interrupt Enable A 
ipra    $FFFFFA0B   ;MFP1: Interrupt Pending A 
iprb    $FFFFFA0D   ;MFP1: Interrupt Pending B 
isra    $FFFFFA0F   ;MFP1: Interrupt In-Service A 
isrb    $FFFFFA11   ;MFP1: Interrupt In-Service B 
imra    $FFFFFA13   ;MFP1: Interrupt Mask A 
imrb    $FFFFFA15   ;MFP1: Interrupt mask B 
vr      $FFFFFA17   ;MFP1: Vektor-Register 
tacr    $FFFFFA19   ;MFP1: Timer A Control 
tbcr    $FFFFFA1B   ;MFP1: Timer B Control 
tcdcr   $FFFFFA1D   ;MFP1: Timer C & D Control 
tadr    $FFFFFA1F   ;MFP1: Timer A Data 
tbdr    $FFFFFA21   ;MFP1: Timer B Data 
tcdr    $FFFFFA23   ;MFP1: Timer C Data 
tddr    $FFFFFA25   ;MFP1: Timer D Data 
scr     $FFFFFA27   ;MFP1: Sync Character 
ucr     $FFFFFA29   ;MFP1: USART Control 
rsr     $FFFFFA2B   ;MFP1: Receiver Status 
tsr     $FFFFFA2D   ;MFP1: Transmit Status 
udr     $FFFFFA2F   ;MFP1: USART Data 
 
;FPU im MEGA STE   (9) 
FPstat    $FFFFFA40   ;Response-Register 
FPctl     $FFFFFA42   ;Contol-Register 
FPsave    $FFFFFA44   ;Save-Register 
FPrestor  $FFFFFA46   ;Restore-Register 
FPcmd     $FFFFFA4A   ;Command-Register 
FPccr     $FFFFFA4E   ;Condition-Code-Register 
FPop      $FFFFFA50   ;Operanden-Register 
FPselct   $FFFFFA54   ;Register Select 
FPiadr    $FFFFFA58   ;Instruction Address 
 
; Tastatur-ACIA (3) 
keyctl   $FFFFFC00   ;ACIA-Statusregister (R) 
keyctl   $FFFFFC01   ;ACIA-Steuerregister (W) 
keybd    $FFFFFC02   ;ACIA-Data-Register 
 
; Midi-ACIA (2) 
midictl  $FFFFFC04   ;ACIA-Statusregister (R) -Steuerregister (W) 
midi     $FFFFFC06   ;MIDI-ACIA-Data 
 
; Systemvektoren (Namen sind unkorrekt)   (43) 
reset_ssp   $0   ;SSP nach Reset 
reset_pc    $4   ;PC nach Reset 
bus_error   $8   ;Exception: 2 Bomben 
adr_error   $C   ;Exception: 3 Bomben, ungerade Wortadresse 
ill_instr   $10  ;Exception: 4 Bomben, ungltiger Maschinenbefehl 
divbyzero   $14  ;Division durch Null 
chk_excep   $18  ;Exception durch 
trapv_exc   $1C  ;Exception durch trapv 
priv_err    $20  ;Privilegverletzung 
trace_err   $24  ;Trace-Exception 
linea_vec   $28  ;Linea-Verktor 
linef_vec   $2C  ;Linef-Vektor 
spur_inter  $60  ;Suprious Interrupt 
autov_int1  $64  ;Autovektor-Interrupt, Level 1, unbenutzt 
autov_int2  $68  ;Autovektor-Interrupt, Level 2 
                 ;zeigt auf Handler fr Horizontal-Blanks 
autov_int3  $6C  ;Autovektor-Interrupt, Level 3, unbenutzt 
autov_int4  $70  ;Autovektor-Interrupt, Level 4 
                 ;zeigt auf Handler fr Vertikal-Blanks 
autov_int5  $74  ;Autovektor-Interrupt, Level 5, unbenutzt 
autov_int6  $78  ;Autovektor-Interrupt, Level 6, unbenutzt 
autov_int7  $7C  ;Autovektor-Interrupt, Level 7, unbenutzt 
trp1vec     $84  ;-> gemdos 
trp2vec     $88  ;-> aes/vdi 
trp13vec    $B4  ;-> bios 
trp14vec    $B8  ;-> xbios 
busy_inter  $10  ;ST-MFP-Interrupt 0, Ausl. durch parallele Schnittstelle 
dcd_inter   $104 ;ST-MFP-I-1,'Carrier detect' der seriellen Schnittstelle 
cts_inter   $108 ;ST-MFP-I-2,'Clear to sent' der seriellen Schnittstelle 
gpu_done    $10C ;ST-MFP-I-3,kann vom Blitter benutzt werden (ready) 
baud_gen    $110 ;ST-MFP-I-4,Baudratengenerator,nicht benutzt 
timer_200   $114 ;ST-MFP-I-5,->Systemtimer-Interrupt 
ikbd_inter  $118 ;ST-MFP-I-6,->Handler fr IKDB- und MIDI-Interrupts 
fdc_inter   $11C ;ST-MFP-I-7,FDC/ASCI,normalerweise unbelegt 
diensi_int  $120 ;ST-MFP-I-8,Display Enable Signal,normalerw. gesperrt 
rs232serr   $124 ;ST-MFP-I-9,RS232 Sendefehler 
rs232sempty  $128 ;ST-MFP-I-10,RS232 Sendepuffer leer (1 Byte bertragen) 
rs232eerr   $12C ;ST-MFP-I-11,RS232 Empfangsfehler 
rs232efull  $130 ;ST-MFP-I-12,RS232 Empfangspuffer ist voll (1 Byte) 
ring_indic  $138 ;ST-MFP-I-14,Ring Indicator,Signal bei ser angekommen 
mono_mon    $13C ;ST-MFP-I-15,Monochrom Monitor Detect,unbenutzt 
tt_mfp0     $140 ;TT-MFP-I-0 
tt_mfp15    $17C ;TT-MFP-I-15 
tt_scc0     $180 ;TT-SCC-I-0 
tt_mfp      $1BC ;TT-SCC-I-15 
 
; BIOS Variables (76) 
etv_timer   $400   ;vector for timer interrupt chain 
etv_critic  $404   ;vector for critical error chain 
etv_term    $408   ;vector for process terminate 
etv_xtra    $40C   ;5 reserved vectors 
memvalid    $420   ;indicates system state on RESET (MagNmb $752019F3) 
memcntrl    $424   ;mem controller config nibble ($FFFF8001) 
resvalid    $426   ;validates 'resvector' (=$31415926 -> resvector) 
resvector   $42A   ;[RESET] bailout vector 
phystop     $42E   ;physical top of RAM 
_membot     $432   ;bottom of available memory; 
_memtop     $436   ;top of available memory; 
memval2     $43A   ;validates 'memcntrl' and 'memconf' (MagNmb $237698AA) 
flock       $43E   ;.w floppy disk/FIFO lock variable (<>0:no DMA) 
seekrate    $440   ;.w default floppy seek rate (0:6,1:12,2:2,3:3 ms) 
_timr_ms    $442   ;.w system timer calibration (in ms) 
_fverify    $444   ;.w nonzero verify on floppy write 
_bootdev    $446   ;.w default boot device 
palmode     $448   ;.w 0:NTSC (60Hz), <>0:PAL(50Hz) 
defshiftmd  $44A   ;.b default video rez 
sshiftmd    $44C   ;.b shiftermode (ST:0=L,1=M,2=H; TT:4=M,6:H,7:L) 
_v_bas_ad   $44E   ;pointer to base of screen memory 
vblsem      $452   ;.w semaphore to enforce mutex in vbl 
nvbls       $454   ;.w number of deferred vectors in _vblqueue 
_vblqueue   $456   ;pointer to vector of deferred vfuncs 
colorptr    $45A   ;pointer to palette setup (or NULL) 
screenpt    $45E   ;pointer to screen base setup (|NULL) 
_vbclock    $462   ;count of vblank interrupts 
_frclock    $466   ;count of unblocked vblanks (not blocked by vblsem) 
hdv_init    $46A   ;hard disk initialization 
swv_vec     $46E   ;video change-resolution bailout 
hdv_bpb     $472   ;disk "get BPB" 
hdv_rw      $476   ;disk read/write 
hdv_boot    $47A   ;disk "get boot sector" 
hdv_mediach  $47E   ;disk media change detect 
_cmdload    $482   ;.w nonzero load COMMAND.PRG from boot 
conterm     $484   ;.b console/vt52 bitSwitches, 0:keyclick, 1:keyrepeat 
                   ;2:CTRL-G->Ping!, 3:kbshift() in bits 24..31 by bconin() 
trp14ret    $486   ;saved return addr for _trap14 (nonused) 
criticret   $48A   ;saved return addr for _critic (nonused) 
themd       $48E   ;memory descriptor (MD) 
themdmd     $49E   ;(more MD) 
savptr      $4A2   ;pointer to register save area 
_nflops     $4A6   ;.w number of disks attached (0,1,2) 
constate    $4A8   ;state of conout() parser 
save_row    $4AC   ;.w saved row# for cursor X-Y addressing 
sav_context  $4AE   ;pointer to saved processor context 
_bufl       $4B2   ;2 buffer-list headers 
_hz_200     $4BA   ;200hz raw system timer tick 
the_env     $4BE   ;-> standard-environment-strings 
_drvbits    $4C2   ;bit vector of "live" block devices 
_drvbits.w  $4C4   ;bit vector of "live" block devices (word) 
_dskbufp    $4C6   ;pointer to common disk buffer 
_autopath   $4CA   ;pointer to autoexec path (or NULL) 
_vbl_list   $4CE   ;initial _vblqueue 
_prt_cnt    $4EE   ;.w screen-dump-state: -1:norm, 0:begin, >0:end ->-1 
_prtabt     $4F0   ;.w printer abort flag 
_sysbase    $4F2   ;-> base of OS 
_shell_p    $4F6   ;-> global shell info 
end_os      $4FA   ;-> end of OS memory usage 
exec_os     $4FE   ;-> address of shell to exec on startup 
scr_dump    $502   ;-> screen dump code 
prv_lsto    $506   ;-> _lstostat() 
prv_lst     $50A   ;-> _lstout() 
prv_auxo    $50E   ;-> _auxostat() 
prv_aux     $512   ;-> _auxout() 
pun_ptr     $516   ;if AHDI -> pun_info 
memval3     $51A   ;if MagNmb $5555AAAA ->RESET 
xconstat    $51E   ;8 Zeiger auf Eingabestatus-Routinen 
xconin      $53E   ;8 Zeiger auf Eingabe-Routinen 
xcostat     $55E   ;8 Zeiger auf Ausgabestatus-Routinen 
xconout     $57E   ;8 Zeiger auf Ausgabe-Routinen 
_longframe  $59E   ;.w wenn <>0 -> kein 68000er 
_p_cookies  $5A0   ;-> Cookie Jar 
ramtop      $5A4   ;Zeiger auf das Ende des Fast-Ram 
ramvalid    $5A8   ;MagNmb $1357BD13 = ramtop ist Ok 
bell_hook   $5AC   ;->Routine fr 'Ping'-Gerusch (ab STE) 
kcl_hook    $5B0   ;->Routine fr Tastenklick-Gerusch (ab STE) 
 
