760 ;L„nge in Zeilen (immer direkt hier) ; HILFS-INFORMATIONEN fr Desert Drain 1.4x 68000 Disassembler ; Erl„uterungen ; & -> 2 Byte-Wert ; % -> 4 Byte-Wert ; a% bedeutet meistens Adresse ; p% -"- Adresse auf Puffer ; d& -"- Laufw-Nummer ; h& -"- Dateihandle ; z& -"- Zeichen ; m& -"- Mode ; n& -"- Kanal oder Nummer ; -> -"- zeigt auf AES:70/125 ;Anzahl der Eintr„ge/gr”žter Eintrag appl_init aes($0A) ;Applikation bei den AES anmelden appl_read aes($0B) ;liest Bytes aus dem Ereignispuffer appl_write aes($0C) ;schreibt Bytes in den Ereignispuffer appl_find aes($0D) ;ermittelt ap_id einer anderen Applikation appl_tplay aes($0E) ;zeichnet Benutzeraktivit„ten auf appl_trecord aes($0F) ;spielt gespeicherte wieder Ereignisse ab appl_exit aes($13) ;Applikation bei den AES abmelden evnt_keybd aes($14) ;wartet auf Tastendruck evnt_button aes($15) ;wartet auf Mausdruck evnt_mouse aes($16) ;wartet auf Mausereignis evnt_mesag aes($17) ;wartet Ereignis evnt_timer aes($18) ;wartet bestimmte Zeitspanne ab evnt_multi aes($19) ;wartet auf Universalereignis evnt_dclick aes($1A) ;stellt Mausparameter ein menu_bar aes($1E) ;Men ein- oder ausschalten menu_icheck aes($1F) ;Haken im Men setzen/l”schen menu_ienable aes($20) ;Meneintrag de-/aktivieren menu_tnormal aes($21) ;Mentitel deselektieren menu_text aes($22) ;Mentext „ndern menu_register aes($23) ;Accessoiry eintragen objc_add aes($28) ;Objektstruktur „ndern objc_delete aes($29) ;Objekt l”schen objc_draw aes($2A) ;Objekt/-e zeichnen objc_find aes($2B) ;fr ein Koordinatenpaar Objektnummer suchen objc_offset aes($2C) ;absolute Objektkoordinaten berechnen objc_order aes($2D) ;Position eines Objektes „ndern objc_edit aes($2E) ;erlaubt Texteingaben in einem Objekt objc_change aes($2F) ;Objektstatus „ndern und neuzeichnen form_do aes($32) ;Objekttree verwalten form_dial aes($33) ;0:FMD_START,1:FMD_GROW,2:FMD_SHRINK,3:FMD_FINISH form_alert aes($34) ;Stellt eine Alertbox dar und verwaltet sie. form_error aes($35) ;Gibt Alertbox mit GEMDOS-Fehler dar. form_center aes($36) ;zentriert Objekt form_keybd aes($37) ;nimmt Tastatureingaben in einem Formular vor form_button aes($38) ;nimmt Mausknopfeingaben in einem Formular vor graf_rubbox aes($46) ;stellt eine Gummiband-Box dar graf_dragbox aes($47) ;stellt eine verschiebbare Box dar graf_mbox aes($48) ;zeichnet eine sich bewegende Box graf_growbox aes($49) ;zeichnet eine wachsende Box graf_shrinkbox aes($4A) ;zeichnet eine schrumpfende Box graf_watchbox aes($4B) ;verwaltet Mausereignis fr ein Objekt graf_slidebox aes($4C) ;verwaltet Schieberegler graf_handle aes($4D) ;ermittelt VDI-Handle und Systemzeichensatzgr”že graf_mouse aes($4E) ;legt die Form der Maus fest graf_mkstate aes($4F) ;fragt Mausstatus und -position ab srcp_read aes($50) ;ermittelt Pfadnamen fr das Clipboard srcp_write aes($51) ;legt Pfad fr das Clipboard fest fsel_input aes($5A) ;Fileselect-Box fsel_exinput aes($5B) ;erweiterte Fileselect-Box (ab TOS 1.4) wind_create aes($64) ;Fenster erzeugen wind_open aes($65) ;Fenster ”ffnen wind_close aes($66) ;Fenster schliežen wind_delete aes($67) ;Fenster entfernen wind_get aes($68) ;Fensterparameter abfragen wind_set aes($69) ;Fensterparameter setzen wind_find aes($6A) ;fr ein Koordinatenpaar das Fensterhandle suchen wind_update aes($6B) ;steuert das Schreibrecht fr den Bildschirm wind_calc aes($6C) ;Fensterproportionen berechnen wind_new aes($6D) ;alle Fensteroperationen zurcksetzen rsrc_load aes($6E) ;Resource-Datei laden und installieren rsrc_free aes($6F) ;geladene Resourcen wieder entfernen rsrc_gaddr aes($70) ;Objekt-Adresse berechnen rsrc_saddr aes($71) ;speichert Adresse einer Datenstruktur rsrc_obfix aes($72) ;Objektkoordinaten umrechnen shel_read aes($78) ;Namen und Kommandozeile lesen shel_write aes($79) ;neue Applikation laden shel_get aes($7A) ;Environment-Speicher lesen shel_put aes($7B) ;Environment-Speicher schreiben shel_find aes($7C) ;Datei suchen shel_envrn aes($7D) ;Environmentpfade setzen VDI:121/0 v_opnwk vdi($01) ;Open workstation v_clswk vdi($02) ;Close workstation v_opnvwk vdi($64) ;Open virtual screen workstation v_clsvwk vdi($65) ;Close virtual screen workstation v_clrwk vdi($03) ;Clear workstation v_updwk vdi($04) ;Update workstation vst_load_fonts vdi($77) ;Load fonts unload_fonts vdi($78) ;Unload fonts vs_clip vdi($81) ;Set clipping rectangle v_pline vdi($06) ;Polyline v_pmarker vdi($07) ;Polymarker v_gtext vdi($08) ;Text v_fillarea vdi($09) ;Filled area v_cellarray vdi($0A) ;Cell array v_contourfill vdi($67) ;Contour fill vr_recfl vdi($72) ;Fill rectangle v_bar vdi($0B01) ;Bar v_arc vdi($0B02) ;Arc v_pieslice vdi($0B03) ;Pie v_circle vdi($0B04) ;Circle v_ellipse vdi($0B05) ;Ellipse v_ellarc vdi($0B06) ;Elliptical arc v_ellpie vdi($0B07) ;Elliptical pie v_rbox vdi($0B08) ;Rounded rectangle v_rfbox vdi($0B09) ;Filled rounded rectangle v_justified vdi($0B0A) ;Justified graphics text vswr_mode vdi($20) ;Set writing mode vs_color vdi($0E) ;Set color representation vsl_type vdi($0F) ;Set polyline line type vsl_udsty vdi($71) ;Set user-defined line style pattern vsl_width vdi($10) ;Set polyline line width vsl_color vdi($11) ;Set polyline color index vsl_ends vdi($6C) ;Set polyline end styles vsm_type vdi($12) ;Set polymarker type vsm_height vdi($13) ;Set polymarker height vsm_color vdi($14) ;Set polymarker color index vst_height vdi($0C) ;Set character height, absolute mode vst_point vdi($6B) ;Set character height, points mode vst_rotation vdi($0D) ;Set character baseline vector vst_font vdi($15) ;Set text face vst_color vdi($16) ;Set graphic text color index vst_effects vdi($6A) ;Set graphic text special effects vst_alignment vdi($27) ;Set graphic text alignment vsf_interior vdi($17) ;Set fill interior index vsf_style vdi($18) ;Set fill style index vsf_color vdi($19) ;Set fill color index vsf_perimeter vdi($68) ;Set fill perimeter visibility vsf_udpat vdi($70) ;Set user-defined fill pattern vro_cpyfm vdi($6D) ;Copy raster, opaque vrt_cpyfm vdi($79) ;Copy raster, transparent vr_trnfm vdi($6E) ;Transform form v_get_pixel vdi($69) ;Get pixel vsin_mode vdi($21) ;Set input mode vrq_locator vdi($1C) ;Input locator, request/sample mode vrq_valuator vdi($1D) ;Input valuator, request/sample mode vrq_choice vdi($1E) ;Input choice, request/sample mode vrq_string vdi($1F) ;Input string, request/sample mode vsc_form vdi($6F) ;Set mouse form vex_timv vdi($76) ;Exchange timer interrupt vector v_show_c vdi($7A) ;Show cursor v_hide_c vdi($7B) ;Hide cursor vq_mouse vdi($7C) ;Sample mouse button state vex_butv vdi($7D) ;Exchange button change vector vex_motv vdi($7E) ;Exchange mouse movement vector vex_curv vdi($7F) ;Exchange cursor change vector vq_key_s vdi($80) ;Sample keyboard state information vq_extnd vdi($66) ;Extended inquire function vq_color vdi($1A) ;Inquire color representation vql_attributes vdi($23) ;Inquire current polyline attributes vqm_attributes vdi($24) ;Inquire current polymarker attributes vqf_attributes vdi($25) ;Inquire current fill area attributes vqt_attributes vdi($26) ;Inquire current graphic text attributes vqt_extent vdi($74) ;Inquire text extent vqt_width vdi($75) ;Inquire character cell width vqt_name vdi($82) ;Inquire face name and index vq_cellarray vdi($1B) ;Inquire cell array vqin_mode vdi($73) ;Inquire input mode vqt_fontinfo vdi($83) ;Inquire current face information vq_chcells vdi($0501) ;Inquire addressable alpha character cells v_exit_cur vdi($0502) ;Exit alpha mode v_enter_cur vdi($0503) ;Enter alpha mode v_curup vdi($0504) ;Alpha cursor up v_curdown vdi($0505) ;Alpha cursor down v_curright vdi($0506) ;Alpha cursor right c_curleft vdi($0507) ;Alpha cursor left v_curhome vdi($0508) ;Home alpha cursor v_eeos vdi($0509) ;Erase to end of alpha screen v_eeol vdi($050A) ;Erase to end of alpha text line v_curaddress vdi($050B) ;Direct alpha cursor address v_curtext vdi($050C) ;Output cursor addressable alpha text v_rvon vdi($050D) ;Reverse video on v_rvoff vdi($050E) ;Reverse video off vq_curaddress vdi($050F) ;Inquire current alpha cursor address vq_tabstatus vdi($0510) ;Inquire tablet status v_hardcopy vdi($0511) ;Hardcopy v_dspcur vdi($0512) ;Place graphic cursor at location v_rmcur vdi($0513) ;Remove last graphic cursor v_form_adv vdi($0514) ;Form advance v_output_window vdi($0515) ;Output window v_clear_disp_list vdi($0516) ;Clear display list v_bit_image vdi($0517) ;Output bit image file vq_scan vdi($0518) ;Inquire printer scan v_alpha_text vdi($0519) ;Output alpha text vs_palette vdi($053C) ;Select palette v_sound vdi($053D) ;Generate specified tone vs_mute vdi($053E) ;Set/clear tone muting flag vt_resolution vdi($0551) ;Set tablet axis resolution in lines/inch vt_axis vdi($0552) ;Set table axis resolution in lines vt_origin vdi($0553) ;Set tablet x and y origin vq_tdimensions vdi($0554) ;Return tablet x and y dimensions vt_alignment vdi($0555) ;Set tablet alignment vsp_film vdi($055B) ;Set camera file type and exposure time vqp_filename vdi($055C) ;Inquire camera file name vsc_expose vdi($055D) ;Disable or enable file exp. for frame preview v_meta_extents vdi($0562) ;Update metafile extents v_write_meta vdi($0563) ;Write metafile item vm_pagesize vdi($0563) ;Physical page size wm_coords vdi($0563) ;Coordinate window vm_filename vdi($0564) ;Change gem vdi filename v_offset vdi($0565) ;Set line offset v_fontinit vdi($0566) ;Init system font GEMDOS:55/92 ;Anzahl der Eintr„ge/gr”žter 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) ;Prft 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& zurckgeben ;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 l”schen Dsetpath gemdos(59) ;(,a%) aktuelles Verzeichnis wechseln Fcreate gemdos(60) ;(,a%,attr&) Datei anlegen rueck=handle ;attr&: Bit 0:schreibgeschtzt,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 schliežen 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 l”schen 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& zurck 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% BIOS:12/11 Getmpb bios(0) ;(,a%) Initialisierung des Memory-Parameter-Block Bconstat bios(1) ;(,d&) Eingabe ber d& m”glich? ;1:AUX 2:CON 3:MIDI Bconin bios(2) ;(,d&) Zeichen von d& lesen ;0:PRT 1:AUX 2:CON 3:MIDI Bconout bios(3) ;(,d&,b&) Zeichen b& auf d& ausgeben ;0:PRT 1:AUX 2:CON 3:MIDI 4:IKBD 5:RAWCON 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-Parameter-Block von Laufw d& Bcostat bios(8) ;(,d&) Ausgabe auf Einheit d& m”glich? ;0:PRT 1:AUX 2:CON 3:IKBD 4:MIDI 5:RAWCON Mediach bios(9) ;(,d&) Medium (z.B. Diskette) gewechselt? Drvmap bios(10) ;welche Laufwerke 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) ;Aufl”sung 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 fr 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&) l”scht ein Bit des Port-A-Registers des ;Soundchips, 'or' Verknpfung von b& und original Ongibit xbios(30) ;(,b&) setzt ein Bit, 'and' Verknpfung 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%) erh„lt 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, rck=alt EsetColor xbios(83) ;(,n&,c&) setzt im TT-Farbreg n& auf c&, rck=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, rck=alt LINEA:16/15 init linea #0 ;Initialization: D0,A0->Parameterblock ;A1->Tabelle mit Zeigern auf die Systemzeichens„tze ;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:310/00 ;zweiter Wert entf„llt 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 ; TT-Farbpalettenregister (2) TT_col0 $FFFF8400 ;TT-Pal. 0 TT_col255 $FFFF85FE ;TT-Pal. 255 ; 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) ; SCSI-DMA (nur TT!) (11) tt_dmabas $FFFF8701 ;DMA-Adress-Pointer (Highest Byte) tt_dmabas+2 $FFFF8703 ;DMA-Adress-Pointer (High Byte) tt_dmabas+4 $FFFF8705 ;DMA-Adress-Pointer (Low Byte) tt_dmabas+6 $FFFF8707 ;DMA-Adress-Pointer (Lowest Byte) tt_dmacnt $FFFF8709 ;DMA-Bytez„hler (Highest Byte) tt_dmacnt+2 $FFFF870B ;DMA-Bytez„hler (High Byte) tt_dmacnt+4 $FFFF870D ;DMA-Bytez„hler (Low Byte) tt_dmacnt+6 $FFFF870F ;DMA-Bytez„hler (Lowest Byte) tt_marsd $FFFF8710 ;Restdatenregister (High-Word) tt_marsd+2 $FFFF8712 ;Restdatenregister (Low-Word) tt_dmactl $FFFF8714 ;Kontrollregister (Word) ; SCSI-Controller 5380 (nur TT!) (8) s_data $FFFF8781 ;Inhalt des SCSI-Datenbusses s_icr $FFFF8783 ;Initiator-Befehlsregister s_mode $FFFF8785 ;Betriebsartenregister s_tcr $FFFF8787 ;Target-Befehlsregister s_idstat $FFFF8789 ;Busstatusregister s_dmastat $FFFF878B ;Statusregister s_targrcv $FFFF878D ;Eingabedaten vom SCSI-Bus s_inircv $FFFF878F ;Reset Interrupts+Parityfehler/Start Init-DMA-Eingabe ; 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 ; Uhrchip des TT (2) rtc_rnr $FFFF8961 ;Registerauswahl im Uhrenchip rtc_data $FFFF8963 ;Daten des selekt. Uhrenregisters ; 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-DMA (nur TT!) (11) scdmabas $FFFF8C01 ;DMA-Address-Pointer (Highest Byte) scdmabas+2 $FFFF8C03 ;DMA-Address-Pointer (High Byte) scdmabas+4 $FFFF8C05 ;DMA-Address-Pointer (Low Byte) scdmabas+6 $FFFF8C07 ;DMA-Address-Pointer (Lowest Byte) scdmacnt $FFFF8C09 ;DMA-Bytez„hler (Highest-Byte) scdmacnt+2 $FFFF8C0B ;DMA-Bytez„hler (High-Byte) scdmacnt+4 $FFFF8C0D ;DMA-Bytez„hler (Low-Byte) scdmacnt+6 $FFFF8C0F ;DMA-Bytez„hler (Lowest-Byte) scdmarsd $FFFF8C10 ;Restdatenregister (High-Word) scdmarsd+2 $FFFF8C12 ;Restdatenregister (Low-Word) scdmactl $FFFF8C14 ;Kontrollregister ; 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 ; 68901 Multifunktionsbaustein des TT (MFP2) (25) mfp_tt $FFFFFA80 ;MFP2: mfp base gpip_tt $FFFFFA81 ;MFP2: Parallel-Port aer_tt $FFFFFA83 ;MFP2: Flankenregister ddr_tt $FFFFFA85 ;MFP2: Datenrichtung iera_tt $FFFFFA87 ;MFP2: Interrupt Enable A ierb_tt $FFFFFA89 ;MFP2: Interrupt Enable A ipra_tt $FFFFFA8B ;MFP2: Interrupt Pending A iprb_tt $FFFFFA8D ;MFP2: Interrupt Pending B isra_tt $FFFFFA8F ;MFP2: Interrupt In-Service A isrb_tt $FFFFFA91 ;MFP2: Interrupt In-Service B imra_tt $FFFFFA93 ;MFP2: Interrupt Mask A imrb_tt $FFFFFA95 ;MFP2: Interrupt mask B vr_tt $FFFFFA97 ;MFP2: Vektor-Register tacr_tt $FFFFFA99 ;MFP2: Timer A Control tbcr_tt $FFFFFA9B ;MFP2: Timer B Control tcdcr_tt $FFFFFA9D ;MFP2: Timer C & D Control tadr_tt $FFFFFA9F ;MFP2: Timer A Data tbdr_tt $FFFFFAA1 ;MFP2: Timer B Data tcdr_tt $FFFFFAA3 ;MFP2: Timer C Data tddr_tt $FFFFFAA5 ;MFP2: Timer D Data scr_tt $FFFFFAA7 ;MFP2: Sync Character ucr_tt $FFFFFAA9 ;MFP2: USART Control rsr_tt $FFFFFAAB ;MFP2: Receiver Status tsr_tt $FFFFFAAD ;MFP2: Transmit Status udr_tt $FFFFFAAF ;MFP2: USART Data ; 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 nicht offiziell) (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, ungltiger 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 fr Horizontal-Blanks autov_int3 $6C ;Autovektor-Interrupt, Level 3, unbenutzt autov_int4 $70 ;Autovektor-Interrupt, Level 4 ;zeigt auf Handler fr 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 fr 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 ; 300er Systemvariablen im TT (6) proc_lives $380 ;Magic Number $12345678 fr Gltigkeit der folg. Vektoren proc_dregs $384 ;gerettete Register D0-D7 proc_aregs $3A4 ;gerettete Register A0-A7 proc_enum $3C4 ;im ersten Byte: Nummer der aufgetretenen Exception proc_usp $3C8 ;geretteter USP (User-Stack-Pointer) proc_stk $3CC ;obersten 16 Worte des Stacks bei Exception ; 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 fr 'Ping'-Ger„usch (ab STE) kcl_hook $5B0 ;->Routine fr Tastenklick-Ger„usch (ab STE)