Oo p  @`  `! #@%`')+-/1 3@5`79;=?A C@E`GIKMOQ S@U`WY[]_a c@e`gikmOu`wy{} @` / O @ ` @ ` @ ` ǀ ` ׀  ` @`!Aa   !Aa!!#A%a')+-/1!3A5a79;=?A!CAEaGIKMOQ!SAUaY[]_a!cAeagikmo@`  `! #@%`')+-/1 3@5`79;=?A C@E`GIKMOQ S@U`WY[]_a c@e`gikmOu`wy{} @` / O @ ` @ ` @ ` ǀ ` ׀  ` @`!Aa   !Aa!!#A%a')+-/1!3A5a79;=?A!CAEaGIKMOQ!SAUaY[]_a!cAeagikmoAES_VDI S &JFBOOT_2_0PRG (J BREAK S )JBUGABOO PRG )JBUGABOO SRC /J^$BUGABOO SYM 0JhCALL SRC 1Jo ENV INF 2Jq:EPSON CFG 3Jr=EPSON HEX 3JsGEM_VARSS 4Jz3GEM_VARSSYM 5J'IMPORT UCA 6JLEVEL DAT 7J@L_0C0PRG 8J.L_XSRC 9J MAKE_CFGPRG 9J;MAKE_CFGSRC :J-MODULE SRC ;JREADME TXT BJSETENV SRC BJ}SYS_VARSS DJSYS_VARSSYM EJTOS_LOADSRC LJTURBOASSDAT MJ TURBOASSINF NJITURBOASSPRG OJ$TURBOASSTXT XJW` ;*H ;* -soft GEM-lib * ;* 1989/90 -soft, written by Markus Fritze 18.01.1990 13:27 * ;*H ;*H ;* global vars: * ;*H _StackSize EQU 1024 ;1k stack for the program ;*H ;* init of the library (GEMDOS & AES) * ;*H _gem_init: movea.l 4(SP),A6 ;get basepageadr movea.w #$0100+_StackSize,A5 ;size of basepage + stacksize adda.l 12(A6),A5 ;+ size of TEXT-segment adda.l 20(A6),A5 ;+ size of DATA-segment adda.l 28(A6),A5 ;+ size of BSS-segment move.l A5,D1 ;= size of the program and.b #$FE,D1 ;EVEN add.l A6,D1 ;+ basepageadr movea.l D1,SP ;top of the stackarea move.l A5,-(SP) ;prgsize move.l A6,-(SP) ;basepageadr move.l A6,basepage ;save it move.l #$4A0,-(SP) ; trap #1 ;Mshrink(0,basepageadr,prgsize) lea 12(SP),SP move.l #appl_init,D0 bsr _aes move.w D0,ap_id moveq #-1,D7 ;-1: appl_init() error addq.w #1,D0 beq _pterm ;no ID for the program => exit move.l #graf_handle,D0 bsr _aes ;get vdi-handle move.w D0,vdi_handle movem.w int_out+2(PC),D1-D4 movem.w D1-D4,gr_hwchar lea int_in(PC),A0 movea.l A0,A1 moveq #10,D0 _gem_init2: move.w #1,(A0)+ ;1,1,1,1,1,1,1,1,1,1,2 dbra D0,_gem_init2 addq.w #1,-(A0) move.l #v_opnvwk,D0 bsr _vdi ;open workstation moveq #-39,D7 ;-39: no memory for the VDI-workstation move.w 12+control(PC),vdi_handle beq _do_pterm ;=> exit ;*H ;* the main part starts here * ;* D0: the exit-code of the program * ;*H ;*H ;* program exit * ;*H _gem_exit: move.w D0,D7 ;save exit-status moveq #v_clsvwk,D0 bsr _vdi ;close workstation _do_pterm: move.l #appl_exit,D0 bsr _aes ;close applikation _pterm: move.w D7,-(SP) ;exit-status move.w #$4C,-(SP) trap #1 ;Pterm(exit-status) ;*H ;* my own AES-call * ;* D0=the first 4 entries of the control-array (4 bytes!) * ;* bit 24-31 = functioncode * ;* bit 16-23 = entries in int_in * ;* bit 8-15 = entries in int_out * ;* bit 0-7 = entries in addr_in * ;*H _aes: movem.l D1-A6,-(SP) ;save all regs lea control(PC),A0 clr.l (A0)+ clr.l (A0)+ ;clear control-array clr.w (A0) movep.l D0,-7(A0) ;insert the new datas cmpi.b #112,-7(A0) ;rsrc_gaddr()-Call? bne.s _aes1 ;no! => move.b #1,1(A0) ;entries in addr_out=1 _aes1: lea _aes_pb(PC),A0 move.l A0,D1 move.w #200,D0 trap #2 ;call the AES moveq #0,D0 move.w int_out(PC),D0 ;int_out[0] movem.l (SP)+,D1-A6 ;restore all regs rts _aes_pb: DC.L control ;the AES-parameterblock DC.L global DC.L int_in DC.L int_out DC.L addr_in DC.L addr_out ;*H ;* my own VDI-Call * ;* D0 = the input-parameter * ;* Bit 24-31 = functioncode * ;* Bit 16-23 = size of the intin-array * ;* Bit 8-15 = ID of the sub-opcode * ;* Bit 0-7 = size of ptsin * ;* the workstation is "gr_handle" * ;*H _vdi: movem.l D1-A6,-(SP) lea control+2(PC),A0 clr.w (A0)+ ;clear all parameter clr.l (A0)+ clr.w (A0) move.l D0,-(SP) tst.b (SP) ;no opcode? => short format addq.l #4,SP bne.s _vdi1 move.b D0,1-8(A0) ;opcode in bit 0-7 bra.s _vdi2 ;thats all => _vdi1: move.b D0,3-8(A0) ;size of the ptsin-array lsr.w #8,D0 move.w D0,10-8(A0) ;the sub-opcode swap D0 move.b D0,7-8(A0) ;size of the intin-array lsr.w #8,D0 move.w D0,0-8(A0) ;the opcode _vdi2: move.w vdi_handle(PC),12-8(A0) ;VDI-handle lea _vdi_pb(PC),A0 move.l A0,D1 moveq #$73,D0 trap #2 moveq #0,D0 move.w int_out(PC),D0 ;int_out[0] movem.l (SP)+,D1-A6 rts _vdi_pb: DC.L control ;the VDI-parameterblock DC.L int_in DC.L ptsin DC.L int_out DC.L ptsout ;*H ;* the BSS-area * ;*H BSS basepage: DS.L 1 ;basepageadr control: DS.W 16 global: DS.W 15 ;AES-Arrays addr_in: DS.L 3 addr_out: DS.L 1 int_in: DS.W 128 int_out: DS.W 128 ;VDI-Arrays ptsin: DS.W 128 ptsout: DS.W 128 ap_id: DS.W 1 ;applikation-ID vdi_handle: DS.W 1 ;VDI-handle gr_hwchar: DS.W 1 ;graf_handle() parameter gr_hhchar: DS.W 1 gr_hwbox: DS.W 1 gr_hhbox: DS.W 1 >PART 'AES/VDI-Library-EQUs' ;*H ;* the AES-"library" * ;*H appl_init EQU $0A000100 appl_read EQU $0B020101 appl_write EQU $0C020101 appl_find EQU $0D000101 appl_tplay EQU $0E020101 appl_trecord EQU $0F010101 appl_bvset EQU $10020100 ;GEM 2.0 appl_yield EQU $11000100 ;GEM 2.0 appl_exit EQU $13000100 evnt_keybd EQU $14000100 evnt_button EQU $15030500 evnt_mouse EQU $16050500 evnt_mesag EQU $17000101 evnt_timer EQU $18020100 evnt_multi EQU $19100701 evnt_dclick EQU $1A020100 menu_bar EQU $1E010101 menu_icheck EQU $1F020101 menu_ienable EQU $20020101 menu_tnormal EQU $21020101 menu_text EQU $22010102 menu_register EQU $23010101 menu_unregister EQU $24010100 ;GEM 2.0  objc_add EQU $28020101 objc_delete EQU $29010101 objc_draw EQU $2A060101 objc_find EQU $2B040101 objc_offset EQU $2C010301 objc_order EQU $2D020101 objc_edit EQU $2E040201 objc_change EQU $2F080101 form_do EQU $32010101 form_dial EQU $33090100 form_alert EQU $34010101 form_error EQU $35010100 form_center EQU $36000501 form_keybd EQU $37030301 form_button EQU $38020201 graf_rubberbox EQU $46040300 graf_rubbox EQU $46040300 graf_dragbox EQU $47080300 graf_movebox EQU $48060100 graf_mbox EQU $48060100 graf_growbox EQU $49080100 graf_shrinkbox EQU $4A080100 graf_watchbox EQU $4B040101 graf_slidebox EQU $4C030101 graf_handle EQU $4D000500 graf_mouse EQU $4E010101 graf_mkstate EQU $4F000500 srcp_read EQU $50101 srcp_write EQU $51000101 scrp_clear EQU $52000100 ;GEM 2.0 fsel_input EQU $5A000202 fsel_exinput EQU $5B000203 ;TOS 1.4 wind_create EQU $64050100 wind_open EQU $65050100 wind_close EQU $66010100 wind_delete EQU $67010100 wind_get EQU $68020500 wind_set EQU $69060100 wind_find EQU $6A020100 wind_update EQU $6B010100 wind_calc EQU $6C060500 wind_new EQU $6D0 ;TOS 1.4 rsrc_load EQU $6E000101 rsrc_free EQU $6F000100 rsrc_gaddr EQU $70020100 rsrc_saddr EQU $71020101 rsrc_obfix EQU $72010101 shel_read EQU $78000102 shel_write EQU $79030102 shel_get EQU $7A010101 shel_put EQU $7B010101 shel_find EQU $7C000101 shel_envrn EQU $7D000102 shel_rdef EQU $7E000102 ;GEM 2.0 shel_wdef EQU $7F02 ;GEM 2.0 xgrf_stepcalc EQU $82060600 ;GEM 2.0 xgrf_2box EQU $83090100 ;GEM 2.0 ; Die Messages des AES MN_SELECTED EQU 10 ;Meneintrag angewhlt WM_REDRAW EQU 20 ;Teil eines Windows mu neu gezeichnet werden WM_TOPPED EQU 21 ;Window ist nun das aktuelle Fenster WM_CLOSED EQU 22 ;Window soll geschlossen werden WM_FULLED EQU 23 ;Window soll auf max.Gre gebracht werden WM_ARROWED EQU 24 ;Scollbalken angeklickt WM_HSLID EQU 25 ;Der horizontale Slider wurde bewegt WM_VSLID EQU 26 ;Der vertikale Slider wurde bewegt WM_SIZED EQU 27 ;Die Gre des Windows wurde gendert WM_MOVED EQU 28 ;Das Window wurde bewegt WM_NEWTOP EQU 29 ;Das Fenster wurde aktiviert (siehe WM_TOPPED) WM_UNTOPPED EQU 30 ;Der Fenster wird gleich inaktiv (erst ab GEM 2.0!) AC_OPEN EQU 40 ;Ein Acc wurde angeklickt.(30 bzw. 31 ist FALSCH!) AC_CLOSE EQU 41 ;Prg wurde beendet, ACC soll seinen Speicher freigeben. CT_UPDATE EQU 50 CT_MOVE EQU 51 ;Funktion unbekannt CT_NEWTOP EQU 52 ; WM_ARROWED angeklickt (nun die genauere Definition) WA_UPPAGE EQU 0 ;Balken oberhalb des Sliders WA_DNPAGE EQU 1 ;Balken unterhalb des Sliders WA_UPLINE EQU 2 ;Pfeil nach oben WA_DNLINE EQU 3 ;Pfeil nach unten WA_LFPAGE EQU 4 ;Balken links vom Slider WA_RTPAGE EQU 5 ;Balken rechts vom Slider WA_LFLINE EQU 6 ;Pfeil nach links WA_RTLINE EQU 7 ;und Pfeil nach rechts ; Die Objekttypen des Resource-Baumes G_BOX EQU 20 G_TEXT EQU 21 G_BOXTEXT EQU 22 G_IMAGE EQU 23 G_PROGDEF EQU 24 G_IBOX EQU 25 ;Bitte in entsprechender Literatur nachschlagen G_BUTTON EQU 26 G_BOXCHAR EQU 27 G_STRING EQU 28 G_FTEXT EQU 29 G_FBOXTEXT EQU 30 G_ICON EQU 31 G_TITLE EQU 32 ; Object-Flags bei einem Objekt NONE_FLG EQU $00 SELECTABLE_FLG EQU $01 DEFAULT_FLG EQU $02 EXIT_FLG EQU $04 EDITABLE_FLG EQU $08 RBUTTON_FLG EQU $10 ;Bitte ebenfalls in der Literatur nachlesen LASTOB_FLG EQU $20 TOUCHEXIT_FLG EQU $40 HIDETREE_FLG EQU $80 INDIRECT_FLG EQU $0100 ; Objekt-Status bei einem Objekt NORMAL EQU $00 SELECTED EQU $01 CROSSED EQU $02 CHECKED EQU $04 ;s.o. DISABLED EQU $08 OUTLINED EQU $10 SHADOWED EQU $20 ; Die einzelnen Bits bei evnt_multi() MU_KEYBD EQU $01 ;Tastaturereignis MU_BUTTON EQU $02 ;Maustastenereignis MU_M1 EQU $04 ;1.Mausereignis MU_M2 EQU $08 ;2.Mausereignis MU_MESAG EQU $10 ;Message des AES MU_TIMER EQU $20 ;Timer-Ereignis ; form_dial() FMD_START EQU $00 ;Bildschirmhintergrund reservieren FMD_GROW EQU $01 ;Ausdehnende Box zeichnen FMD_SHRINK EQU $02 ;Schrumpfende Box zeichnen FMD_FINISH EQU $03 ;Bildschirmbereich wieder freigeben ; graf_mouse() ARROW EQU $00 TEXT_CRSR EQU $01 HOURGLASS EQU $02 BUSYBEE EQU $02 POINT_HAND EQU $03 FLAT_HAND EQU $04 THIN_CROSS EQU $05 THICK_CROSS EQU $06 OUTL_CROSS EQU $07 USER_DEF EQU $FF M_OFF EQU $0100 M_ON EQU $0101 ; Parameter bei wind_create() WI_NAME EQU $01 WI_CLOSE EQU $02 WI_FULL EQU $04 WI_MOVE EQU $08 WI_INFO EQU $10 WI_SIZE EQU $20 WI_UPARROW EQU $40 WI_DNARROW EQU $80 WI_VSLIDE EQU $0100 WI_LFARROW EQU $0200 WI_RARROW EQU $0400 WI_HSLIDE EQU $0800 ; Parameter bei wind_get() & wind_set() WF_KIND EQU 1 WF_NAME EQU 2 WF_INFO EQU 3 WF_WORKXYWH EQU 4 WF_CURRXYWH EQU 5 WF_PREVXYWH EQU 6 WF_FULLXYWH EQU 7 WF_HSLIDE EQU 8 WF_VSLIDE EQU 9 WF_TOP EQU 10 WF_FIRSTXYWH EQU 11 WF_NEXTXYWH EQU 12 WF_NEWDESK EQU 14 WF_HSLSIZE EQU 15 WF_VSLSIZE EQU 16 ; wind_update() END_UPDATE EQU 0 BEG_UPDATE EQU 1 END_MCTRL EQU 2 BEG_MCTRL EQU 3 ;*H ;* Die VDI-"Library" * ;* Wer nheres dazu wissen mchte, sollte sich im Profibuch von Sybex * ;* die Informationen dazu besorgen. * ;*H ;1. Kontrollfunktionen v_opnwk EQU $010B0 ;Open workstation v_clswk EQU $02 ;Close workstation v_opnvwk EQU $640B0 ;Open virtual screen workstation v_clsvwk EQU $65 ;Close virtual screen workstation v_clrwk EQU $03 ;Clear workstation v_updwk EQU $04 ;Update workstation vst_load_fonts EQU $77010 ;Load fonts unload_fonts EQU $78010 ;Unload fonts vs_clip EQU $81010002 ;Set clipping rectangle ;2. Ausgabefunktionen v_pline EQU $060 ;Polyline (Byte 0=count(n)) v_pmarker EQU $070 ;Polymarker (Byte 0=count(n)) v_gtext EQU $0801 ;Text (Byte 2=n) v_fillarea EQU $090 ;Filled area (Byte 0=count(n)) v_cellarray EQU $0A02 ;Cell array (Byte 2=n) v_contourfill EQU $67010001 ;Contour fill vr_recfl EQU $7202 ;Fill rectangle v_bar EQU $0B000102 ;Bar v_arc EQU $0B020204 ;Arc v_pieslice EQU $0B020304 ;Pie v_circle EQU $0B000403 ;Circle v_ellipse EQU $0B000502 ;Ellipse v_ellarc EQU $0B020602 ;Elliptical arc v_ellpie EQU $0B020702 ;Elliptical pie v_rbox EQU $0B000802 ;Rounded rectangle v_rfbox EQU $0B000902 ;Filled rounded rectangle v_justified EQU $0B020A02 ;Justified graphics text (Byte 2=n+2) ;3. Attribut-Funktionen vswr_mode EQU $20010 ;Set writing mode vs_color EQU $0E040 ;Set color representation vsl_type EQU $0F010 ;Set polyline line type vsl_udsty EQU $71010 ;Set user-defined line style pattern vsl_width EQU $101 ;Set polyline line width vsl_color EQU $11010 ;Set polyline color index vsl_ends EQU $6C020 ;Set polyline end styles vsm_type EQU $12010 ;Set polymarker type vsm_height EQU $1301 ;Set polymarker height vsm_color EQU $14010 ;Set polymarker color index vst_height EQU $0C01 ;Set character height, absolute mode vst_point EQU $6B010 ;Set character height, points mode vst_rotation EQU $0D010 ;Set character baseline vector vst_font EQU $15010 ;Set text face vst_color EQU $16010 ;Set graphic text color index vst_effects EQU $6A010 ;Set graphic text special effects vst_alignment EQU $27020 ;Set graphic text alignment vsf_interior EQU $17010 ;Set fill interior index vsf_style EQU $18010 ;Set fill style index vsf_color EQU $19010 ;Set fill color index vsf_perimeter EQU $68010 ;Set fill perimeter visibility vsf_udpat EQU $70 ;Set user-defined fill pattern (Byte 2=16*planes) ;4. Rasteroperationen vro_cpyfm EQU $6D010004 ;Copy raster, opaque vrt_cpyfm EQU $79030004 ;Copy raster, transparent vr_trnfm EQU $6E0 ;Transform form v_get_pixel EQU $6901 ;Get pixel ;5. Eingabefunktionen vsin_mode EQU $21020 ;Set input mode vrq_locator EQU $1C01 ;Input locator, request mode vsm_locator EQU $1C01 ;Input locator, sample mode vrq_valuator EQU $1D010 ;Input valuator, request mode vsm_valuator EQU $1D010 ;Input valuator, sample mode vrq_choice EQU $1E010 ;Input choice, request mode vsm_choice EQU $1E010 ;Input choice, sample mode vrq_string EQU $1F020001 ;Input string, request mode vsm_string EQU $1F020001 ;Input string, sample mode vsc_form EQU $6F250 ;Set mouse form vex_timv EQU $76 ;Exchange timer interrupt vector v_show_c EQU $7A010 ;Show cursor v_hide_c EQU $7B ;Hide cursor vq_mouse EQU $7C ;Sample mouse button state vex_butv EQU $7D ;Exchange button change vector vex_motv EQU $7E ;Exchange mouse movement vector vex_curv EQU $7F ;Exchange cursor change vector vq_key_s EQU $80 ;Sample keyboard state information ;6. Auskunftsfunktionen vq_extnd EQU $66010 ;Extended inquire function vq_color EQU $1A020 ;Inquire color representation vql_attributes EQU $23 ;Inquire current polyline attributes vqm_attributes EQU $24 ;Inquire current polymarker attributes vqf_attributes EQU $25 ;Inquire current fill area attributes vqt_attributes EQU $26 ;Inquire current graphic text attributes vqt_extent EQU $74 ;Inquire text extent (Byte 2=n) vqt_width EQU $75010 ;Inquire character cell width vqt_name EQU $82010 ;Inquire face name and index vq_cellarray EQU $1B02 ;Inquire cell array vqin_mode EQU $73010 ;Inquire input mode vqt_fontinfo EQU $830 ;Inquire current face information vqt_justified EQU $84020002 ;Inquire just.graph.text (Byte 2=n+2) GEM 2.0! ;7. Escapes vq_chcells EQU $05000100 ;Inquire addressable alpha character cells v_exit_cur EQU $05000200 ;Exit alpha mode v_enter_cur EQU $05000300 ;Enter alpha mode v_curup EQU $05000400 ;Alpha cursor up v_curdown EQU $05000500 ;Alpha cursor down v_curright EQU $05000600 ;Alpha cursor right c_curleft EQU $05000700 ;Alpha cursor left v_curhome EQU $05000800 ;Home alpha cursor v_eeos EQU $05000900 ;Erase to end of alpha screen v_eeol EQU $05000A00 ;Erase to end of alpha text line v_curaddress EQU $05020B00 ;Direct alpha cursor address v_curtext EQU $05000C00 ;Output cursor addressable alpha text (Byte 2=n) v_rvon EQU $05000D00 ;Reverse video on v_rvoff EQU $05000E00 ;Reverse video off vq_curaddress EQU $05000F00 ;Inquire current alpha cursor address vq_tabstatus EQU $05001000 ;Inquire tablet status v_hardcopy EQU $05001100 ;Hardcopy v_dspcur EQU $05001201 ;Place graphic cursor at location v_rmcur EQU $05001300 ;Remove last graphic cursor v_form_adv EQU $05001400 ;Form advance v_output_window EQU $05001500 ;Output window v_clear_disp_list EQU $05001600 ;Clear display list v_bit_image EQU $05051702 ;Output bit image file (Byte 2=n+5) vq_scan EQU $05001800 ;Inquire printer scan v_alpha_text EQU $05001900 ;Output alpha text (Byte 2=n) vs_palette EQU $05013C00 ;Select palette v_sound EQU $05023D00 ;Generate specified tone vs_mute EQU $05013E00 ;Set/clear tone muting flag vt_resolution EQU $05025100 ;Set tablet axis resolution in lines/inch vt_axis EQU $05025200 ;Set table axis resolution in lines vt_origin EQU $05025300 ;Set tablet x and y origin vq_tdimensions EQU $05005400 ;Return tablet x and y dimensions vt_alignment EQU $05025500 ;Set tablet alignment vsp_film EQU $05025B00 ;Set camera file type and exposure time vqp_filename EQU $05015C00 ;Inquire camera file name vsc_expose EQU $05015D00 ;Disable or enable file exposure for frame preview v_meta_extents EQU $05006202 ;Update metafile extents v_write_meta EQU $05006300 ;Write metafile item (Byte 0=num_ptsin, Byte 2=num_intin) vm_pagesize EQU $05036300 ;Physical page size wm_coords EQU $05056300 ;Coordinate window vm_filename EQU $05006400 ;Change gem vdi filename (Byte 2=n) v_offset EQU $05016500 ;Set line offset v_fontinit EQU $05026600 ;Init system font ;v_escape2000(times) -> (klappt mit dem Konzept leider nicht...) ENDPART END 4` `,LArc's PFX 1.13P 1990 -soft, Markus Fritze g.h` /H*@"m mA$H -(H!Sj JC pB QN , HD , p,m:<0r Q&N~Q~d RESn`, HED@|D@ArTApAQڀn&-A LA(HJkf&CH"grאg<fA``+D +E+F.ޅR؃+D؅+DC m Sj m -`BSjL gpNޭ$-lz5- n e:boot_2_0.prg ` ?<NNT3f"Bg  NN\p} // NN M@~jHz} NA\"AT 2f}>H~y/HTdg3NqvuFyκ|f|gF 3 /g J}ypBg0O BgNA,BgmHzT ^J@klC`3|`Axpw"Q,?2N" !~0ӲQHzf~Hp89@u okV` Z5.N2`DzJx>f10 8fp0 p3EpBOOTUTILITY V2.0 1989 Andres PottqJJMMTTHHMM  Fehler beim Einrichten : Vielle1 Diskette schreibge@?tzt ???3 Dies0Utility ist Public Domain und f@ kopier?bar! W00gut gebrauchen kann, so3llA0 n B@eu0mi@in0k @A'Entwicklungs0trag' zu @@en. Da]Gbelegt kC(!) Sp Aerplatz auf d0E, da@ v@stndig 0Bootsektor ste @yAgAsomit%P@@ Schu#Pgeg0NW-=Pir0!BSyYPm er~Aint naoSPRZ@AnausoAn@ wie@wohnt, ihr ST haPun jedo@folPde n@ Fhig P0@ p 1. Fastloa*Q(ROM/Bb@tertos) 2. Seekra>@= 2msAoxo(optional/`S`3Atum@YPlA (re1 Shift-aT`PQSha@in/eS`4d/Z@ b @b`@SercyoKh5. Um@`a&Q60 Hz Bild}@q@z (besse1;q, k6.Tdur@ccControl VFm7.YVQ-vTQb8`loppymoUQluftJPm0espartPweils 1 sV}9. a`rkn@k,3 -P*PhobyACtrl-G-TonA-/P's@R` qMA A1seA8hornweg 8  5628 H%iPhPU@B'a4e drAP+@;z1w`@Gv:rquab@t/f? (j/`1Yf&Qda(nu2 sehWPS0L&Pwer@!!PyCUa(rQ7r0Zugriff, ab0聊 Env R @ M 5tџrE]'^RVKj́1H&QFAA5?\_EwurPf2\}Baall@tP(c!)1Err>VPwriti`@Paps disc-e protected)M:OLI?This u`FjK! Eyo{w?ho lik0jQ2z@u[AjPof0@hould1z@m@oװmy.(Thank you!) edoesn't reduce tcapaccAof a@,0cPecomple`y includSv@480>|Ae byt0 bORcUQrefoa good L` 3agu@h@anPgƾPus! AŰrQYo+Pf @f` us$@h@now< fant`o@fe90@o!o*repet0SPln0 swit@d on/offry cadD- West-GermU@Pleaӝkey tEo3n1PʂCge2D5s-yRsV%` } gdrsKCKeep Qfxn2( ѐ*6AsPPbe &w o@9O= ]*< B QӉ; EAIeˆ^AA? _Ebe0 S$̰e)A"E W# Deut@0REnglBh10_ T U0*0s00 oNq0? _ V U t0 0 zT--V/K;*H ;* Falls sich ein Programm nicht debuggen lt (IRQs, etc.), kann man * ;* an einer kritischen Stelle dieses Modul einbinden. Nach RESET ist es * ;* dann mittels GETREGISTER mgl. die Stelle wiederzufinden (wenn der es * ;* der Debugger berlebt hat). * ;* 1989 by -soft, written by Markus Fritze 25.06.1988 01:57 * ;*H save_base equ $300 ;Die Basisadresse ($300.w) ist (fast) will- ;  krlich gewhlt, aber GETREGISTER nimmt ;  $300 als Default. Zudem liegt $300 ;  im Reset-festem Speicherbereich, d.h. ;  falls ein RESET ohne Debugger aus- ;  gelst wird, bleiben die Daten er- ;  halten (Reset-fest ist der Bereich ;  kleiner $400, allerdings werden Teile ;  durch Vektoren berschrieben) trap #3 ;Trap #3 wird vom Debugger gesetzt. Es zeigt ;  auf einen RTR, d.h. Es wird in den Super- ;  visormodus geschaltet. Sonst wird nichts ;  gendert. Falls man bereits im Supervisor- ;  modus ist, kann man sich diesen Befehl ;  sparen. movem.l d0-d7/a0-a7,save_base ;alle Register retten lea save_base+$40,a0 ;Platz fr die restlichen Register move sr,12(a0) ;SR retten (MOVEM & LEA beeinflussen ;  das SR nicht!) bsr.s *+2 ;PC auf den Stack bringen nop ;2 Byte Mindestdistanz fr BSR.S move.l (sp)+,(a0)+ ;PC retten move usp,a1 move.l a1,(a0)+ ;USP und move.l sp,(a0) ;SSP nochmals einzeln retten ;Falls es hier zuende sein soll, folgender Code: addq.w #1,$f8240.w ;Ab hier flackert der Bildschirm bra.s *-6 ;nun nur noch RESET drcken ;Sonst bitte diesen Code: movem.l 32(a0),a0/a1 ;A0 und A1 wieder zurck move save_base+$4C,sr ;SR auch wieder zurck ;Das war's, wenn nun RESET gedrckt wird, kann man sich schnell alle Werte ;zurckholen (siehe GETREGISTER) `N ij|FShareware-Basisversion Markus Fritze, Birkhahnkamp 382000 Norderstedt 1)O#Hl/<#NMP# @ TASSWNC)O#@^fHPc < a} <a}4, V, l!RpVF@ gHz?< NA\P N`~ Bugaboo V1.70 resident I)H!B)I!Z g ޭf)a#)I!^)J!2fPcB!l!2j Qk ?d)K!B,!2B!FNC.l$Hp)@#NB l!J P)H!NAgacQPBy(ACJVرe x,.f A X |f"P)I!:Y~XXGJg9G!6 |.H)H$HaQNJ,^foNN)l!BPo,r<1QoN^Hz4N,J,qgHzN,QqNNpN)l! !A)H N Bugaboo V1.70 by -soft The Bozos: Markus Fritze and Sren Hellwig 68000 Processor is active parameter-file loaded I.l$HNNpNŠBpN ,AB,A1xNJgJ,vfNpN|/, NuN,QBB,nQoBp",NJ, gA!N<|g<!fNעQ J,g QNN 8",#d !)@#atNJ!2f`J, fnB,eB,_B,`9|XPgPhB,fP!!J,fa,f g`g <g<fa\Jg,S,H*HC^ET N< g6g<Ae,<Zc <ae <zbJgJgk agJf`r2M!B,N &#@!|?/)].,"PRNPBREAKPOINTSSAVESYMBOLTABLESYSINFOSYSTEMSETMEMORYLISTDISASSEMBLEDUMPLEXECUTELOADGOUNTRACEINFOTRACECALLIFMOVECOMPARECOPYDIRECTORYHUNTFINDFILLCLSASCIIASCFINDLETEXITQUITTYPESHOWMEMORYMOUSEONMONSHOWMOUSEMOUSEOFFMOFFHIDEMOUSEREADSEKTORRSEKTORWRITESEKTORWSEKTORREADSECTORRSECTORWRITESECTORWSECTORREADTRACKRTRACKERASEKILLFREEMKDIRECTORYRMDIRECTORYNAMEFORMATGETREGISTERLINECRFOPENFCLOSECLRCACHECLRCACHEGETRESETCHECKSUMMEFILESWITCHRESIDENTCURSORINITREGISTERBSSCLEAROBSERVEDOSYNCRWABSCONTINUEFATTRIBUTLABELBASEHELPREADFDCCOOKIEOVERSCANBF~>"!%2&&fdhai ii*N>ggW6NrbjkbjddbdZZ"{X|v|0{{gh2gʃf"ehe$afkjj%p"VVVVVVUUUUUUUUTHTFSSPVSShRQP&OOOrO#N.NLLHOLi`KKK~IrI@%$dR!!S XJOkD:tz (j  |$Cr1p "\M:$t QBRA|:fr0QPo l!$(&(֨K# EG ~ ZX"a Rp?QM沂edJ!*gka Nfk,Q&\\Q ,!g&"@~ EP ZA r2RAgSAxa v\XQQoANtU@kA# "0NnNu1          ( & $ $ $ $ $ $ $ $ $ $       adr:line:labelname:Marker OK EGK |$Po~*\C*B00D@|?<9c^@=$"fp0QP`Ja2$\SAg4e"k,?/ pW&_`"Jc,`,="a `,*BGP IQpQoANt,^&     ay`yay>0, DQBN?j"BW0, S@kg J!^g a@` a`a9_Bl )l`~,l<ag0||Ng`A)H ay`u~`~A|)H ax l,f l)ppC!p`uaxHax`Dax,lN)Nax`.H*l!"-@,A9|>, SG?Rlva]>QBl9| LNuPBl ` Q9| H*l!"-@gR,A9|>, SG/Rlas.QBl9| LQNuJ!^g9| H*l!,m@ R<,@Nf^ l!dtkn*l!^N<BlPo>, SG0NRfA^`./A H~"NL~"_&xr2arAWBA 0,NRFRlQBl9| QoLNu&.N,l!,nJk NRgJPo/A H~"NL~"_&xr2a:rAWBA 0,NQoDNuDNuNA N:fNNN,A!$avJl fM$ptA|6Nע6 NעL@Nu0123456789ABCDEF0123456789abcdefagp.Nע/N,NuHJ!*gH"l!&z($,!*ra"8BLp0 beCDL?Nu4Eg `:REEfCDL?NuHG>:EEGPz &#tВ[D<0gz0Nע҃QL?Nu0JDfp0` d'B@;HG:MGPz &#tВ[Dz0Nע҃QL?Nut |gHx Dfe^aNע`THxtv ep$Nע@JgJgt@0<9c^@NעxQJDfp0NעLNuH,Oa?Jf0<0<:e^NעfL@Nupg*<:g <;g< g<ae <zb<JNu)H|pSNu<0< e_< edNu7DNuJg <,faDNu`v;0WJCk;0 Nu%@.$ p;W;Nuʗ?<aZg$<,ga$AW<,fa>a&AWDNu$lԗ4, SBa gH<#gN<[gh<,gab$AJg,<[gR<#g,<,fXa<#g<[g4a4&At)JJBgNuagaS$HAJAf(`t)JԗNuaga<]faG``&<,fv|Ca*<,gJf& CSCNuHo>vCaL|`aF<"gt<'gn<!g^a<.fBa&4a <Wg<Lg<Ag<Bg`nHAaHAYYNuCHAHA`$HBJBfHBBf`,IaR"NNuzx?4gBg zQ`JEf`r-ffag<,fNuJgH?~a$tRB; Rg ְ; fL~Nu,(.#=[]"/a$<+faNarԁi`` <-f a8a\i`ذ<|f a&aJ`Ȱ<^f aa:`<f >f Raa `"$Nu/aP$<*f aaBa *`</f aa0a `ܰ<&f aaā`̰<%faaa $`"$Nu<!fa|a JgrNurNu<~f adaFNu<-g<+faNa NuaFaDNu/<(g<{g"a$Nua&aİ<)fa$Nu` |a a<}fat<.f$aat<Lgt<Wg t<Bf 2"x$x G*!! &ArJk g`2`"!! $Nu!! ` .H?~4CG^$Hr0Jk>RA 1 g,J1g&JAg HkJ3f1@aP8DgC J`r0)2) "i J@g|eg|g 0N`"1`" `4"g "A"1 `210L~DNuCtadL|fVa,f*",NuahJkbC "1gNu` ",Nur2,ANuCtad|dH"1`tt adS@jp C# @"1`Vr$,!*`brJ,roNz`NAXO "rf!r!~!v?<NT??:?<NXHz~?<;N\?<NXLNu0:Nof!Fr!D~!Bv z4N0:,ofpNu z$N0:ofpNu zNx:\X<.f ( gH瀀a2v;0 gQLvDNuPaDNuBW L&HBCHC/86HD8HC"(NuHJg~BBDJlVDDJlRDDvdԂփ`pbd|mDdD$LNuHpJjRDJjRD(*HDHDJDfԄe(HAHDJDfԄeHEfgDL3NuJk4p`0p`,p`(p`$? WdJle?,?<>NXa0HH"Bx>A`JfJgfRJl gN@B,n/p-NעDt aNזp:NעNזN,`vA`RA`LAR`FA`@A`:A`4A`.A$`(A:`"AP`A`AY`A` AS`AJ,! g .l!NdB,n0,NNpNQ `܄?Not allowed in batch-mode?Unknown Command?Internal Error (Write down your input!)?Not allowed?Illegal Breakpoint?Overflow?Syntax error?Value not allowed?Braket missing?Label don't existiert?No Symboltable?No Printer?Can't open file with FOPEN?file already opened?No programmErrorDrive not readyUnknown commandCRC-errorBad requestSeek errorUnknown mediaSector not foundNo paperWrite faultRead faultGeneral mishapWrite protectMedia changeUnknown deviceBad sectorsInsert diskEINVFNFile not foundPath not foundENHNDLAccess deniedEIHNDLLess memoryEIMBAIllegal DriveENSAMEENMFILERANGEEINTRNIllegal program formatEGSBFDisk fullFile too shortUnknown TOS-Error?<hNNT|hg.NN/<nNNX@??<nNNTN,p_9@ N 8f HzPN,N&@HzTN,Jg0Hz`N,NעNעNעNעHzJN,"a`Hz@N,N?no cookie-jar cookie-jar: - name : "" = $ t< dp `|߂Qp<Ae <ZbR`CT kfNPuNLOADEND B|QuNa,|$*|Zan/ a~*_)N| N %f:  dR`  d g:`NuMk gNע`p `NpNNa봰<Sg<PfrtA8`rtA7hh'Hz/N,/N,Hz3N,NNpNprogrammsegmentSymbolformat now relative."Ha4<,gD I2, Ag[A"|34, gS I"|3"atJg<,fTa<.fva6p0, ]@klbf"|3E d`I"|3"E Gd """"`Sl Rl lP /,BN )_aLNt<Bg<Wft`<LftaL2, [A"|3J@g&<,fa,atbJgGS N Rl Sl lP aKN/ABNL _*l!B,l!Fag<,g a**A<,faa,A`a<"gaNExecute CLR? (y/n) |H0eXrtvxz|~&G g BJg,K$MHHHHHHHHSfܽg`L NuJgC $@fNB $Nag|ahabtb>aVaP,AaLaFHAJAfHA<a8a2HAJAfnHA:a$tb^pN ???/??<NMOJkNagatAjJgpN az, Q ,|$"< azްW2gLSA< g&< g< gNע|`N޲` NNp|NkQJfJFfNNpE azRNA6h'NPv"Ha Ig|M,,aVM")Na`)Np9|tBvP`TPv,l"Ha IgvaSlP,laSD)NNpP NH|.zG Ep6'@'@'@a ?gRap$ fgZ<:f :fR`atp7i68) "iNa2GSAQL>NuT`|f .GL~`D.GL~`@<Dg2<dg,<-fa +a -fa @+Nua+aaXk`2<a xaajla+<|gP<kH0+@8| f6+pCQNuaBx@2|/g|-fa*x@@l8S@An|/g̰|/b S7CNuaj a@k@NuaDNuak*@+ar ,fafza,+4TSNu2<a+4TSaaFk@+Nuv (gDab.`2 #aJ3PfCabakr@+Nua`7P3PNuNu2<a Nu #fFa4|Nu #fRaJ3Pf b+ag<;fSHNu #fRalJ3Pfb+NuazNua kց+Nu<Ag:<ag4<sg <SgSHpNu<pg <PgUHpNup 0cUHpNup@0k|n 0bJ@Nu Dg dgpNuRHp@0kİ|n 0bJ@NuR0k <n@Nup`(<0k<n (0dTNuXO`:gk<b gj|g>`$+gZ`+@g&<gF<f6J3Pg Ps PXS$NuJ3PgP`< BJg4 HHf0|`$J3PgPsP` H@J@g HfTS4Nup`8R (fXakP )fHNuv/k<#g<Dg<dg<Ag<ag<(g<-g:<Cg<cg<Sg <sg<Ug<ugaB (gJk .fJR<Lg@<lg:<Wg<wg<sg<Sf+8J3Pg PsPTS4 Nu+9J3Pg Ps PXS$ Nu (sg (Sfn (pg (Pf\ (/bR f8|?V Nu (cg (Cf, (rg (Rf (/b f|<V Nu (Pg8 (pg0 (rg (Rf (/b f||T Nu (/bpT`aNf+ Nua:fz+ NuR ffaa:k< NuR<pg<Pfp`R Sg sg ag Afra )f +gf + Nup`Rf+ Nu ((g`fTHak )f + Nup`l pg PgSH`fRH<cg<Cf )g&p0HHfa+;TS Nu+:p00Hf4TS NuRa^|g ag Agfra )gf0+aRTS Nuf(+HCJCgRCfbHC4TS Nup Sg sgNuRH<Pg<pfpNu Dg dgaȰ|g ag Afa( )g0 .f Wg wg lg LfR )fRJ3Pfc HHfCTNuH>,HG& '| Khpr5gQ`S*,,,Cfr4, 8BL0Hbfbf CL|Nu4Af`2RAAf̓ NL|Nu..ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZH~aTa٪&L~Nu  gSHNuABCD /ADD /l@ADD.B /lADD.L /lЀADD.W /l@ADDA 04ADDA.L 04ADDA.W 04ADDI 0L@ADDI.B 0LADDI.L 0LADDI.W 0L@ADDQ 0fP@ADDQ.B 0fPADDQ.L 0fPADDQ.W 0fP@ADDX /@ADDX.B /ADDX.L /рADDX.W /@AND 0@AND.B 0AND.L 0AND.W 0@ANDI 0@ANDI.B 0ANDI.L 0ANDI.W 0@ASL 1@ASL.B 1ASL.L 1ASL.W 1@ASR 1@ASR.B 1ASR.L 1ASR.W 1@BCC 1dBCC.S 1zdBCC.W 1dBCHG 1@BCHG.B 1@BCHG.L 1@BCLR 1BCLR.B 1BCLR.L 1BCS 1eBCS.S 1zeBCS.W 1eBEQ 1gBEQ.S 1zgBEQ.W 1gBGE 1lBGE.S 1zlBGE.W 1lBGT 1nBGT.S 1znBGT.W 1nBHI 1bBHI.S 1zbBHI.W 1bBHS 1dBHS.S 1zdBHS.W 1dBLE 1oBLE.S 1zoBLE.W 1oBLO 1eBLO.S 1zeBLO.W 1eBLS 1cBLS.S 1zcBLS.W 1cBLT 1mBLT.S 1zmBLT.W 1mBMI 1kBMI.S 1zkBMI.W 1kBNE 1fBNE.S 1zfBNE.W 1fBNZ 1fBNZ.S 1zfBNZ.W 1fBPL 1jBPL.S 1zjBPL.W 1jBRA 1`BRA.S 1z`BRA.W 1`BSET 1BSET.B 1BSET.L 1BSR 1aBSR.S 1zaBSR.W 1aBTST 2BTST.B 2BTST.L 2BVC 1hBVC.S 1zhBVC.W 1hBVS 1iBVS.S 1ziBVS.W 1iBZ 1gBZ.S 1zgBZ.W 1gBZE 1gBZE.S 1zgBZE.W 1gCHK 2PACLR 2lB@CLR.B 2lBCLR.L 2lBCLR.W 2lB@CMP 2@CMP.B 2CMP.L 2CMP.W 2@CMPA 04CMPA.L 04CMPA.W 04CMPI 0L @CMPI.B 0L CMPI.L 0L CMPI.W 0L @CMPM 3 HCMPM.B 3 CMPM.L 3 CMPM.W 3 HDBCC 34TDBCS 34UDBEQ 34WDBF 34QDBGE 34\DBGT 34^DBHI 34RDBHS 34TDBLE 34_DBLO 34UDBLS 34SDBLT 34]DBMI 34[DBNE 34VDBNZ 34VDBPL 34ZDBRA 34QDBT 34PDBVC 34XDBVS 34YDBZE 34WDIVS 2PDIVU 2PEOR 3^@EOR.B 3^EOR.L 3^EOR.W 3^@EORI 0 @EORI.B 0 EORI.L 0 EORI.W 0 @EXG 3EXG.L 3EXT 4"HEXT.L 4"HEXT.W 4"HILLEGAL 6JJMP 40NJSR 40NLEA 4:ALINEA 6LINK 4VNPLSL 1HLSL.B 1LSL.L 1LSL.W 1HLSR 1HLSR.B 1LSR.L 1LSR.W 1HMOVE 40MOVE.B 4MOVE.L 4 MOVE.W 40MOVEA 040@MOVEA.L 04 @MOVEA.W 040@MOVEM 5nHMOVEM.L 5nHMOVEM.W 5nHMOVEP 62MOVEP.L 62HMOVEP.W 62MOVEQ 6pMOVEQ.B 6pMULS 2PMULU 2PNBCD 2lHNEG 2lD@NEG.B 2lDNEG.L 2lDNEG.W 2lD@NEGX 2l@@NEGX.B 2l@NEGX.L 2l@NEGX.W 2l@@NOP 6NqNOT 2lF@NOT.B 2lFNOT.L 2lFNOT.W 2lF@OR 0@OR.B 0OR.L 0OR.W 0@ORI 0@ORI.B 0ORI.L 0ORI.W 0@PEA 6H@RESET 6NpROL 1XROL.B 1ROL.L 1ROL.W 1XROR 1XROR.B 1ROR.L 1ROR.W 1XROXL 1PROXL.B 1ROXL.L 1ROXL.W 1PROXR 1PROXR.B 1ROXR.L 1ROXR.W 1PRTE 6NsRTR 6NwRTS 6NuSBCD /SCC 2lTSCS 2lUSEQ 2lWSF 2lQSF.B 2lQSGE 2l\SGT 2l^SHI 2lRSLE 2l_SLS 2lSSLT 2l]SMI 2l[SNE 2lVSPL 2lZST 2lPST.B 2lPSTOP 6NrSUB /l@SUB.B /lSUB.L /lSUB.W /l@SUBA 04SUBA.L 04SUBA.W 04SUBI 0L@SUBI.B 0LSUBI.L 0LSUBI.W 0L@SUBQ 0fQ@SUBQ.B 0fQSUBQ.L 0fQSUBQ.W 0fQ@SUBX /@SUBX.B /SUBX.L /SUBX.W /@SVC 2lXSVS 2lYSWAP 4"H@SWAP.L 4"H@TAS 2lJTAS.B 2lJTRAP 7,N@TRAPV 6NvTST 2lJ@TST.B 2lJTST.L 2lJTST.W 2lJ@UNLINK 7TNXUNLK 7TNXXOR 3^@XOR.B 3^XOR.L 3^XOR.W 3^@XORI 0 @XORI.B 0 XORI.L 0 XORI.W 0 @`1T~ @ LW*}++@ LWaFg°<OgQ<KgaƄHAJAfӾHACX4kӰAf>4v6J@gd<.gPJ@gΰ<,fPa<?g<*g>a4RkpSk0bfC <.gP`EQað`A Q0QNA P0QNCABeNM zHzDN,Nזp#Nעr2>aNNp46a QNaNrC |*g|+g~E޾|gE |g | gEp;Nע|`p,NעRACb6fRgRJfJ1gkp*NעaQNNp`NNNpE`E8p;Nע|`p,Nעrg J1gkp*Nעa~QNNp`NNNpP!\.!^!]!]!eN ,!g @ ( h`BSjNaa2N)l!B9| |)H"l!N i! B)H)HApBQNuraga0bhI9A N@|A "h 0<BBBBQh((&fp@&CarZNFN,l><4x8<zan|a gLh,AagB,<a g6h>ag,,<a g h(ag<Agz<Xg<EfzSFgаJEg r0ASj` r^SjDAGHzN,p$NעaNNpNChecksum = M|ag^<VgX<AfJ,cgJ,k/N,AfNL0,c ??<>NAXal2ak!r@.l#F.l#~`/N,A2NLalNSure you want to reset all? (y/n) the systemvectors? (y/n) g@<"g<<\f."Ha<\g"ta(dH2aadA|` Ip\Nע`S<;gNpNaN ,!)@! K,@p&:Q`!J |)H! )H!"|BXeNJ!*g*lԕp&@ ,!g $@&ja4" ,l!&!.d, b,Jg ca&H@NpaeLkJfQ)MNM`H"Np(Nעp.Nע/N,p"N$P:"aNזKpGtp <HfpLNעMx|p gJgxNעRRQJf2/p6N$,ft adnfa`Rp-NrNrQ,_L?Nu+KGRXDTB0,ba4gʹpa{raBg/ ?<aPXaBlJ@kN0,c|pa{"Bl"|n`XrNp-NעQNpNraga,Skhcb^p NpQNMaga,Aacf:Kp&:QNafp/?<HaP*\"aHz.N,N>af<:f̾GAk|baa6N Bytes free. Bytes on drive X: free. ?<aOT.paz0RGA@M a(Jk"$.aP". aH"a@HzN,NuSGk??<NMXJkt @<( :((gdBBBBM=E=X =P*|$xv???</ Bg?<NMOJk$| M0<Jf\W@WEJXfRDSEWf,NuRG?/?<6aNPNua2zJgF<Dgz<Sg<,fvza`a <SfbaaRg|a|gNhJ9AANL>,,|$pax|O8Bg/pavdpJlgpl @@@|8A@F1ah>0,apk ,)@ H H@ 111pa1paaDkdž0a*kǂQ>N1DNuD08Nu1a1pa0<Q <8gSf1І0<QpNu~`/AVNL _~ abpauX?<?,?,?,?,B/,?NNO l)Ht2<XQ9BJ@kNWrite the sector? (y/n) a|UaXgTh 9AagH|<<aBg>h 9Aag2|a0g,h 9Aag |agh )Aag|a gh9ANuJg$<,gaJkbDNuaTDNuaNԠ (c"@BiBi"hBQ Nu"hcBiBi"hBQ NafJ,jgƢJ!fƚJg"S`<&g<!gX<,gag8HzN,HljN,aİ<,f aVdh$l!&l!`i)J!)K! c2HzXN," a HzQN," aNזa}撊t aHz8N,A9NLpasvaH@aHraHNSave from to Bytes. Save this file? (y/n) aghHzN,HljN,aJfۆA6"h HzN," a\NpANLparaGGA6E&aGA6EG aG$I6|}aGaGNa~<Hf~a~<Rf P apfa6a?Hlj?<kDK M|/ /??<?NAO /??<>NAX f -Sof Uftf PqLNuA -So0ft|? |* 9| 9| 9| 9|U Bl 9|N A tpQp_r RAQpQLNuag"<,gag`a<,f ahNda$l!B@d`,JHz^N," aPNNppap/ aFPHzNN,"aNNp")A!)A҆)A!Hz:N,SaNNpNStartadress :Length :Endadress :J,cgpapZrOCBQa&g><,gaa<,f*a <"fdCrg <"gRA` AaaaB!B!azBHlHlj/<KaEfOJkfz"@)I!&i)K)KH|)O9S6J)yA!O / B/<KNA l NNh&h|I.l! k0&k$)k| LavBl l!)h)h"h#ED# )I)IpBQ#()hBa$|)J# )IaLNp/?<HaDp\,l!2r@ҮҮҮ k Bl anaB/,#B/<KaD8OJkTfL*@)M!,l!2B!2 .ЮA&HCЉ$I"سeA . . , Jnf(Jg $m rђg|e`E`"FJf..)G!*gP)F!&܇)F!."l! ,!g &@A# p B2RAg"ҩ XXQ*i,Ma `B!2B,p`H$HC!b)I| @g"LE "Sa |"BNuQBNuQC $B)O $fP @fA!b$HpOW/N,Np`aBrM aB"ptfp V`f . k)n..g/?<HaB\,c)F!&)F!.߬!. .Ю?<?,/?<BaBXO Jkt,F"aB$pfaAQp*N&M$N$$$4 NMpWg *HfPp,HAp WgB,H!.e)J!.۵e l!&"l!.. )G!*$I BA Jfe!&/ /,!&/<JaAO NuSymboltabelle mu segment-relativprogramm-relativ sein. fehlerhaftJ!*g l!&( ((*(,܄"l!&$l!.t") )gctgc`dgc`dCeJgDHzBN,Cv<g$<g C=rt`CCrthh'/ N,Hz:N, l!"l!&$l!.") )tftftgҰ #A CeY"J l!&A H$H&I~"$ Ђ␲dA"`cC$`b0" ACL:( 0H3EAC"$c(Hd Jad L"KaLNuHJ!cp@!8)x A!|)O l!J ! l!N!l |A )H BgNAF!8.l l!J !N! ,l!/.,?<INA\/?<INA\B!at ,!&gJ,f/?<INA\B!&B!*LNuNs|a<"f,lz?<gaRfRQ)Nab<"fNa&?/ ,J)Na"NpaRkJf oj`e)NNA Po"NG t) "v?-aQfpRRQ"BQoA 0,`y|vag aJ@gSaaN?/ JCggR,@)Na$NpaR(kJf oj`e)N\NuA PoG tJCg*`0123456789ABCDEF0123456789abcdefQoNu"NKJl fK|4, ~,pSBkaPfZAVFQ>, DFF6r QSGp"aPf,Q"BQoA 0,`xfR--`R-`"R,A|fbN.w |8, RDLSDj`2,aPFf"2abZFQ8, DDDgVTD`NT----`N.l |8, VDLSDj`,aOf02aaOf82aF Q8, DDDgXD`T----`T----`P`QazaN?/ ,J)NaLfNpaPkJf oj`e)NQ\Nuaha>,HaNזgp(Nעp-NעDaDp)NעNזaNזtaNזp"Nע|aqdQp"NעNNp N<,gN?</<NM\?<E/<NM\NC*I$l&l6,,Sgj,`RHz N,NpN?Not possiblea<,gSa$` ",!g ,A$n&n`",!g$A&l!age|)JNpNaNk2/ B@S1f R@@d"Sp Jl fp;Nעa Nז$_`E)J)K9C`a<,gSa` ",!g ,A$n&n`",!gn$A&l!a@ R|$@gTe|)JNpNaN,k/ B@1f RR@@d"p Jl fp;NעafNז$_`ah<,gSa` ",!g ,A$n&n`",!g$A&l!<,fC*If"K, , ,JHa%LMa6J@gH,JaNpLaM~kTe|)JNz&I`H`gTgg&N M,KgBf&Ng2gggf`f"Jf`ggJgƲgf`pS`pLaNu8fBl"Pn`aeid<,faNAXJ,^faO8`aOaOHl/<#NMPAC$P$I2<i"Q#J,^f!|B&Q^PdQ /,#?< NA\.l#aXQcP(?< ,!/?<1NAKeep the debugger resident? (y/n) AazA gJffN x NNB Q v??<>NAXRC|PfaNBB paR!TJ,dgA! l!RBQcP(a",!ZgB!ZA ,#/Nu|/,#?< NA\.l#BgNAWanna quit this adventure? (y/n) a4CG^$Hr0JkRA 1 g,J1g&JAg Hk J3f1@aP8DgC J`0E t8)4) "R|g.<=faatJDg̸|g"`b2`$`NN>< `>< a0$ļfz9pC@2 r2 QNuaA9ANuaAANuaJkb CaJg ,AaGf"2"NuJ,roaN{Nut adS@jp ",!g"A23C# Ha(aj"NuC`CtaHdnHaMga@"NuC,gCa*"Nua$| g|fn9A NuaAp QNu<=fa`SYMFLAG  "RING  TDELAY  MIDI  OVERSCAN CACHE tMEMCHECK SHIFT  CLICK  KLICK  AESFLAG  PC SCROLLD  CONTERM  COL0 t COL1 tSMALL  SIZE  LINES  ALL u2USP SP uSSP SR t8CCR tF* DISBASE uBUFFER TRACK USEKTOR SECTOR SIDE DRIVE D tA tB tTM t/,0,zlxgav~0,xawat&0, D@T@9@Bl p*l!"l! fp afzCa,-C"-@aa-G"-Daa-K"-HaaaNז,m@ApBQa&B,oA/ArJg*BrN,JAf p aeJl f0, D@V@9@Bl paeCa$l!|"aNNזQpaea|"a4NזQ*l!"-D-Lg"-H)Aap ae|pOaj2<, DFZFg>, 9| DFSF |3"CHNL,@H/,0, [@@9FA DF"|3vv!t R9B /:a$)_LAQ9G 0, HS@ai)_Nu PC= USP= SSP= SR= D0-D7 A0-A7 / N,JfNuH?,9|9|( aY8*l!:-Lxrtv frUp;@ga{Rl QaY9_LNuCVZNX012ST,xHzN, n2(AgZ/N,p-NעI|erIA/N,Nזp0.Nעaj.aHz|N,.ataN.ahaB2.aVHzN,".aHzKN,?<0a-T6t raNעaK2aHz0N, < aT <aJp0, Nעa, <0NעHz N,pNBT@fHzCN,Hz N,$80<rQ"<@|H|b |Tdrt abHzN,JgHz3N,G@p$O|"SA&8&F.JRgHzN,@p$O|"SA &Jxp&F.JJ@gHzN,@p$O|"SA &Jx@p&F.JJ@gHzN, 9Jy#Ff"Jy 9JygHzN,A68~tp1‚~rx~Vf 1Â~HzN,Jl gHzyN,J,tg HzN,`J,sgHzN,HzN,p8ap 8Ha NNpN԰<g^rit apka `p-ap `p.Nע TOS-version : date GEMDOS-version : AES-version : VDI-version : GDOS loaded. clock : MHz hardware : not Banks : STE-hardware TT-hardware OS-Baseadr : 16MHz-Speeder PC-Speed Blitter 68881 Spectre-GCR OverScan Stacy NTSCPALUSAFRGFRAUKSPAITASWESWFSWGTURFINNORDENSAUHOL???HA BBA$" јјјјѐA0p0<NBLNu * * * *Aa",$LaJNAa",!a6NAa",!Ba"NAa",(~aNNp ,!g"@aN",!gAkaaNAma",!SaNNpNStart of the debugger End of the debugger Start of free memoryStart of programm End of programm End of free memory/N,pa]|p:Nע"l!AataAataAata$,!*g:A J,pgAara "p Sgpe-Rt aHzN,NAa")ҩaN,gAaB,g(r,IRIPoA9aQoKBAa,gAaNp/NpN,N"1 aVHzN,"1 aLNStart of TEXT segment Start of DATA segment Start of BSS segment Symboltable GST-Symboltable first free adress length:$ symbolsFast-Load set: clear only the program's declared BSSloading to TT-Fast-RAM possible, TPAsize = xMalloc() also to TT-Fast-RAMa:fnA *HPo"R,ANJ,g\!agavp:)gEdHm eXHa\B,oL CfA 0,aavDNu/Ha xLh"Nv Cd6`,2aUCfHm" eX; /.,!*B!*HaB,oL )G!*.C`a@d$lDi" g"e)Kp9|t)|v`Bp)JNuJf,la )Np9|tBv`4a l"l,f!<`#<)I)H)l`avaTa lN`.lJ,rkBg l/?,JGf#=P #$!z$LNs!$3J#EgNs"Hahg IEpOQ"|aN",NpINעpFNעC  gNזgNע`NNpNragab)AP`ragaL)AajaJGf l=P 0J|lA!$a lN`.l l0@|N@gB@|g/?,LNsC2#H3LFHNqNVx4C20@@E"#HHz0,?@ @FLNVx4NVx4F'#IH)z9_)_Nh)H)O.l$HJ,fHSb a,a,( l,g O)H)lN,Na*a|/, NuSgC |Nf`H,la6JfBLe̽"g eBja=N l!RLNNHN,a)aaN|LNuHK,l! p&||gLNsC"2\J,rkT#H?,LFNqNVx4C0pX@E"0T#_Hz?@ @FLNVx4NVx4#|I~H)z~9_)_J,ro\)lNj)J)O)O,f)l.l|a)`aXC<KgJg6ad?Jg <=fa$gav6>R<Jg ,Aa4XfR M0,jTp ")kpchp,`0anp*")kZcRNעp ")kFc>` aFp=")Nע/a$p `$a.p?NעPE  gSg Nע`NעNNpp,Nע~,I`2C~ lrJg"&Qg/,Ka2N,_fFJ,f3S 6JC QJ,f(!!^!!!4PNuBJ,gfCpr&g C0 JijJbBCQQJ,f6HA$HG>CE%4a"E'aCE&aE&a !LNu g$"XNu^J,uf^agagCjAp WpaHHHl |$/aPL.kfHz N,aͨN?No files ,|$SGAX.gAFC  gJfA,/N,*NVg< g<.gNע`  f.fp\Nעp"NעpaQpp;Nע".apaQ\2.0X|ap:Nע0H|?ap:NעpA@aNז2.pAap-Nע0H|ap-Nעp ip€|t aNז.a4a0Hk M Qa̐NPRG TOS TTP ACC APP PRX ACX rvg;04NעRC< fYCXCRA|fNNpLO "LE "DIR "r/o hid sys vol sub clo 0 0NעH@Nע*oBUaHl?<a\MAPAp7aJkABP oJfAp'Ix?/?<NaxPOJk6 ..gILA~9GC"# f C JQfRL |pg <.gWJ@kJf|r Q.pJFfg <.gWJ@kr Q B(MGL`I Jg^bf(bf bf bfbfbg&L`I J, fBl@LHIdI\LH`HBl ABBBBX/ Iwv?<OaFTO(_JjArϰgr߰gNuA Jf Nu"*.**Na-f pAC&I2`L?p?i@6;0)X|~{0)j|?Jj|AigJ\f0||Hf,T f4<a(JGf` 4<aJGf DNuMpDNu:)j 0||gE??JEg0HpaLJGf0HJg/a "JGfz`~|?@EN"J""""V""""d~"""""JJ$JJJ"J"""J nHHfJf R<,@Nu0H|8Y|@|?4<`.4<`(4<`"4<`4<`4<`4<` 4<`4<~BC0|8|8gH|`0||d^@BgH|gD|g>|g8|g2|g,| gN|@gH|gB|gD|g6|g0|g~NuTJik2)gg` Ag޲|@gTNuRf XNuJfTNuR<< <R|| |_ din@MR  / H   _ d i n@  M @JM LM0@J 0L XHH!JNqNpNsNtNwNuGNvNz$%N{%$9NrH H NPN`Nh%H@ BN@SNXAKBDPFWN@NHH@A wBD@FMJ>JI 'P*P>P Q[`Wa,`p KK4 4 ʐJ ёJM* *  ]"J ñJMs { KKH H@ H  22 J JMC C. . 6:6 : ( ( 8 8 | 0  0 c#Aed*4, Po*Na'Df pAC&I2`^6JGf"6KJgHD,aL"JGfBDNuDAMNuBGp?C@ENz *:>BHN\ftJdI (,fTf`0 (,fT|E$JZkjgJf" R|$A`fSNuSFCDFCCACRUSPVBRCAARMSPISP???0|faIE$ ;pQNu#¼NbInit Put pixel Get pixel Line Horizontal line Filled rectangleFilled polygon Bitblt Textblt Show mouse Hide mouse Transform mouse Undraw sprite Draw sprite Copy raster formSeedfill 0a0 ;f6",!:gP$A"2jsr El!6nfNbrtsJ@gV H2a`UBNu¼#`\r?^`p€`¼Npy€fr`-(aV)Nu(aJ)+Nu|.|wJg"<g|sHHҎ`|l"ҎX`2HҎTNNp@@f SPNuA|0NuD||0NuY`Y`Y`fY`pCCRNuSRNuUSPNu#2¼`` nHHfFQBREAKPT 'r-WgJf|'"R<,ANup€`r2|#NbJik2)ggvf|gβ|@gf#"`Y?2jDA-aj2(a)Nu~BCp8A|8gH` pA|d^@_gX|gĶ|g|g:|g>|g&| g|@g(|gR|g\|g|g|g2PNu?2?¼JjD-Nb2/(a*2T`2Ha .wNu"H@¼HA|fHHA ,#g("@0, "f 0,#`fPfSLNuC QL`2HҎTNa(PC)Nu2?HHҎTNa2(PC,DJAj|A0X||0.W g|L)Nu?<`x?<`p?<`h?<``?<`X?<`P?<`H?<`@0H|8Y|@|??<`$,|3*|~aa 2J2NuBNua~r<=fffax`<ff>aP`WTRSUV2;k g"3Paf< ara@f$m R 4< R f4< Y"J+ X2"`"2 <\*2 "`2 4"2`*2*2Nq*2H*2H`Nuad<+f.a@<aaLraf4<П6<8f: >f4a<Raa$raf$<"&(<za`Nua<*f(a<aar'af*2"*2`Ұ</f4a<adar'af*2"*2*2 *2H`<&f.ar< a*abr'aJfz4<6<xzap`f<%f<!aa.r'afF*2"*2"*2 *2B@*2H@`$Nu<!f(<(aar1af*2W*2H*2HNu<~f8<)aa,r1af" )pfF)` i $m R/f4Y"JJk e SEg02"NuJDgJg AYA2NuY"JNuJf*2Nu*"Nu$m pg R <Bfa,<Cfa"tN2d*2 ) @62aDNuN%\r atN2dH@*2 )2aذ<.gDNuaȰ<Lg82!U<Wg<Bfa2p*2)VA2`a2p*20)TA2`a`HN!Hlj?<Aa\BgHlj?<aXXJk6NuN!BgHlj?<=a>PJk9@Nu//?,?<?a$O JjN$Nu*Ha"<a,a MNu AH!| l!J !NNAI] J!g l!J ! @L.|NuY@30NCB?0:Hz:Nu@30NCB?0:HzhNuVSoft-aNqF'/ I\H)_~T9_ )@<| <f|Ag PQ`~dJ,lf~f0S@ge\j^Scz]0<bgAI,gAH/N,",NHzN,p,@0Nעp-NעpB,gpENע ,f4,@J,rj$Ma`f"M aVfT6,r fWf)N)NNa2`: l0|Jf aLT` |HHf)H|a8Jf R< @)HP)l! !< d A()H p,gANB,J,g)l)lP Q<ddQ l!RQGAJ,lfkf,f ,gPbQlNQoJl gNpNזrN`Nזp-NעNזAgtkfJf/N,Jf (#f2JkANHzmN,",>f"A")pR<)A)AN<cN`1zJfR`Nuh12Bus error,Adress error,Illegal instructionDivide by zeroCHK instructionTRAPV instructionPrivilege violation Trace mode[SHIFT][SHIFT] abortUninitialized interrupt vectorhEnd at RTS[ALT][HELP] pressedSpurious interrupt (NMI)Illegal Interrupt #$%&'()*+,/Undefined TRAP #!"-.Stop at TRAP #12End of programm at TRAP #RIllegal parameter at TRAP #NExternal breakdStop at breakpoint #eStop breakpoint #fPermanent breakpoint #gUser breakpoint #Unknown exception # at adress , funktioncode: write at read from / lf zPf z f z8^f zf lg )H lP _NuXBRABUG1HIU)HAJ,rkTfNh0kP|~bJCEJkJJ,lf!(P l!J$!Ng",!f!4J@gL|1gF|Lg@JVL/:|Nu"/U!Be䲬(~dE|LHz!Nu|LHz1Nu"/U$l!Je(~d|L\Hzz!NuXBRABUG1HITAJ,rkTfNh0k|WbALAJkJ,lfJVL/:NuA "/U!Beಬ d|aLHz.NuHJZg xZC@p"QBZJ^g 8^!NHLNuXBRABUG1HIT,AJ,rkTfNh0k| bA@AJkJ,lfJVL8/:NuA "/U!Beಬ d|L Hz*-Nu?<&NN\L$ hlCE`,0(HY@fE')I!R)J!J)k!V)o$L&|A SYMa?</NAT,@Hl$?<NA\?<Hlj?<NNAPJk\BgHlj?<=NAP.kJ,,$6)K#/ /RF<??<?NAO l#X# SYMfgB#Y9F#??<>NAX/?<NA\)K!/ /,$L/<JNAO p)@ x)@xHx?<HNA\./?<HNA\)@!Bހ)G!F/?<INA\`@|,Or$xA*!BrIrNz N{Nz grN{.N!IGAr <SAkp)@*xA!p28p@sA!p28p@t!.NF x h)H Nu|AC$P$I2<i"Q%@)x!"L)jL)iLaaaV|9A C`$IaVQ)C &I6 p6 QB)$B)%j''P)pJ,tf j((gp@& <[ЌB#@ 9| 9| 9| 9|?H9|JPkPjP9|$AC B/<NNX @Bp///?<NNO @C)I!>BC"" PE#"p$Q Q|Ac|Bd|Ce|Df|EJ|FN|,qAJXg$JPg$i (g$ip(rX`?<"NNT @Cp"QHx?<#NN\9@&##Z###a8|9| <Ќ)@)l!BA#2pQEp2ZQB,#Z)l!B)|*.* |)H! )H! | pNuBA>pR2IJ0j9@ Nu"8A$PC0<i"Q ,#d")A#!Nu|pNaJ,dgA!a|A#2p؈QEp2ZQaT?<"NNT"@Ap"QA`Ca0pNpNA!a!1AY&&!^*A!nNu 8`E^A82g 2AI"X`Ar6< $ļf XRCQNu  $<`8 ')+-/?RESET ACp@H(HNh)HB&!(.l$HA#2p؈QEp2ZQ8k8A!Cxf6<gfQ`CA`apNpNNA h 0<BBBBQNJl gNpNHzN,aN,B,A!1AY&&!^*N/A! _Nu@|HIBLJ, f.A#ZJfvpQEp2ZQACp  ApH#8Pp` aEg"pahE g##B,?B,CE g pa<#Ba,ApNpN8j8Nq8Nq8Nq8Nq8Nq8 8pA g #!pA"xg #!LFNurA apg2, IppNu@|HI@pF#J,?fF'J,?f$z Jl fE ahp$z $a`a! p!A#ZBp؈QEp2ZQApg S@NQJl fpaZ l!>BLFNuH`a$J"B Q"a4LNuHACa>Ca6C a.Ca&LNuHACaCaLNu<mQANuTNuHI?J, fA a*gC6a2LNuHI?A6agC aLNu/a@ LNua`~H00<w,t,sg0<E@Gr6[Qa#@ B)$B)%x 'J,tg p8b@&`(J,sg x$xe%p8`@&p8@(L NuH Jl g*pJ()fap (&fprE@4QpJ,tgp8b(&b`Ep((@&`' J,sg $%e ( aLH@LNuJ,tfJ,sg HH@Nup8H@8HJ,tfJ,sg8 Nu8r}8f8g8NuXBRABUG1NsXBRABUG1|I=.l$HQ QB!2Q Q QQbQoJl gNpaBHzN,NpNNIllegal memory!p ap H 8fb@MP>tJ.@tJpQpQBx>8fpL@NupL@NuH2<AV0<a QLNuQeQC9|XB,_B,` 8)@P)@LB,DB,EB,FBNuH` ,ftAp@|2(hg8X"P 1Jg,Afg&C x$Tg$g$Rf`1AFLJNup` 4J|9B|)I`"@SljX 4J|9BRg |)I`B`^XBRABUG1HI<CaYa8gL?NsH @j$gJl g g)`a g)LNu)J,?fF||e|{ ?{$@@ @m @n@4Nu ,?d2E6t,?S r "r $r t,@S,@fNB,?Nu(/ʬ/4φ47φ7=ʬ=?ʬ,A<*f`z<f`n<6f`b<f`V<f`J<f`><8f`2<fv,Bg AA0rt`<:fAapAAANuJkDJ,Df0@Dl&El'F<SfD , Ag , Af4` xNB,EB,FQC`rADAEAFJ,CgQC`, gA,ar l|t ,Af ,Ag l,Af,Ag l0,AgJATgft,AVH0 `,\@'{[(}]<bft,Ag ,SgQ,ANu|vt,Ag(<ge"<pb0,B |evCB`vg<;e"<Db;0rg4@ `*v g$<e< b UA0@r` <)f0< r<rfrBAHB@ agB,BNuHJ,"fA2(Xhg"Pgg#1AJgbf4 lr A x"Tf (Rg!P"Rfr!BB` lf R(jz|Cxdl )H`df\P"`VJgRgJgBQ"A x"TgfC"Rf" g""Tf I`XCxd )@ )HpLNuXBRABUG1RHI7$jJ,Dg$J,EgS,EfS,FfPCl'F,Da\,e l JebJ,af\S,`nZB,`g.JlXg 8)@PL(d2QXB_`6 |`` 8)@LP,_dQY`Bf9|XB,_LNsXBRABUG1J9BkBgHz @/:NuBHC6 i!RrAAGf2g.Pl i!J /e dA/H|LNuLXNsH<<ft|@egfC J)(f 8T)xTWd 0,H HAJ@jp|we0<v9@H0,J(HAJ@jp|e0<9@JB,jLNuXBRABUG1RkHI5|R JxgJx>f08Jkr8aJ,j4JBIt@H@C "i $r&F$Ǒ&䫇CPQB,kNuI4JBIt@HHC "i $rJAfP&F$$iiHCQi&䫇iiHCQiPCQB,kNuJkf$H@A|"XE J*(fr"CPQLNur""CQLNu@`px|~|lFx??Pi`J,DfB,jB,iNua9@Z`,fgB,g`LJgfDpr0,H2,JHI|b$HJAg| rDNuDNu J@g.,!! f>|bhHzXAp@eȾ| eAp@e|eAp@e|'e|)e|1dX|);p0,@9@aaDNu|b06WCKQ@k& 8H@|g0 P@LDAa`J,f,fg80,J|b <H` |e <PPQ,fgPDNuQDNu,fgQh`Jhf2f0,H2,JHI|c6A)4JBICn$Igf`^"JSCk SgfR,H"JRC|Od RgfSC $I ޽cBNJgJ, ga vNע`a`!&`*\+{}[]-~|/ ^=,;:<>#()?M!*|&|$&|g@|g|fD! g(Nb(,`$Nd,$ `,! f ,a ,`,! NaaDNu,fgb0,H2,JHI|cN6A)4JBIC:$Igf`*"JSCk SgfR,H"JRC|Od RgfSC $I޽cBP! )O! JpNlNaaR`Q! DNu$AQ! J!*V4, SB ,!g @ed a` Jl fva",NB,fNuR,mNaF/,/<9G >^Gl 9Aap,ffNk@Hl"Hx"??<@aO J@k&/+ Hx}??<@aϸO Jk ??<>aϦXPR9C 9ZCoACLNu?<NATAN 0, A)0,P,lN)N`D0, A)0,P,lN)Na`N 0, A)0,P,lN"f,AafC#p3p#pNuNVBHlr`Hlr`Hlr`~`,bB,bJ,jJ!ZgB# l!"h$(ԨpJf ,a)@#E# G r a &Q`edNupNuJj&HGG fR@~a@A^NNDNuJ@j2, C) |G"GFH@@f(JPgVT)X0, S@r""""QQN`2PT $H"< 0<$Q0, S@r QQDNuH~/,,o@Bl 9@pgrtaRl `)_L~.NuH~,o<g< f NNp`aX`L~.NuJ,nf l ga4`l"ga*`NuHA"r2,"J,nkfZBl a,LNu/p a Nup=J,ofJg`NuA"r2,"< e<fp.Rl" lP"dtLNu  0,c$Hl"T/??<@aO Bl"f LNuN%tN$A"2,"< e<fp.Rl" lP"dLNuB08fK"ga`aBl"LNuN%PHA t@0`HJ,nkfaaLNuRl lO o"Bl Rl2,RAl o9l Sl` 6NuF, `J, f<, PFF|PfSF9F Nuaa|l fNuJ,nfHaDC|O QL0,`|aC2 e0,adR@l eNuaDC|Nk CQ 0,`8aJCg@ l f (>g0 (g( (g Sl DC|OCQ 0,`NuadDC|OC0A0gSC!Q< 0,`Sl j9|O SljBl` AH@C0k`LNu4  ;  aA h 0, H0, rOBBBBQQa/0, A)0, $< r QQ$BNuM!JgBl Nga`Nu?, M $JgpBl ~NaQ9_ Nu?, Bl a(C $p"Q9_ Nu9l SlBl a $f9| Nu0,`0,`.B,Bl aC!bp"Q ! gRIBA!bC!fNpXNu/,9l Sla*)_Nu/,BlaZ)_Nu/,9l Sla)_0,S@jp9@Nu/,Bla")_0,R@l e0, S@9@NuBl a0p $fp 9@ Nu9|O apN VfpNR@9@ NuH|aaC J)(f lJC"i hPhhh@hhh0hh h  h ph h h`0, D@X@lg0,R@ghanLNu lJ2CCCAA"i hh@hhh hh`aLNuA)4,l 2IAJ6, NuHavA (&gv<P h Art'0QaLNu$HC"g< e<fp.`S9H"LNuHa~A)l 2IAHrP`@HJ,nfaZE)l 2IAHGP"HfSd `2 SAHC $i tPAdrPAJ)(f"l`dpGkOkkk?kkk/kk k k ok k k_kQJBg*pPBvr8LdLd4Ld`$$QQarLNu8 z"l`:pGkk?kkkkk_ DgTQJBgJv g CC?CCCCC_SB`45C5C>5C5C~5C5C5C^QaLNuHaA h 0, HC0, HS@L H L H L, SG IN<.gl<,g<<!g<)gؼ</g<(g<&gCQ`aLNu )N9l va(a9l Sl9| `av<Wg<Lfv )N9l aa9l Sl9| `P"R,A/ a&_9l afr)Nap9l Sl9| Q`RM@)N9l aaB9l Sl9| `(M!.d9l Bl NVa9l Sl9| `|~a<0kְ< dH @Q*l!^ g0R@g9l Bl N@9l Sl9| Dfa`H ,HfXB,C)>, >, SG IN<.g^<,g:<!g<)g</gv<(g<&g$CPQ`aLNu )NBlavaJ9| `a0v<Wg<Lfv )NBlaa9| `P$R<z,BJ!g l!e hd,H j NH$a@L$eg UEb BU`J@g,HafPBl)Na4a9| Q`2M)NBaNi9| `M!&eBaNV9| `|~a<<0kа< dH @Q*l!^ g0S@eBaN9| `p VfpNuYagHt<0e<9cNjk 4aN2drHz H?~N,A<>g <g<faJNuH ,ްg)l~/,C)<, Bl<, SF I $f^rt<0< c _<c< Jk><b8鉂Q >g g faB<>g >DGl SG9| Nע`GRlCPQ)_LNuNaNעp>fhpH`"x$O!  A [gSf, azaLN:4,2IAJ6, 8L|C J)(f lJC"i r4<vPJkDfJAfQLNu JAfQLNu lrAQrJAfQLNu lJ2CCCAA"i r4<6<JkDfJAfQLNu JAfQLNu lrAQrJAfQLNuH,S.@AA h "HPP8HPG||;@Xfz;@V0$HEPQRR8GkJSBk zQD;@F;@APQLNu?@ HSB@SCPA h 2I2A;N>"HAPQP@H8L@SDk>R IBAPQQRIB; FACPQLNuHA h IKWCr@8DD|D8|JSB|LI|HM0Kl~C 50k Q 6@ IC ;J0kXQ ;@6f :,Y IQC 50k Q 6@LcNu@@ @@ HA h ¼ļƼPKSCr@8DD|D8BJSB|LI@HC ; 0kBQ ;@P IQLNu????` 7o 2e2e2e22 2}2}}}o7 `Pterm0CconinCconoutCauxinCauxoutCprnoutCrawioCrawcinCnecin Cconws Cconrs CconisDsetdrvCconosCprnosCauxisCauxosDgetdrvFsetdta Super*Tgetdate+Tsetdate,Tgettime-Tsettime/Fgetdta0Sversion1Ptermres6Dfree9Dcreate:Ddelete;Dsetpath<Fcreate=Fopen>Fclose?9Fread@9FwriteAFdeleteBFseekCFattribEFdupFFforceGDgetpathHMallocIMfreeJ-MshrinkKPexecLPtermNFsfirstOFsnextV=FrenameWFdatime`Nversionb9Frlockc Frunlockd FlockeFunlockfFflush{Unlock|LockGetmpbBconstatBconinBconout]Rwabs SetexecTickcalGetbpbBcostat Mediach Drvmap Kbshift=InitmousSsbrkPhysbaseLogbaseGetrezSetscreenSetpaletteSetcolor[Floprd [Flopwr _Flopfmt Getdsb Midiws MfpintIorecURsconf*KeytblRandom[Protobt[FlopverScrdmpCursconfSettimeGettimeBioskeys IkbdwsJdisintJenabintGiaccessOffgibitOngibitXbtimer Dosound!Setprt"Kbdvbase#Kbrate$Prtblk%Vsync&Supexec'Puntaes)Floprate*wDMAread+wDMAwrite,Bconmap0Meta_init1open2close3Uread5seek6status;start_aud<stop_aud=set_songtime>get_toc?disc_info@BlitmodeP_EsetShiftQ_EgetShiftR_EsetBankS_EsetColorT5_EsetPaletteU5_EgetPaletteV_EsetGrayW_EsetSmear_openwk_clswk_clrwk_updwkdi_esc_pline_pmarker_gtext_fillarea_cellarrayst_heightst_rotations_colorsl_typesl_widthsl_colorsm_typesm_heightsm_colorst_fontst_colorsf_interiorsf_stylesf_colorq_colorq_cellarray_locator_valuator_choice_stringswr_modesin_mode_illegalql_attributesqm_attributesqf_attributesqt_attributesst_alignment_opnvwk_clsvwkq_extnd_contourfillsf_perimeter_get_pixelst_effectsst_pointsl_endsro_cpyfmr_trnfmsc_formsf_updatsl_udstyr_recflqin_modeqt_extentqt_widthex_timvst_load_fontsst_unload_fontsrt_cpyfm_show_c_hide_cq_mouseex_butvex_motvex_curvq_key_ss_clipqt_nameqt_fontinfo_bar_arc_pie_circle_ellipse_ellarc_ellpie_rbox_rfbox_justified applinitreadwritefindtplaytrecordbvsetyieldapplexitevntkeybdbuttonmousemesagtimermultidclickmenubaricheckienabletnormaltextregisterunregister'objcadddeletedrawfindoffsetordereditchange1formdodialalerterrorcenterkeybdbuttonEgrafrubberboxdragboxmoveboxgrowboxshrinkboxwatchboxslideboxhandlemousemkstateOscrapreadwriteclearYfselinputexinputcwindcreateopenclosedeletegetsetfindupdatecalcnewmrsrcloadfreegaddrsaddrobfixwshelreadwritegetputfindenvrnrdefwdefxgrfstepcalc2box  !"#$()*+,-./2345678FGHIJKLMNOPQRZ[defghijklmnopqrxyz{|}~  !"#$%&'defghijklmnopqrstuvwxyz{|}~NV( z Ɛ"v~R 0< * "  0 J*^$  2 j 28J+T R<@fR D H 4@  prh B $d DNLl>"pJ4^ HH"~ 0Zdr>j.p |Rr <>T ^ |̢Z ^p$N8 JvN_^/ *BT_@{իp%J5TH{p%\ΰԄ+TB%Jʫ?* Bt7*TB_k/5~*BTڵ_ʷ/*F     "" !""#$%&'($) *+","-./ 0 1"2$34&5$6&7849:";<=>?&@&A B CD E F"GH&I$JKLM N$O P$QR0STUVW(XYZ[\]^$_`abcdefghijklmnopqrstuvwxyz{|}~$22,     bus_err addr_errdiv_zeroCHK_comTRAPV_com privilege$trace(Line_A,Line_F`spuriousdauto_i_1hauto_i_2_hbllauto_i_3pauto_i_4_vbltauto_i_5xauto_i_6|auto_i_7busy_intdcd_intcts_int gpu_donetimer200IKBD_MIDI8ring_indproc_livesproc_regsproc_pcproc_uspproc_stketv_timeretv_criticetv_term etv_xtra memvalid$memcntrl&resvalid*resvector.phystop2membot6memtop:memval2>flock@seekrateBtimer_msDfverifyFbootdevHpalmodeJdefshiftmdLsshiftmdNv_bas_adrRvblsemTnvblsVvblqueueZcolorptr^screenptbvbclockffrclockjhdv_initnswv_vecrhdv_bpbvhdv_rwzhdv_boot~hdv_mediachcmdloadcontermtrp14retcritiretthemd_mdsavptrnflopscon_statesave_rowsav_contextbufl_1bufl_2hz_200the_envdrvbitsdskbufpautopathvbl_listdumpflagprtabtsysbaseshell_pend_osexec_osscr_dumpprv_lsto prv_lstprv_auxoprv_auxpun_ptrmemval3_is_prt"_is_aux&_is_con*_is_midi._is_ikbd2_is_rawcon6_is_dev6:_is_dev7>_i_prtB_i_auxF_i_conJ_i_midiN_i_ikbdR_i_rawconV_i_dev6Z_i_dev7^_os_prtb_os_auxf_os_conj_os_midin_os_ikbdr_os_rawconv_os_dev6z_os_dev7~_o_prt_o_aux_o_con_o_midi_o_ikbd_o_rawcon_o_dev6_o_dev7cart_portos_start_old os_start_new memconfvbasehivbasemidvcounthivcountmid vcountlo syncmode vbaselolinewid@palette`rezmodeehscroll@color0Bcolor1Dcolor2Fcolor3Hcolor4Jcolor5Lcolor6Ncolor7Pcolor8Rcolor9Tcolor10Vcolor11Xcolor12Zcolor13\color14^color15diskctlfifo dmahi dmamid dmalogiselectgiwritemfpgpipaerddriera ierb   ipra   iprb  israisrbimraimrbvrtacrtbcrtcdcrtadr!tbdr!!#tcdr##%tddr%%'scr'')ucr))+rsr++-tsr--/udr//keyctlkeybdmidictlmidi@FP_statJFP_cmdNFP_ccrPFP_op!s_units#s_tens%m_units'm_tens)h_units+h_tens-weekday/day_units1day_tens3mon_units5mon_tens7yr_units9yr_tens;cl_mod=cl_test?cl_resetillegalreset;M*;* source for the symboltable BUGABOO.SYM. The debugger loads it. *;M*; BIOS Variables;vector for timer interrupt chain;vector for critical error chain;vector for process terminate;5 reserved vectors;indicates system state on RESET;mem controller config nibble;validates 'resvector';[RESET] bailout vector;physical top of RAM;bottom of available memory;;top of available memory;;validates 'memcntlr' and 'memconf';floppy disk/FIFO lock variable;default floppy seek rate;system timer calibration (in ms);nonzero: verify on floppy write;default boot device;nonzero ==> PAL mode;default video rez (first byte);shadow for 'shiftmd' register;pointer to base of screen memory;semaphore to enforce mutex in vbl;number of deferred vectors;pointer to vector of deferred vfuncs;pointer to palette setup (or NULL);pointer to screen base setup (|NULL);count of vblank interrupts;count of unblocked vblanks (not blocked by vblsem);hard disk initialization;video change-resolution bailout;disk "get BPB";disk read/write;disk "get boot sector";disk media change detect;nonzero: load COMMAND.COM from boot;console/vt52 bitSwitches (%%0..%%2);saved return addr for _trap14;saved return addr for _critic;memory descriptor (MD);(more MD);pointer to register save area;number of disks attached (0, 1+);state of conout() parser;saved row# for cursor X-Y addressing;pointer to saved processor context;two buffer-list headers;200hz raw system timer tick;Pointer to System-Environment;bit vector of "live" block devices;pointer to common disk buffer;pointer to autoexec path (or NULL);initial _vblqueue (to $4ee);screen-dump flag (non-zero abort screen dump);printer abort flag;-> base of OS;-> global shell info;-> end of OS memory usage;-> address of shell to exec on startup;-> screen dump code;-> _lstostat();-> _lstout();-> _auxostat();-> _auxout();validates 'memcntlr' and 'memconf';memory configuration;Video base address;Video display counter;video sync mode;Video base address (lo; STE only);Width of a scan-line (Words, minus 1; STE only);color registers 0..15;Resolution mode (0=320x200,1=640x200,2=640x400);Horizontal scroll count (0..15; STE only);disk controller data access;DMA mode control;DMA base address; GI ("psg") sound chip:;(W) sound chip register select;(W) sound chip write-data; 68901 ("mfp") sticky chip:;mfp base;general purpose I/O;active edge reg;data direction reg;interrupt enable A & B;interrupt pending A & B;interrupt inService A & B;interrupt mask A & B;interrupt vector base;timer A control;timer B control;timer C & D control;timer A data;timer B data;timer C data;timer D data;sync char;USART control reg;receiver status;transmit status;USART data; 6850 registers:;keyboard ACIA control;keyboard data;MIDI ACIA control;MIDI data; FPU registers:; Clock registers:SYMbus_err addr_errdiv_zeroCHK_comTRAPV_com privilege$trace(Line_A,Line_F`spuriousdauto_i_1hauto_i_2_hbllauto_i_3pauto_i_4_vbltauto_i_5xauto_i_6|auto_i_7busy_intdcd_intcts_int gpu_donetimer200IKBD_MIDI8ring_indproc_livesproc_regsproc_pcproc_uspproc_stketv_timeretv_criticetv_term etv_xtra memvalid$memcntrl&resvalid*resvector.phystop2membot6memtop:memval2>flock@seekrateBtimer_msDfverifyFbootdevHpalmodeJdefshiftmdLsshiftmdNv_bas_adrRvblsemTnvblsVvblqueueZcolorptr^screenptbvbclockffrclockjhdv_initnswv_vecrhdv_bpbvhdv_rwzhdv_boot~hdv_mediachcmdloadcontermtrp14retcritiretthemd_mdsavptrnflopscon_statesave_rowsav_contextbufl_1bufl_2hz_200the_envdrvbitsdskbufpautopathvbl_listdumpflagprtabtsysbaseshell_pend_osexec_osscr_dumpprv_lsto prv_lstprv_auxoprv_auxpun_ptrmemval3_is_prt"_is_aux&_is_con*_is_midi._is_ikbd2_is_rawcon6_is_dev6:_is_dev7>_i_prtB_i_auxF_i_conJ_i_midiN_i_ikbdR_i_rawconV_i_dev6Z_i_dev7^_os_prtb_os_auxf_os_conj_os_midin_os_ikbdr_os_rawconv_os_dev6z_os_dev7~_o_prt_o_aux_o_con_o_midi_o_ikbd_o_rawcon_o_dev6_o_dev7cart_port )os_start_old os_start_new memconfvbasehivbasemidvcounthivcountmid vcountlo syncmode vbaselolinewid@palette`rezmodeehscroll@color0Bcolor1Dcolor2Fcolor3Hcolor4Jcolor5Lcolor6Ncolor7Pcolor8Rcolor9Tcolor10Vcolor11Xcolor12Zcolor13\color14^color15diskctlfifo dmahi dmamid dmalogiselectgiwritemfpgpipaerddriera ierb ipra iprbisraisrbimraimrbvrtacrtbcrtcdcrtadr!tbdr#tcdr%tddr'scr)ucr+rsr-tsr/udrkeyctlkeybdmidictlmidi@FP_statJFP_cmdNFP_ccrPFP_op!s_units#s_tens%m_units'm_tens)h_units+h_tens-weekday/day_units1day_tens3mon_units5mon_tens7yr_units9yr_tens;cl_mod=cl_test?cl_resetillegalreset116h̼uϮGc1u4DRg&2C1˸c1١gdX`c1g&2hm$oc1ϪhC4Gc17O%~v4Gc17hu4G,2 *   oOHx //<JNAO Hx/<NMP @ `-f SoftfC/ ANu Hz?< NAUWNABgNAE Where is the bugaboo?startWno_debugger_exitmessageendez 7 ;F*;* Program to call the resident Bugaboo *;* 1988/9 -soft, by Markus Fritze 24.04.89 *;F*;no TOS 1.4-Fast-Load;basepageadr;init stackpointer;length of this program;basepageadr of the program;Mshrink();get buserror-vector;found the debugger?;exit, if not =>;exitadr for the debugger;startadr of the debugger onto the stack;0 is neccesary!;start of the free memory;call the debugger;hide mouse;print errormessage;wait for a keystroke WPATH=C:\ SIGMA=E:\TURBOASS\ RSC2S=E:\TURBOASS\RSC2S\ GST-CFG:Epson FX80 H  R R}R R{Ra^ R{R R@R R}R R\Re^ eR~R R}R R~R R[R R]R R @R R{R R[Ro^ R|R R|Ru^ R|R yR~R R\R R]R R#R R\R R~Rf R|R R\Ra_o_ R]R R[Ra~o~ R\R R|R R~Rcr yR~RY R@R R~R+_>_<_ R[R*I * printerconfiguration for EPSON-compatible printers * * G* * all numbers are hex-numbers! ** * G* * this file is compatible to 1st Word (plus) * * G* * 1989 by -soft, written by Markus Fritze 19.11.1988 18:21 * *I * name of the game (printer) (length: max.32 chars) Epson FX80 * special variables (ignored by the assembler) 0,0,C,48,0,0 * table of special printerfunctions * (1) functionnumber * (2) a string, represents the function * 1, D,A * CR/LF *1F * string printed before every line 20, 1B,52,0 * string printed before the document *21, 1B,52,2 * string printed after the document 0 * NULL end of the table * character-convert (EPSON-compatible printer) * * (1) ST ASCII-code (sorted!) * (2) string for this char (an empty-string is possible, printed as space) * * all codes not in the table will by printed normal 7F *  - N/A 80 * - N/A 81, 1B, 52, 2, 7D, 1B, 52, 0 * - German 82, 1B, 52, 1, 7B, 1B, 52, 0 * - French 83, 61, 8, 5E * - a BS ^ 84, 1B, 52, 2, 7B, 1B, 52, 0 * - German 85, 1B, 52, 1, 40, 1B, 52, 0 * - French 86, 1B, 52, 4, 7D, 1B, 52, 0 * - Danish 1 87, 1B, 52, 1, 5C, 1B, 52, 0 * - French 88, 65, 8, 5E * - e BS ^ 89, 65, 8,1B,52,1,7E,1B,52,0 * - e BS French 8A, 1B, 52, 1, 7D, 1B, 52, 0 * - French 8B * - N/A 8C * - N/A 8D, 1B, 52, 6, 7E, 1B, 52, 0 * - Italian 8E, 1B, 52, 2, 5B, 1B, 52, 0 * - German 8F, 1B, 52, 4, 5D, 1B, 52, 0 * - Danish 1 90, 1B, 52, 9, 40, 1B, 52, 0 * - Norwegian 91, 1B, 52, 4, 7B, 1B, 52, 0 * - Danish 1 92, 1B, 52, 4, 5B, 1B, 52, 0 * - Danish 1 93, 6F, 8, 5E * - o BS ^ 94, 1B, 52, 2, 7C, 1B, 52, 0 * - German 95, 1B, 52, 6, 7C, 1B, 52, 0 * - Italian 96, 75, 8, 5E * - u BS ^ 97, 1B, 52, 1, 7C, 1B, 52, 0 * - French 98, 79, 8,1B,52,1,7E,1B,52,0 * - y BS French 99, 1B, 52, 2, 5C, 1B, 52, 0 * - German 9A, 1B, 52, 2, 5D, 1B, 52, 0 * - German 9B * - N/A 9C, 1B, 52, 3, 23, 1B, 52, 0 * - UK 9D, 1B, 52, 8, 5C, 1B, 52, 0 * - Japanese 9E, 1B, 52, 2, 7E, 1B, 52, 0 * - German 9F, 66 * - f A0 * - N/A A1 * - N/A A2 * - N/A A3 * - N/A A4, 1B, 52, 7, 7C, 61B, 52, 0 * - Spanish A5, 1B, 52, 7, 5C, 1B, 52, 0 * - Spanish A6, 61, 8, 5F * - a BS _ A7, 6F, 8, 5F * - o BS _ A8, 1B, 52, 7, 5D, 1B, 52, 0 * - Spanish A9 * - N/A AA * - N/A AB * - N/A AC * - N/A AD, 1B, 52, 7, 5B, 1B, 52, 0 * - Spanish AE * - N/A AF * - N/A B0, 61, 8, 7E * - a BS ~ B1, 6F, 8, 7E * - o BS ~ B2, 1B, 52, 4, 5C, 1B, 52, 0 * - Danish 1 B3, 1B, 52, 4, 7C, 1B, 52, 0 * - Danish 1 B4 * - N/A B5 * - N/A B6 * - N/A B7 * - N/A B8 * - N/A B9, 1B, 52, 1, 7E, 1B, 52, 0 * - French BA * - N/A BB * - N/A BC * - N/A BD, 63 * - c BE, 72 * - r BF * - N/A C0, 79, 8,1B,52,1,7E,1B,52,0 * - y BS French C1, 59 * - Y C2 * - N/A C3 * - N/A C4 * - N/A C5 * - N/A C6 * - N/A C7 * - N/A C8 * - N/A C9 * - N/A CA * - N/A CB * - N/A CC * - N/A CD * - N/A CE * - N/A CF * - N/A D0 * - N/A D1 * - N/A D2 * - N/A D3 * - N/A D4 * - N/A D5 * - N/A D6 * - N/A D7 * - N/A D8 * - N/A D9 * - N/A DA * - N/A DB * - N/A DC * - N/A DD, 1B, 52, 2, 40, 1B, 52, 0 * - German DE * - N/A DF * - N/A E0 * - N/A E1, 1B, 52, 2, 7E, 1B, 52, 0 * - German  E2 * - N/A E3 * - N/A E4 * - N/A E5 *  - N/A E6 * - N/A E7 * - N/A E8 * - N/A E9 * - N/A EA * - N/A EB * - N/A EC * - N/A ED * - N/A EE * - N/A EF * - N/A F0 * - N/A F1, 2B, 8, 5F * - + BS _ F2, 3E, 8, 5F * - > BS _ F3, 3C, 8, 5F * - < BS _ F4 * - N/A F5 * - N/A F6 * - N/A F7 * - N/A F8, 1B, 52, 1, 5B, 1B, 52, 0 * - French F9 * - N/A FA * - N/A FB * - N/A FC * - N/A FD * - N/A FE * - N/A 0 * NULL end of the table ;*H ;* -soft-AES-Symboltabelle * ;* 1989 by -soft, written by Markus Fritze 11.08.1988 13:13 * ;*H ;EQU's mit Konstanten sind auch als Vorwrtsreferenzen mglich, da diese Symbole ;ihren Wert bereits bei der Eingabe erhalten: appl_init: EQU $0A000100 appl_read: EQU $0B020101 appl_write: EQU $0C020101 appl_find: EQU $0D000101 appl_tplay: EQU $0E020101 appl_trecord: EQU $0F010101 appl_bvset: EQU $10020100 ;ab GEM 2.0 appl_yield: EQU $11000100 ;ab GEM 2.0 appl_exit: EQU $13000100 evnt_keybd: EQU $14000100 evnt_button: EQU $15030500 evnt_mouse: EQU $16050500 evnt_mesag: EQU $17000101 evnt_timer: EQU $18020100 evnt_multi: EQU $19100701 evnt_dclick: EQU $1A020100 menu_bar: EQU $1E010101 menu_icheck: EQU $1F020101 menu_ienable: EQU $20020101 menu_tnormal: EQU $21020101 menu_text: EQU $22010102 menu_register: EQU $23010101 menu_unregister:EQU $24010100 ;ab GEM 2.0 objc_add: EQU $28020101 objc_delete: EQU $29010101 objc_draw: EQU $2A060101 objc_find: EQU $2B040101 objc_offset: EQU $2C010301 objc_order: EQU $2D020101 objc_edit: EQU $2E040201 objc_change: EQU $2F080101 form_do: EQU $32010101 form_dial: EQU $33090100 form_alert: EQU $34010101 form_error: EQU $35010100 form_center: EQU $36000501 form_keybd: EQU $37030301 form_button: EQU $38020201 graf_rubberbox: EQU $46040300 graf_dragbox: EQU $47080300 graf_movebox: EQU $48060100 graf_growbox: EQU $49080100 graf_shrinkbox: EQU $4A080100 graf_watchbox: EQU $4B040101 graf_slidebox: EQU $4C030101 graf_handle: EQU $4D000500 graf_mouse: EQU $4E010101 graf_mkstate: EQU $4F000500 srcp_read: EQU $50101 srcp_write: EQU $51000101 scrp_clear: EQU $52000100 ;ab GEM 2.0 fsel_input: EQU $5A000202 fsel_exinput: EQU $5B000203 ;ab TOS 1.4 wind_create: EQU $64050100 wind_open: EQU $65050100 wind_close: EQU $66010100 wind_delete: EQU $67010100 wind_get: EQU $68020500 wind_set: EQU $69060100 wind_find: EQU $6A020100 wind_update: EQU $6B010100 wind_calc: EQU $6C060500 wind_new: EQU $6D0 ;ab TOS 1.4 rsrc_load: EQU $6E000101 rsrc_free: EQU $6F000100 rsrc_gaddr: EQU $70020100 ;* (siehe Unterprogramm "aes") rsrc_saddr: EQU $71020101 rsrc_obfix: EQU $72010101 shel_read: EQU $78000102 shel_write: EQU $79030102 shel_get: EQU $7A010101 shel_put: EQU $7B010101 shel_find: EQU $7C000101 shel_envrn: EQU $7D000102 shel_rdef: EQU $7E000102 ;ab GEM 2.0 shel_wdef: EQU $7F02 ;ab GEM 2.0 xgrf_stepcalc: EQU $82060600 ;ab GEM 2.0 xgrf_2box: EQU $83090100 ;ab GEM 2.0 ; Die Messages des AES MN_SELECTED: EQU 10 ;Meneintrag angewhlt WM_REDRAW: EQU 20 ;Teil eines Windows mu neu gezeichnet werden WM_TOPPED: EQU 21 ;Window ist nun das aktuelle Fenster WM_CLOSED: EQU 22 ;Window soll geschlossen werden WM_FULLED: EQU 23 ;Window soll auf max.Gre gebracht werden WM_ARROWED: EQU 24 ;Scollbalken angeklickt WM_HSLID: EQU 25 ;Der horizontale Slider wurde bewegt WM_VSLID: EQU 26 ;Der vertikale Slider wurde bewegt WM_SIZED: EQU 27 ;Die Gre des Windows wurde gendert WM_MOVED: EQU 28 ;Das Window wurde bewegt WM_NEWTOP: EQU 29 ;Das Fenster wurde aktiviert (siehe WM_TOPPED) WM_UNTOPPED: EQU 30 ;Der Fenster wird gleich inaktiv (erst ab GEM 2.0!) AC_OPEN: EQU 40 ;Ein Acc wurde angeklickt.(30 bzw. 31 ist FALSCH!) AC_CLOSE: EQU 41 ;Prg wurde beendet, ACC soll seinen Speicher freigeben. CT_UPDATE: EQU 50 CT_MOVE: EQU 51 ;Funktion unbekannt CT_NEWTOP: EQU 52 ; WM_ARROWED angeklickt (nun die genauere Definition) WA_UPPAGE: EQU 0 ;Balken oberhalb des Sliders WA_DNPAGE: EQU 1 ;Balken unterhalb des Sliders WA_UPLINE: EQU 2 ;Pfeil nach oben WA_DNLINE: EQU 3 ;Pfeil nach unten WA_LFPAGE: EQU 4 ;Balken links vom Slider WA_RTPAGE: EQU 5 ;Balken rechts vom Slider WA_LFLINE: EQU 6 ;Pfeil nach links WA_RTLINE: EQU 7 ;und Pfeil nach rechts ; Die Objekttypen des Resource-Baumes G_BOX: EQU 20 G_TEXT: EQU 21 G_BOXTEXT: EQU 22 G_IMAGE: EQU 23 G_PROGDEF: EQU 24 G_IBOX: EQU 25 ;Bitte in entsprechender Literatur nachschlagen G_BUTTON: EQU 26 G_BOXCHAR: EQU 27 G_STRING: EQU 28 G_FTEXT: EQU 29 G_FBOXTEXT: EQU 30 G_ICON: EQU 31 G_TITLE: EQU 32 ; Object-Flags bei einem Objekt NONE: EQU 0 SELECTABLE: EQU 1 DEFAULT: EQU 2 EXIT: EQU 4 EDITABLE: EQU 8 RBUTTON: EQU $10 ;Bitte ebenfalls in der Literatur nachlesen LASTOB: EQU $20 TOUCHEXIT: EQU $40 HIDETREE: EQU $80 INDIRECT: EQU $0100 ; Objekt-Status bei einem Objekt NORMAL: EQU 0 SELECTED: EQU 1 CROSSED: EQU 2 CHECKED: EQU 4 ;s.o. DISABLED: EQU 8 OUTLINED: EQU $10 SHADOWED: EQU $20 ; Die einzelnen Bits bei evnt_multi() MU_KEYBD: EQU 1 ;Tastaturereignis MU_BUTTON: EQU 2 ;Maustastenereignis MU_M1: EQU 4 ;1.Mausereignis MU_M2: EQU 8 ;2.Mausereignis MU_MESAG: EQU 16 ;Message des AES MU_TIMER: EQU 32 ;Timer-Ereignis ; form_dial() FMD_START: EQU 0 ;Bildschirmhintergrund reservieren FMD_GROW: EQU 1 ;Ausdehnende Box zeichnen FMD_SHRINK: EQU 2 ;Schrumpfende Box zeichnen FMD_FINISH: EQU 3 ;Bildschirmbereich wieder freigeben ; graf_mouse() ARROW: EQU 0 TEXT_CRSR: EQU 1 HOURGLASS: EQU 2 BUSYBEE: EQU 2 POINT_HAND: EQU 3 FLAT_HAND: EQU 4 THIN_CROSS: EQU 5 THICK_CROSS: EQU 6 OUTL_CROSS: EQU 7 USER_DEF: EQU 255 M_OFF: EQU 256 M_ON: EQU 257 ; Parameter bei wind_create() WI_NAME: EQU 1 WI_CLOSE: EQU 2 WI_FULL: EQU 4 WI_MOVE: EQU 8 WI_INFO: EQU $10 WI_SIZE: EQU $20 WI_UPARROW: EQU $40 WI_DNARROW: EQU $80 WI_VSLIDE: EQU $0100 WI_LFARROW: EQU $0200 WI_RARROW: EQU $0400 WI_HSLIDE: EQU $0800 ; Parameter bei wind_get() & wind_set() WF_KIND: EQU 1 WF_NAME: EQU 2 WF_INFO: EQU 3 WF_WORKXYWH: EQU 4 WF_CURRXYWH: EQU 5 WF_PREVXYWH: EQU 6 WF_FULLXYWH: EQU 7 WF_HSLIDE: EQU 8 WF_VSLIDE: EQU 9 WF_TOP: EQU 10 WF_FIRSTXYWH: EQU 11 WF_NEXTXYWH: EQU 12 WF_NEWDESK: EQU 14 WF_HSLSIZE: EQU 15 WF_VSLSIZE: EQU 16 ; wind_update() END_UPDATE: EQU 0 BEG_UPDATE: EQU 1 END_MCTRL: EQU 2 BEG_MCTRL: EQU 3 ;* e*= ;* Die VDI-Symboltabelle * ;* Wer nheres dazu wissen mchte, sollte sich im Profibuch von Sybex * ;* die Informationen dazu besorgen. * ;*H ;1. Kontrollfunktionen v_opnwk EQU $010B0 ;Open workstation v_clswk EQU $02 ;Close workstation v_opnvwk EQU $640B0 ;Open virtual screen workstation v_clsvwk EQU $65 ;Close virtual screen workstation v_clrwk EQU $03 ;Clear workstation v_updwk EQU $04 ;Update workstation vst_load_fonts EQU $77010 ;Load fonts unload_fonts EQU $78010 ;Unload fonts vs_clip EQU $81010002 ;Set clipping rectangle ;2. Ausgabefunktionen v_pline EQU $060 ;Polyline (Byte 0=count(n)) v_pmarker EQU $070 ;Polymarker (Byte 0=count(n)) v_gtext EQU $0801 ;Text (Byte 2=n) v_fillarea EQU $090 ;Filled area (Byte 0=count(n)) v_cellarray EQU $0A02 ;Cell array (Byte 2=n) v_contourfill EQU $67010001 ;Contour fill vr_recfl EQU $7202 ;Fill rectangle v_bar EQU $0B000102 ;Bar v_arc EQU $0B020204 ;Arc v_pieslice EQU $0B020304 ;Pie v_circle EQU $0B000403 ;Circle v_ellipse EQU $0B000502 ;Ellipse v_ellarc EQU $0B020602 ;Elliptical arc v_ellpie EQU $0B020702 ;Elliptical pie v_rbox EQU $0B000802 ;Rounded rectangle v_rfbox EQU $0B000902 ;Filled rounded rectangle v_justified EQU $0B020A02 ;Justified graphics text (Byte 2=n+2) ;3. Attribut-Funktionen vswr_mode EQU $20010 ;Set writing mode vs_color EQU $0E040 ;Set color representation vsl_type EQU $0F010 ;Set polyline line type vsl_udsty EQU $71010 ;Set user-defined line style pattern vsl_width EQU $101 ;Set polyline line width vsl_color EQU $11010 ;Set polyline color index vsl_ends EQU $6C020 ;Set polyline end styles vsm_type EQU $12010 ;Set polymarker type vsm_height EQU $1301 ;Set polymarker height vsm_color EQU $14010 ;Set polymarker color index vst_height EQU $0C01 ;Set character height, absolute mode vst_point EQU $6B010 ;Set character height, points mode vst_rotation EQU $0D010 ;Set character baseline vector vst_font EQU $15010 ;Set text face vst_color EQU $16010 ;Set graphic text color index vst_effects EQU $6A010 ;Set graphic text special effects vst_alignment EQU $27020 ;Set graphic text alignment vsf_interior EQU $17010 ;Set fill interior index vsf_style EQU $18010 ;Set fill style index vsf_color EQU $19010 ;Set fill color index vsf_perimeter EQU $68010 ;Set fill perimeter visibility vsf_udpat EQU $70 ;Set user-defined fill pattern (Byte 2=16*planes) ;4. Rasteroperationen vro_cpyfm EQU $6D010004 ;Copy raster, opaque vrt_cpyfm EQU $79030004 ;Copy raster, transparent vr_trnfm EQU $6E0 ;Transform form v_get_pixel EQU $6901 ;Get pixel ;5. Eingabefunktionen vsin_mode EQU $21020 ;Set input mode vrq_locator EQU $1C01 ;Input locator, request mode vsm_locator EQU $1C01 ;Input locator, sample mode vrq_valuator EQU $1D010 ;Input valuator, request mode vsm_valuator EQU $1D010 ;Input valuator, sample mode vrq_choice EQU $1E010 ;Input choice, request mode vsm_choice EQU $1E010 ;Input choice, sample mode vrq_string EQU $1F020001 ;Input string, request mode vsm_string EQU $1F020001 ;Input string, sample mode vsc_form EQU $6F250 ;Set mouse form vex_timv EQU $76 ;Exchange timer interrupt vector v_show_c EQU $7A010 ;Show cursor v_hide_c EQU $7B ;Hide cursor vq_mouse EQU $7C ;Sample mouse button state vex_butv EQU $7D ;Exchange button change vector vex_motv EQU $7E ;Exchange mouse movement vector vex_curv EQU $7F ;Exchange cursor change vector vq_key_s EQU $80 ;Sample keyboard state information ;6. Auskunftsfunktionen vq_extnd EQU $66010 ;Extended inquire function vq_color EQU $1A020 ;Inquire color representation vql_attributes EQU $23 ;Inquire current polyline attributes vqm_attributes EQU $24 ;Inquire current polymarker attributes vqf_attributes EQU $25 ;Inquire current fill area attributes vqt_attributes EQU $26 ;Inquire current graphic text attributes vqt_extent EQU $74 ;Inquire text extent (Byte 2=n) vqt_width EQU $75010 ;Inquire character cell width vqt_name EQU $82010 ;Inquire face name and index vq_cellarray EQU $1B02 ;Inquire cell array vqin_mode EQU $73010 ;Inquire input mode vqt_fontinfo EQU $830 ;Inquire current face information vqt_justified EQU $84020002 ;Inquire just.graph.text (Byte 2=n+2) GEM 2.0! ;7. Escapes vq_chcells EQU $05000100 ;Inquire addressable alpha character cells v_exit_cur EQU $05000200 ;Exit alpha mode v_enter_cur EQU $05000300 ;Enter alpha mode v_curup EQU $05000400 ;Alpha cursor up v_curdown EQU $05000500 ;Alpha cursor down v_curright EQU $05000600 ;Alpha cursor right c_curleft EQU $05000700 ;Alpha cursor left v_curhome EQU $05000800 ;Home alpha cursor v_eeos EQU $05000900 ;Erase to end of alpha screen v_eeol EQU $05000A00 ;Erase to end of alpha text line v_curaddress EQU $05020B00 ;Direct alpha cursor address v_curtext EQU $05000C00 ;Output cursor addressable alpha text (Byte 2=n) v_rvon EQU $05000D00 ;Reverse video on v_rvoff EQU $05000E00 ;Reverse video off vq_curaddress EQU $05000F00 ;Inquire current alpha cursor address vq_tabstatus EQU $05001000 ;Inquire tablet status v_hardcopy EQU $05001100 ;Hardcopy v_dspcur EQU $05001201 ;Place graphic cursor at location v_rmcur EQU $05001300 ;Remove last graphic cursor v_form_adv EQU $05001400 ;Form advance v_output_window EQU $05001500 ;Output window v_clear_disp_list EQU $05001600 ;Clear display list v_bit_image EQU $05051702 ;Output bit image file (Byte 2=n+5) vq_scan EQU $05001800 ;Inquire printer scan v_alpha_text EQU $05001900 ;Output alpha text (Byte 2=n) vs_palette EQU $05013C00 ;Select palette v_sound EQU $05023D00 ;Generate specified tone vs_mute EQU $05013E00 ;Set/clear tone muting flag vt_resolution EQU $05025100 ;Set tablet axis resolution in lines/inch vt_axis EQU $05025200 ;Set table axis resolution in lines vt_origin EQU $05025300 ;Set tablet x and y origin vq_tdimensions EQU $05005400 ;Return tablet x and y dimensions vt_alignment EQU $05025500 ;Set tablet alignment vsp_film EQU $05025B00 ;Set camera file type and exposure time vqp_filename EQU $05015C00 ;Inquire camera file name vsc_expose EQU $05015D00 ;Disable or enable file exposure for frame preview v_meta_extents EQU $05006202 ;Update metafile extents v_write_meta EQU $05006300 ;Write metafile item (Byte 0=num_ptsin, Byte 2=num_intin) vm_pagesize EQU $05036300 ;Physical page size wm_coords EQU $05056300 ;Coordinate window vm_filename EQU $05006400 ;Change gem vdi filename (Byte 2=n) v_offset EQU $05016500 ;Set line offset v_fontinit EQU $05026600 ;Init system font ;v_escape2000(times) -> (klappt mit dem Konzept leider nicht...) END SYM appl_init appl_read appl_write appl_findappl_tplayappl_trecord appl_bvsetappl_yieldappl_exitevnt_keybdevnt_button evnt_mouseevnt_mesagevnt_timerevnt_multievnt_dclick menu_barmenu_icheck menu_ienable !menu_tnormal "menu_text#menu_register $menu_unregister (objc_add)objc_delete *objc_draw+objc_find,objc_offset -objc_order.objc_edit/objc_change 2form_do3 form_dial4form_alert5form_error6form_center 7form_keybd8form_button Fgraf_rubberbox Ggraf_dragbox Hgraf_movebox Igraf_growbox Jgraf_shrinkbox Kgraf_watchbox Lgraf_slidebox Mgraf_handle Ngraf_mouseOgraf_mkstate Psrcp_readQsrcp_writeRscrp_clearZfsel_input[fsel_exinput dwind_create ewind_openfwind_closegwind_delete hwind_getiwind_setjwind_findkwind_update lwind_calcmwind_newnrsrc_loadorsrc_freeprsrc_gaddrqrsrc_saddrrrsrc_obfixxshel_readyshel_writezshel_get{shel_put|shel_find}shel_envrn~shel_rdefshel_wdefxgrf_stepcalc xgrf_2box MN_SELECTEDWM_REDRAWWM_TOPPEDWM_CLOSEDWM_FULLEDWM_ARROWEDWM_HSLIDWM_VSLIDWM_SIZEDWM_MOVEDWM_NEWTOPWM_UNTOPPED(AC_OPEN)AC_CLOSE2CT_UPDATE3CT_MOVE4CT_NEWTOPWA_UPPAGE WA_DNPAGEWA_UPLINEWA_DNLINEWA_LFPAGEWA_RTPAGEWA_LFLINEWA_RTLINEG_BOXG_TEXTG_BOXTEXTG_IMAGEG_PROGDEFG_IBOXG_BUTTONG_BOXCHARG_STRINGG_FTEXTG_FBOXTEXTG_ICON G_TITLENONESELECTABLEDEFAULTEXITEDITABLERBUTTON LASTOB@TOUCHEXITHIDETREEINDIRECTNORMALSELECTEDCROSSEDCHECKEDDISABLEDOUTLINED SHADOWEDMU_KEYBDMU_BUTTONMU_M1MU_M2MU_MESAG MU_TIMERFMD_STARTFMD_GROWFMD_SHRINKFMD_FINISHARROWTEXT_CRSRHOURGLASSBUSYBEEPOINT_HANDFLAT_HANDTHIN_CROSSTHICK_CROSSOUTL_CROSSUSER_DEFM_OFFM_ONWI_NAMEWI_CLOSEWI_FULLWI_MOVEWI_INFO WI_SIZE@WI_UPARROWWI_DNARROWWI_VSLIDEWI_LFARROWWI_RARROWWI_HSLIDEWF_KINDWF_NAMEWF_INFOWF_WORKXYWHWF_CURRXYWHWF_PREVXYWHWF_FULLXYWHWF_HSLIDE WF_VSLIDE WF_TOP WF_FIRSTXYWH WF_NEXTXYWHWF_NEWDESKWF_HSLSIZEWF_VSLSIZEEND_UPDATEBEG_UPDATEEND_MCTRLBEG_MCTRL v_opnwkv_clswkd v_opnvwkev_clsvwkv_clrwkv_updwkwvst_load_fonts xunload_fonts vs_clipv_plinev_pmarkerv_gtext v_fillarea v_cellarray gv_contourfill rvr_recfl v_bar v_arc v_pieslice v_circle v_ellipse v_ellarc v_ellpie v_rbox v_rfbox  v_justified vswr_modevs_colorvsl_typeqvsl_udstyvsl_widthvsl_colorlvsl_endsvsm_typevsm_heightvsm_color vst_heightkvst_point vst_rotation vst_fontvst_colorjvst_effects 'vst_alignment vsf_interior vsf_stylevsf_colorhvsf_perimeter pvsf_udpatmvro_cpyfmyvrt_cpyfmnvr_trnfmiv_get_pixel !vsin_modevrq_locator vsm_locator vrq_valuator vsm_valuator vrq_choicevsm_choicevrq_stringvsm_stringo%vsc_formvvex_timvzv_show_c{v_hide_c|vq_mouse}vex_butv~vex_motvvex_curvvq_key_s *fvq_extndvq_color#vql_attributes $vqm_attributes %vqf_attributes &vqt_attributes tvqt_extentuvqt_widthvqt_namevq_cellarray svqin_modevqt_fontinfo vqt_justified vq_chcellsv_exit_curv_enter_cur v_curupv_curdownv_currightc_curleftv_curhome v_eeos v_eeol v_curaddress  v_curtext v_rvonv_rvoffvq_curaddress vq_tabstatus v_hardcopyv_dspcurv_rmcurv_form_advv_output_window v_clear_disp_listv_bit_image vq_scanv_alpha_text <vs_palette=v_sound>vs_muteQvt_resolution Rvt_axisSvt_originTvq_tdimensions Uvt_alignment [vsp_film\vqp_filename ]vsc_exposebv_meta_extents cv_write_meta cvm_pagesize cwm_coordsdvm_filename ev_offsetfv_fontinit #O # ### ### # # # ### ## ## # # ### ## ## # # ### ## ### ## # # # ### ## ### ## # # ### ## # # # ### ## ### ## # # ### ## ### ## # # # ## ## # # # ## ## # # # # ### # # #O The United Coding Alliance is proud to import this masterpiece from Germany. The English prerelease of Turbo-Assembler. One of the best if not THE best Assembler for the Atari-ST. If you plan to use Turbo-Ass on a regular basis than please register it with the author. Once registered you'll get a 250 page manual, updates, support e.t.c. We would like to thank all the people who helped us to make this possible especially Markus Fritze and Sren Hellwig for this estauning package. A BIG HI GOES TO ALL ST CODERS OUT THERE THAT SUPPORTED THE ST OVER THE LONG YEARS. MANY, MANY THANX TO YOU ALL!! -= PLEASE SUPPORT SHAREWARE & COMMERCIAL AUTHORS =- 1UNITED CODING ALLIANCE  ***["X0X "X "$*(0 :#ʚ –(* " " "00"n`2b#2.( $  (ʂX*b#02̨"*#0"2"   * :2 ** V"%Z3 j2U0    0` P  P ` ,2 2 @@ b. " ̨2 2(8"2 $"ª*U®UUU0 ª ŠȂC+C ©00 *$  ‚)U`€ U`ª  < 0(2 " " #"(` c`` b0J#–#€* #20€ " jj jj8,  0   *0 %j)ZVV𨦀 *%`X VU #¨?Œ #‚ VYXUX22Uh2 2<0ʨ* ""22 c `ȣ•h "Z 3)\2XŠ2`2UV    0 Š# ª<&V&V%V%V  02U Uj2UŒ*:8VT ̂#( 80 (* 3/ "  V V%V  ª< ` )j @b2# :   "#": ,‚X"%V"&U‚"2"$"  U`UU`  `,,oO4Hx://<JNAO K/ ?<NA\BgHz?<NNAPJkA |t0< c_Jk<b鎌Q*n, MJfJfHx?<HNA\/?<HNA\Jgdo`/?<INA\/?<HNA\JgH*@/.,HnHzH/<KNAO.k*/ ?<INA\/B/<KNAO Sf BgHx?<1NABgNAL_*.PRGBUGABOO.PRGD6;)SYɍxYOAal/ĥ|6xOYq;R[Aal/;Z=Z;I|-MZ;Ƀ-,2  (  "    (   $ , "     ,@,oOHx //<JNAO K/ ?<NA\BgHz?<NNAPJkA |t0< c_Jk<b鎌Q*n, MJfJfHx?<HNA\/?<HNA\Jgo/?<INA\/?<HNA\Jg*@/.,HnHz /<KNAO.k/ ?<INA\/B/<KNAO SfBgHx?<1NABgNAL_*.PRGBUGABOO.PRGstartown_stkendedta_buflfileabortinit0init1loopfnameg ;F*;* load the debugger at a fixed adress *;* 1988/9 -soft, by Markus Fritze 09.01.90 *;F*;no Fast-Load with TOS 1.4;size of the program;Mshrink();Fsetdta(dta_buf);Fsfirst(7,autofil);file not found =>;pointer to the 3.char of the filename;get 6 hex-digits;= loadadr of the debugger;error =>;error =>;one nibble up;insert next digit;adress of the environment-string;hunt two byte = 0;size of the environment-string;Malloc(-1) => get biggest memoryblock;Malloc(all);startadr of the free memory;less memory => exit;- startadr of the memory;adr too big? => exit;Mfree(all);Malloc(offset);no memory?;then exit =>;save adr;pointer to the environment-string;pointer to the commandline;Pexec(load only);save basepageadr;Mfree(offset);Pexec(Run);Exitcode = 1?;No! =>;debugger ist now resident!;only a part of the basepage stay resident;Ptermres();so the debugger ist still alive;Pterm0();filename of the debugger`n ,o:| " |Ҏ.A/ //<JNAO < a3NMBV < <4aK?<NAT@A:Bg/ ?<GNAPJfS\*.HEXB#P>#B NAXJkP L&GST-&CFG:a|` g4< eQBatafQaav$KBaJgta@JAkRBDga`aQ MpR@Jf .W.CFGBBg/ ?<NAXJktfp`2<0k< c_<bIa:`^<0 ,f>a*DNugb< da< e<*fa< d`g>< g< gNu :g /?<INA\ :g /?<INA\BV < <4a <aBgNAHABBA"0<NBp0:LNu >>>J[1][ HEX -> CFG converter | for printerdriver | | by Markus Fritze| 1989 -soft][ CONTINUE ][3][ An error occured... ][ EXIT ]:VF Nsu2 wqswjTo>1wj KyP] o>3 x yw2 csڈ2 xs2J4@" """" "&"    "& "&"" "       ""    .! #"$%&%&#$'($()   "*+,,-.*-+/."  4./.00.../1 12 2" "&" " <4((($< &69;<=>2 .7$3 @ 5 @:@@ ?@ ,o:| " |Ҏ.A/ //<JNAO <a3MBV < a# < < aK?<NAT@A:Bg/ ?<GNAPJfS\*.HEXB# # <aJyg< < aKJf %\fBK -:f@A??<NAXJkT/ ?<;NA\JkKBg/ ?<NNAPJk?</NAT @.(R/?<HNAg(@#NAg\&@#SBg/ ?<=NAP<k/ /??<?NAO fB4x??<>NAXJk L&GST-&CFG:a|`g< eQBa ta"fQ!a"a v$KBa"Jgta"@JAkRBDga `a Q# MpR@Jf .W).CFGBBg/ ?<NAXJkf`2<0k< c_<bIa`^<0 ,faDNug'< da< e<*fa< d`g'< g< gNu :g/?<INA\ :g/?<INA\BV < a#3 < < a <4aBgNAHA5BBA6"0<NBp0:LNu[1][ HEX -> CFG converter | for printerdriver | | by Markus Fritze| 1989 -soft][ CONTINUE ] [3][ An error occured... ][ EXIT ]O-5 appl_initaesap_idMgraf_handle int_in'Ngraf_mousealertaddr_in4form_alertpathloop1fname- Zfsel_inputint_out-gem_exitloop2loop3loop4errormerk_hex_memmerk_cfg_memnext_linescode_jmp0code_loop1code_jmp1ignore_restcode_loop3get_hexbcode_jmp4code_jmp3code_loop5code_jmp2endeloopy1loopy2get_hexb0get_hexb3get_hexb1get_hexb2get_charspcreturnnext_lines1error1error2alert2appl_exitcontrolaes_pb5:global ?addr_out5CFg appl_read appl_write appl_findappl_tplay appl_trecord appl_bvset appl_yield evnt_keybd evnt_button evnt_mouse evnt_mesag evnt_timer evnt_multi evnt_dclick menu_barmenu_icheck menu_ienable !menu_tnormal "menu_text#menu_register $menu_unregister(objc_add)objc_delete *objc_draw+objc_find,objc_offset -objc_order .objc_edit/objc_change 2form_do3 form_dial5form_error 6form_center 7form_keybd 8form_button Fgraf_rubberbox Ggraf_dragbox Hgraf_movebox Igraf_growbox Jgraf_shrinkbox Kgraf_watchbox Lgraf_slidebox Ograf_mkstate Psrcp_readQsrcp_write Rscrp_clear [fsel_exinput dwind_create ewind_openfwind_close gwind_delete hwind_getiwind_setjwind_findkwind_update lwind_calcmwind_newnrsrc_loadorsrc_freeprsrc_gaddr qrsrc_saddr rrsrc_obfix xshel_readyshel_write zshel_get{shel_put|shel_find}shel_envrn ~shel_rdefshel_wdefxgrf_stepcalc xgrf_2box MN_SELECTEDWM_REDRAWWM_TOPPEDWM_CLOSEDWM_FULLEDWM_ARROWEDWM_HSLIDWM_VSLIDWM_SIZEDWM_MOVEDWM_NEWTOPWM_UNTOPPED(AC_OPEN)AC_CLOSE2CT_UPDATE3CT_MOVE4CT_NEWTOPWA_UPPAGEWA_DNPAGEWA_UPLINEWA_DNLINEWA_LFPAGEWA_RTPAGEWA_LFLINEWA_RTLINEG_BOXG_TEXTG_BOXTEXTG_IMAGEG_PROGDEFG_IBOXG_BUTTONG_BOXCHARG_STRINGG_FTEXTG_FBOXTEXTG_ICON G_TITLENONESELECTABLEDEFAULTEXITEDITABLERBUTTON LASTOB@TOUCHEXITHIDETREEINDIRECTNORMALSELECTEDCROSSEDCHECKEDDISABLEDOUTLINED SHADOWEDMU_KEYBDMU_BUTTONMU_M1MU_M2MU_MESAG MU_TIMERFMD_STARTFMD_GROWFMD_SHRINKFMD_FINISHARROWTEXT_CRSRHOURGLASSBUSYBEEPOINT_HANDFLAT_HANDTHIN_CROSSTHICK_CROSSOUTL_CROSSUSER_DEFM_OFFM_ONWI_NAMEWI_CLOSEWI_FULLWI_MOVEWI_INFO WI_SIZE@WI_UPARROWWI_DNARROWWI_VSLIDEWI_LFARROWWI_RARROWWI_HSLIDEWF_KINDWF_NAMEWF_INFOWF_WORKXYWHWF_CURRXYWHWF_PREVXYWHWF_FULLXYWHWF_HSLIDE WF_VSLIDE WF_TOP WF_FIRSTXYWH WF_NEXTXYWHWF_NEWDESKWF_HSLSIZEWF_VSLSIZEEND_UPDATEBEG_UPDATEEND_MCTRLBEG_MCTRL;F*;* Make CFG - converts HEX-Files to CFG-Files (see: 1st Word (plus)) *;* 1988/9 by -soft, written by Markus Fritze *;F*;Fast-Load with TOS 1.4;get basepageadr;size of basepage + stacksize;+ size of TEXT-segment;+ size of DATA-segment;+ size of BSS-segment;= memory needed;even;+ basepageadr;this is the initial stackpointer;prgsize;basepageadr;Mshrink(0,Basepageadr,Prglnge);appl_init();pointer to int_in (global!);set mouse to an arrow;titlealert;Dgetdrv();Dgetpath();look for the end...;append the extension;the fileselector;ABORT =>;Busy Bee;pointer to the end of the path;cut the extension;Dsetdrv();Dsetpath();Fsfirst();File not found => exit;Fgetdta();Filesize;plus a CHR$(0);Malloc() for HEX-File;Malloc() for CFG-File;filesize;Fopen(*.HEX);Fread();get all bytes?;exit, if not =>;CHR$(0) at the end;Fclose();fileheader;ignore empty lines;printername has to be shorter than 32 chars;get the printername;end of line?;all max.32 chars?;append a CHR$(0);get 5 hexbytes;wrong input =>;get byte no.6;an ignore the rest;2 segments;length of the string;no. of function or ST-ASCII-code;0=end of the tabel;2 Bytes sind's schon;get hexbyte;and another byte;continue? =>;insert the length;and ignore the rest;look for the end of the filenamen;and hunt the extension;extension now: ".CFG";Fcreate();Fwrite();Fclose();all bytes written?;bit 15=1 for wrong input;get hexbyte;get the next char;back to a normal ASCII-Code;set the flags;set Z-flag (better: CMP.B D0,D0);ignore the rest;end of line? no =>;get to next line (ignore remarks and empty lines);<=32 => ignore CR/LF;no remark =>;get the end of line?;ignore spaces;ignore tabs;Mfree();Mfree();mouse back to the arrow;erroralert;appl_exit();Pterm0();F*;* My own AES-Call4 *;* D0=the first 4 entrys in the contrl-array (bytes!!!) *;* Bit 24-31 = the opcode or the functionno. *;* Bit 16-23 = entrys in int_in$ *;* Bit 8-15 = entrys in int_out# *;* Bit 0-7 = entrys in addr_in# *;* entrys in addr_out are zero.' *;* but: rsrc_gaddr() returns a parameter in addr_out() *;F*;save all register but D0;clr the contrl-array;and put the parameter into it;call the AES;F*;* now it comes: the DATA-segment% *;F*;the AES-parameterblock;F*;* for the program4 *;F*;F*;* and the BSS-segment...- *;F*;AES-arrays;ID of the applikation;pathbuffer;the filename;bufferadr. of the CFG-memory;bufferadr. of the HEX-memoryY!' ?1daeY') HSš+&L IS+$v4w=uUea+& c,=aeOs=eaT'?@*O=aeO'J "RF4    "!$#&%(')*+,-./0123&T&BJRC<652 0:;7"8>0 1> )9* <TDRD<@?2 0DE2A"0B C " +*~H FTR<KJ2 0OPLN2"MS SS 0 1S N   $"Y(b b"Z*$[\"&&$$Z,+c* PqQwTU4XYS\]W`a[deIr gs ht iu jvklmnop ^W{U ]V M X fTO_ QT2R<ba2 0fgck2"dl$0 1l ennnp   qrrq+p rt"uvwxuxvw$tz{"{+z"$ +* `j~}m| o ys hT*F.&RJ<052 0226"07 8 "$ +*: 9T*R=<2 02" 0 1 " &$ "$""$+*,& &  "4 "  $ T6RI<)2 0,32%"0 $ *("*R@   ?@"? "*& &6 ++(( " +*,'; TJRG<2 0      "3  # 0# 1     "   )* & &L T2RH<2 02"3  0 1       "$ +* - T6RE<2 0<2"  0 1   $" +* T(RK<2 02"$1 1 0 11 .  "$ +*A T/&Ry<}2 0|2"  0 1   "_*$"&&$$_,+*z4 TR> !<2 02"0 +*HJ.  !   T-soft01`7`8`9pNuJCjpNupNupNu-soft01`A`B`CpNupNu <GRPAHNNpN M N N pNuSAVE PROGRAMM-soft01`L`M`NAq CrёC QNpNuJEf -ЭbJ fpNupNuAqN!U@bc8 <TSLATNN.-ޭMpNAU rNAVSNAWpJDg!|ALLO|CC_&`!|EMOR|YC_$N Kz|DATA Zr_N,XSS\S  RJS[ K N JbN pNu+ & $$3DATAs for which basic?s GFA OMIKRON ABORT ??_o/7  ?`?@|>|>;\:l6/7 `A%=MEMORY(0) FOR I%=0 TO 0 READ B% POKE A%+I%,B% NEXT I% SAVE DATAS$-soft01`c`d`eAj CrёC QkpNuJ fpNupNuAmPh Jg AoNJjAmPh AjN!U@b>,-ܭܭM܎AoNkfJEgN#pNu"pBAsJg"F$NpӒg|e`E` <SBAAyJGg*A޽fpNuNNpN N N N pNu $&$absolute formatadress:$23456 COPY SAVE CANCEL SAVE ABSOLUTE PROGRAMSAVE RELATIVE PROGRAM-soft01`6`7`8pNupNu <GRPA:NNpN M N N pNuSAVE FASTLOAD-PROGRAMMs-soft01```pNuJ fpNupNu,-ܭܭChJg,IVJf, /?<HN\.g&G$NڵfEC&Nڵf"GSQ, /?<IN\\"MAp 2QY",MA <XAB`MApBNNpN N N N pNupNuH瀀A ѐLNH oCE&J$رe Crѓg|e`G`/@LNuSAVE BASIC-RELATIVESAVE RELATIVE PROGRAM-soft01`%``pNupNu,-.ޭ/?<HN\Jg'C$I"-g J&J"(g&&4|f|@6&`Ae+K&@ K BXSf g`rg<fм`Ё"1dd'`'`'`pOANNpNpЭЭЭ MN K N N / ?<IN\pNupNuSAVE DRI-LINKFORMAT-soft01```M"/?<HNA\.gM}BgHz ?<=NAP<k//??<?NAO *??<>NAXfM}"BgHz?<=NAP<k/}/??<?NAO *??<>NAXfA pNupNuA MRF!fJCjJk"H02fT`pNupNuM Jk z "N0S@2SA4.G 4.SB$HQ JQ" KQ \`pNu\TURBOASS\DEMOS\THNKWORK\THNKWORK.PIC\TURBOASS\DEMOS\THNKWORK\THNKWORK.PI2-soft01```A JgpNupNuA MRF!fJk"H02fT`pNupNuM Jk z "N0S@2SA4.G 4.SB$HQ JQ KQ\` <GRPANNpN M N N pNuSAVE GAME-soft01```pNuJEf -Э|bJ fpNupNu <SABANN.-ޭMpN J INLI NE "SGNQ"   JN N pNuSAVE OMIKRON-INLINE-soft01``$`.pNuJEfJ fpNupNu,-ܭM܎ <LNIAANNpN N N N pNuSAVE GFA-INLINE-soft01```pNuJEfJ fpNupNu.-ޭM <DOMANNpN Kz|INLINE (Pr0NH,\SSS);  VJS K N JbN pNuINLINE (SAVE MODULA-INLINE-soft01```pNupNuG'M!'D @|8M Ka <:Sj,k!*N a߈pNs9g`NqNqNqfNu@offset@fsel_input @overwrite_file@fcreate@fopen@fread܀@fwrite܀ր@fcloseրЀ@fdeleteЀʀ@trap_1ʀ Ā@dez_outĀ @hexbout @hexwout @hexaout @hexlout@hexlin@graf_mouse @form_do@bell@ass_driver @org_driver @_debug@_continue@_exit@_no_memory @_fail@_file_error @_disk_full @_enable@_disable@_init_ok@_init_error Ra_startwa_inita_disablea_chooseDEBUGGER=a_end4<5a_disable1b_startwb_initb_disableb_chooseSTANDARDGb_end`F?b_choose_fsel Wc_startwc_initc_disablec_chooseDATASRc_endQJc_disable1c_choose_fselc_choose_txt2c_choose_txt3c_choose_txt1c_choose_txtend FXWc_choose1c_choose2c_choose3Ggn_choose1@d_startwd_initd_disabled_chooseABSOLUTid_endȀhad_choose_rscd_init1d_disable1d_choose_rsc1d_choose1d_choose_rscx3 d_choose2ad_choose2d_choose3d_choose_fsel2 d_choose8d_choose4d_choose5d_choose7d_choose6d_choose_fsel1 d_choose10d_choose9d_choose_rscx1 Hjd_choose_rscx2 Xjaojd_choose_rscx4 hjd_choose_rscx5 ojd_choose_rsc2 d_choose_rscx6 vjwWGWgWGGe_startwe_inite_disablee_chooseBASICe_endje_disable1e_choose6e_choose1e_choose8e_choose2e_choose_hdr3e_choose_hdr4e_choose3e_choose4e_choose_hdr1e_choose5e_choose_fsel1 e_choose7e_choose_fsel2 e_choose_reloc :Ҁ e_choose_hdr2e_choose_loope_choose_reloc_inf e_choose_loop1 e_choose_loop2 e_choose_endee_choose_1 G'f_startwf_initf_disablef_choosewf_endf_disable1f_choose_fself_choose1DATASg_startwg_initg_disableg_choosePARALLELg_endg_choose_var >Gg_choose1SAVEGAMEFAST STDwABSOLUT@_init_debugger i_disable3i_disable1i_disable2i_choose1i_choose5m_starti_choose2i_choose3i_choose4'~/GFA-INLk_choose02k_choose01m_initwk_choose_fsel ܀k_choose_loopk_choose4h_choose5h_choose4k_choose_saveh_starth_inith_disableh_chooseh_endh_init1h_fnameh_save_adrh_disable1h_choose1h_choose2i_starti_initi_disablei_choosei_endi_init1k_choose3k_endk_choosei_choose_fsel RUN GAMEk_disableh_fname2k_starth_disable3g_trans2g_trans1g_transg_choose_leng_choose_adrh_choose3h_disable2m_disablek_initk_choose1k_choose_memerr k_choose2wk_choose0k_choose5SMALLDRIm_choosem_endwm_disable1 3p95l_startl_initl_disablel_choosel_endl_choose_fsel 'OMINLINEBASICPARALLELk_choose04k_choose03m_choose_fsel TURBOASS.DATDEBUGGERSTANDARDOMINLINEEQU-KonstantenRUN GAMESAVEGAMESMALLDRIFAST STDGFA-INLGgc_init1@UsqV_tqZiuq^tvqc_choose_txt c_choose_omic_exit9AAAAAc_datasc_datas_0c_datas_1c_datas_2c_datas_3c_datas_4x>rqMODULA-INLwWMODULAwn_choose2n_startn_initn_disablen_choosen_endn_disable1n_choose_fseln_choose_txt1n_choose3c_choose_gfan_exitg@w;BASIC ist Default;keine Symboltabelle, PC-relativ;Ein paar Variablendeklarationen: (sieh Anleitung);Rckgabewerte von "choose";Init ok, Debugger-Modul;Init ok, normal;Init fehlerhaft, Modul nicht nehmen;Name der Moduldatei;F*;* MODUL: DEBUGGER, Sprung in den Debugger (sollte das 1.Modul sein) *;F*;0 Modulkennung (Magicword);8 Init nach dem Laden;12 evtl. disablen;16 Modul wurde gewhlt;20 Name des Moduls;28 Lnge des Moduls;Init war OK, Modul funktioniert;Debugger vorhanden?;Pech, wenn nicht;enablen;disablen;Ende der Assemblierung, in den Debugger;Ende des Moduls;F*;* MODUL: Standardprogramm speichern (sollte das 2.Modul sein!) *;F*;0 Modulkennung (Magicword);8 Init nach dem Laden;12 evtl. disablen;16 Modul wurde gewhlt;20 Name des Moduls;28 Lnge des Moduls;Init war OK, Modul funktioniert;enablen;'PRG' als Extension vorgeben;berschrift fr fsel_exinput();File auswhlen lassen;existiert es? evtl. lschen;keine besonderen File-Attribute;aktuelle Datei ffnen;Bufferanfangsadresse;Endadr-Anfadr = Programmlnge;Programm schreiben;Datei schlieen;Ende der Assemblierung, Dialog verlassen;EVEN ist ntig!;Ende des Moduls;F*;* MODUL: Datas erzeugen. *;F*;0 Modulkennung (Magicword);8 Init nach dem Laden;12 evtl. disablen;16 Modul wurde gewhlt;20 Name des Moduls;28 Lnge des Moduls;5 Werte relozieren;Wert relozieren;Init war OK, Modul funktioniert;Relocinfo vorhanden?;dann gibt's keine Datas;TEXT-Lnge;+ DATA-Lnge;>9 Bytes?;dann keine DATAs mglich;BSS-Segment vorhanden?;dann auch keine DATAs mglich;enablen;disablen;3=ABBRUCH;Button merken;'LST' als Extension vorgeben;berschrift fr fsel_exinput();File auswhlen lassen;existiert es? evtl. lschen;TEXT-Lnge;+ DATA-Lnge = Gesamtlnge;Programm startet hinter dem Header;keine besonderen File-Attribute;aktuelle Datei ffnen;Lnge einsetzen;Lnge-1 einsetzen;Soll das ein Omikron-Programm werden?;ja, dann schreiben;Sonst MEMORY in MALLOC ndern;Fr GFA ein & statt eines $;MALLOC in MEMORY ndern;Fr OMIKRON ein $ statt eines &;Header schreiben;Diskbuffer also Zwischenspeicher nehmen;Buffer leer;max.24 Zeilen pro Block schreiben;max.16 Hexbytes pro Zeile;Hexbyte in den Buffer;und wieder ein Byte weniger;Zeile noch nicht voll? ^;letztes Komma durch CR ersetzen;schon alle Bytes in Datas gewandelt?;noch welche Zeilen zu schreiben? ^;Bufferanfangsadresse = Diskbuffer;Lnge des Buffers (max.1680 Bytes);Block schreiben;alle Bytes geschrieben? Weiter, wenn nicht;Datei schlieen;Ende der Assemblierung, Dialog verlassen;EVEN ist ntig!;Ende des Moduls;F*;* MODUL: Absolut- Button "ABS"- & "B"-Format *;F*;0 Modulkennung (Magicword);8 Init nach dem Laden;12 evtl. disablen;16 Modul wurde gewhlt;20 Name des Moduls;28 Lnge des Moduls;6 Werte relozieren;Wert relozieren;Init war OK, Modul funktioniert;BSS-Segment vorhanden?;dann kein absolutes Format mglich;enablen;disablen;Speichern default;Adresse durch ORG gegeben;nein;Adresse ausgeben;',^' ?;nein;Kopieren default;3=ABBRUCH;Button merken;TEXT-Lnge;DATA-Lnge;+ Lnge der Symboltabelle;Header nicht mit abspeichern;Endadresse+1;Hexzahl holen;Abbruch, da Fehler;es wurde was eingegeben;Relocinfo vorhanden?;ok, wenn nicht;Abbruch;Den Wert merken;'B' Extension;fr fsel_exinput();Relocinfo vorhanden?;wenn nicht, dann war's das schon;Zeiger auf das Relocinfo;+ Lnge der Symboltabelle;Anfangsadresse merken;Das Programm relozieren;'ABS' A6=Anfangsadr, D6=Endadresse;fr fsel_exinput();0=SPEICHERN;Programm bertragen -1=KOPIEREN;Ende;File auswhlen lassen;existiert es? evtl. lschen;keine besonderen File-Attribute;aktuelle Datei ffnen;Bufferanfangsadresse = Diskbuffer;Endadr-Anfadr = Programmlnge;Programm schreiben;Datei schlieen;Ende der Assemblierung, Dialog verlassen;F*;* MODUL: Standardprogramm speichern" *;* Ab TOS 1.4 wird jedoch nicht der gesamte Hauptspeicher ge- *;* lscht, sondern nur das BSS-Segment *;* siehe auch OPT F+ und OPT F- *;F*;0 Modulkennung (Magicword);8 Init nach dem Laden;12 evtl. disablen;16 Modul wurde gewhlt;20 Name des Moduls;28 Lnge des Moduls;Init war OK, Modul funktioniert;enablen;'PRG' als Extension vorgeben;berschrift fr fsel_exinput();File auswhlen lassen;existiert es? evtl. lschen;keine besonderen File-Attribute;aktuelle Datei ffnen;Bufferanfangsadresse;Flag fr "nur BSS lschen" setzen;Endadr-Anfadr = Programmlnge;Programm schreiben;Datei schlieen;Ende der Assemblierung, Dialog verlassen;EVEN ist ntig!;Ende des Moduls;F*;* BASIC- Button "BAX"- & "B"-Format" *;F*;0 Modulkennung (Magicword);8 Init nach dem Laden;12 evtl. disablen;16 Modul wurde gewhlt;20 Name des Moduls;28 Lnge des Moduls;Init war OK, Modul funktioniert;BSS-Segment vorhanden?;dann kein Basic-Format mglich;enablen;disablen;+ TEXT-Lnge;+ DATA-Lnge;+ Symboltabelle;Reloc-Info vorhanden?;Nein, ".B"-File erzeugen;Reloc-Adresse merken;da das erste ein Long ist!;Das Ende des Reloc-Infos suchen;Speicher fr's Reloc anfordern;Adresse merken;Fehler melden, Speicher reicht nicht;Reloc-Info in den Buffer kopieren;Starter ans Programm anhngen;Reloc wieder anhngen;Endadresse des Programms;Reloc-Speicher wieder freigeben;Ab Byte 6 den Header berschreiben;Anfangsadr des Programms;22 Byte in den Header schreiben;Reloc-Wert eintragen;fr fsel_exinput();.BAX;fr fsel_exinput();.B;File auswhlen lassen;existiert es? evtl. lschen;keine besonderen File-Attribute;aktuelle Datei ffnen;Bufferanfangsadresse = Diskbuffer;Programmlnge;Programm schreiben;Datei schlieen;Ende der Assemblierung, Dialog verlassen;Speicher reicht nicht!;F*;* Header fr BASIC mit Autoreloc% *;F*;Dies mu vor den Programmcode;"r_label" ist relativ zu sich selbst;relozieren;relativ zu sich selbst!;Hier liegt der Programmcode (TEXT- & DATA-Segment);Das kommt hinter das Programm;Anfangsadr des Codes;Endadr+1 des Codes;so lang ist der obige Header;Anfang fr das relozieren merken;das Programm verschieben;Basisadr fr das Relozieren;Ab hier wird reloziert;erste zu relozierende Adresse;Adresse relozieren;Byte aus dem Relocinfo holen;0= Ende;1= 254er-Offset;Rcksprungadr patchen;Programm starten;Das Reloc-Info mu ab hier liegen:;F*;* MODUL: DRI-Linkformat erzeugen (ohne IMPORTE!) *;F*;0 Modulkennung (Magicword);8 Init nach dem Laden;12 evtl. disablen;16 Modul wurde gewhlt;20 Name des Moduls;28 Lnge des Moduls;Init war OK, Modul funktioniert;enablen;DATA-Offset = TEXT-Lnge;BSS-Offset = TEXT-Lnge+DATA-Lnge;= Lnge des Reloc-Infos;Malloc();Speicher reicht nicht!;TEXT-Segment-Adr;+ TEXT-Lnge + DATA-Lnge;Lnge der Symboltabelle;keine da! =>;Lesepointer = Anfang der Symboltabelle;Schreibpointer = Lesepointer;Adresse des normalen Reloc-Infos;Anfangsadresse der Symboltabelle merken;Symboltabelle korrigieren (fr Turbo-C) und krzen (nur globale Symbole nehmen);Globales Symbol?;Nein! => Symbol ignorieren;Namen kopieren;Typ holen;Def? (mu 'ne Konstante sein);Nein! =>;Konstantenbit dazu;Typ kopieren;Wert kopieren;auf zum nchsten Symbol;nur den Lesepointer weitersetzen;schon alle Symbole?;Nein! =>;neue Endadresse - Anfangsadresse;und neue Lnge setzen;Adresse des DRC-Reloc-Infos;DRC-Reloc-Info erstmal lschen;ersten Reloc-Offset holen;kein Reloc-Info => fertig;Ab hier: normales Relocinfo in DRI-Relocinfo wandeln;nchsten Reloc-Offset;Ende des Reloc-Infos => fertig;Reloc-Long-Wert holen;Relativ zum BSS-Segment;Relativ zum DATA-Segment;Relativ zum TEXT-Segment;BSS-Segment-Offset abziehen;Relativ zum BSS-Segment;DATA-Segment-Offset abziehen;Relativ zum DATA-Segment;'O' als Extension vorgeben;berschrift fr fsel_exinput();File auswhlen lassen;existiert es? evtl. lschen;keine besonderen File-Attribute;aktuelle Datei ffnen;Lnge des Headers;+ TEXT-Segment-Lnge;+ DATA-Segment-Lnge;+ Symboltabellen-Lnge;Anfangsadresse;Programm schreiben;DRC-Reloc-Info schreiben;Datei schlieen;= Lnge des Reloc-Infos;Mfree();Ende der Assemblierung, Dialog verlassen;Speicher reicht nicht!;EVEN ist ntig!;F*;* MODUL: RUN Think & Work, Sprung in den Debugger & Bildkonvertierung *;F*;0 Modulkennung (Magicword);8 Init nach dem Laden;12 evtl. disablen;16 Modul wurde gewhlt;20 Name des Moduls;28 Lnge des Moduls;Lnge der Bilder;Malloc(64034);Speicher reicht nicht!;Fopen();Datei nicht gefunden =>;Fread();Anzahl der Bytes merken;Fclose();alle Bytes gelesen?;Fopen();Datei nicht gefunden =>;Fread();Anzahl der Bytes merken;Fclose();alle Bytes gelesen?;Anfangsadresse merken;Init war OK, Modul funktioniert;Speicher reichte nicht;Startadr+TEXT-Lnge;Grafik-Modul erkannt?;Nein! =>;Debugger vorhanden?;Pech, wenn nicht;Anzahl;* Zeilenzahl;* Byteanzahl;Reicht der Platz?;dat war nix!;Den Zeilenoffset berlesen;enablen;disablen;+4 ("MRF!" wird berlesen);+TEXT-Lnge = DATA-Segment-Adr;Ende der Tabelle?;Offset dazu;Zieladr (relativ);Anzahl;fr DBRA;Zeilenzahl;auch fr DBRA;nchste Position;Byteanzahlzahl;und auch fr DBRA;eine Zeile kopieren;komplette Zeile schon kopiert?;Zeilenoffset;alle Zeilen schon kopiert?;Zeiger auf den nchsten Block;Den Rest berlesen;noch ein Block?;Ende der Assemblierung, in den Debugger;Ende des Moduls;F*;* MODUL: Think & Work mit Grafiken speichern *;F*;0 Modulkennung (Magicword);8 Init nach dem Laden;12 evtl. disablen;16 Modul wurde gewhlt;20 Name des Moduls;28 Lnge des Moduls;Malloc()-Adresse vorhanden?;Init war OK, Modul funktioniert;Das Bild wurde nicht gefunden;Startadr+TEXT-Lnge;Grafik-Modul erkannt?;Nein! =>;Anzahl;* Zeilenzahl;* Byteanzahl;Reicht der Platz?;dat war nix!;Den Zeilenoffset berlesen;enablen;disablen;+4 ("MRF!" wird berlesen);+TEXT-Lnge = DATA-Segment-Adr;Ende der Tabelle?;Offset dazu;Zieladr (relativ);Anzahl;fr DBRA;Zeilenzahl;auch fr DBRA;nchste Position;Byteanzahlzahl;und auch fr DBRA;eine Zeile kopieren;komplette Zeile schon kopiert?;Zeilenoffset;alle Zeilen schon kopiert?;Zeiger auf den nchsten Block;Den Rest berlesen;noch ein Block?;'PRG' als Extension vorgeben;berschrift fr fsel_exinput();File auswhlen lassen;existiert es? evtl. lschen;keine besonderen File-Attribute;aktuelle Datei ffnen;Bufferanfangsadresse = Diskbuffer;Endadr-Anfadr = Programmlnge;Programm schreiben;Datei schlieen;Ende der Assemblierung, Dialog verlassen;EVEN ist ntig!;Ende des Moduls;F*;* MODUL: Inline-Zeile fr OMIKRON-Basic erzeugen *;F*;0 Modulkennung (Magicword);8 Init nach dem Laden;12 evtl. disablen;16 Modul wurde gewhlt;20 Name des Moduls;28 Lnge des Moduls;Init war OK, Modul funktioniert;Relocinfo vorhanden?;dann gibt's kein Inline;TEXT-Lnge;+ DATA-Lnge;> 124 Byte?;dann keine DATAs mglich;BSS-Segment vorhanden?;dann auch keine DATAs mglich;enablen;disablen;'BAS' als Extension vorgeben;berschrift fr fsel_exinput();File auswhlen lassen;existiert es? evtl. lschen;TEXT-Lnge;+ DATA-Lnge = Gesamtlnge;Programm startet hinter dem Header;keine besonderen File-Attribute;aktuelle Datei ffnen;Anfangsadresse fr @fwrite;Hex-Daten schreiben;CR/LF anhngen;Lnge der Inline-Zeile;Blockstart;Block schreiben;Datei schlieen;Ende der Assemblierung, Dialog verlassen;EVEN ist ntig!;Ende des Moduls;F*;* MODUL: GFA-Inline-Code erzeugen$ *;F*;0 Modulkennung (Magicword);8 Init nach dem Laden;12 evtl. disablen;16 Modul wurde gewhlt;20 Name des Moduls;28 Lnge des Moduls;Init war OK, Modul funktioniert;Relocinfo vorhanden?;dann gibt's keine Inlinezeile;BSS-Segment vorhanden?;dann keine Inlinezeile mglich;enablen;disablen;TEXT-Lnge;DATA-Lnge;Header nicht mit abspeichern;Endadresse+1;'INL' Extension;fr fsel_exinput();File auswhlen lassen;existiert es? evtl. lschen;keine besonderen File-Attribute;aktuelle Datei ffnen;Bufferanfangsadresse = Diskbuffer;Endadr-Anfadr = Programmlnge;Programm schreiben;Datei schlieen;Ende der Assemblierung, Dialog verlassen;F*;* MODUL: Modula Inline erzeugen& *;F*;0 Modulkennung (Magicword);8 Init nach dem Laden;12 evtl. disablen;16 Modul wurde gewhlt;20 Name des Moduls;28 Lnge des Moduls;Init war OK, Modul funktioniert;Relocinfo vorhanden?;dann gibt's keine Inlinezeile;BSS-Segment vorhanden?;dann keine Inlinezeile mglich;enablen;disablen;TEXT-Lnge;DATA-Lnge;Header nicht mit abspeichern;'MOD' Extension;fr fsel_exinput();File auswhlen lassen;existiert es? evtl. lschen;keine besonderen File-Attribute;aktuelle Datei ffnen;Diskbuffer also Zwischenspeicher nehmen;Buffer leer;max.28 Zeilen pro Block schreiben;max.8 Hexwords pro Zeile;Hexword in den Buffer;und wieder ein Word weniger;Zeile noch nicht voll? ^;letztes Komma durch ); ersetzen;Und CR LF anhngen;schon alle Words in Datas gewandelt?;noch welche Zeilen zu schreiben? ^;Bufferanfangsadresse = Diskbuffer;Lnge des Buffers (max.1680 Bytes);Block schreiben;alle Words geschrieben? Weiter, wenn nicht;Datei schlieen;Ende der Assemblierung, Dialog verlassen;F*;* MODUL: Centronics2 *;F*;0 Modulkennung (Magicword);8 Init nach dem Laden;12 evtl. disablen;16 Modul wurde gewhlt;20 Name des Moduls;28 Lnge des Moduls;Init war OK, Modul funktioniert;immer vorhanden;Zeiger auf Variablenfeld;Statusregister merken;Interrupts verbieten;Register 14 des Soundchips;retten;Lnge bertragen;Warten auf AllocMem vom Amiga;zu bertragende Daten;Register 14 des Soundchips;restaurieren.;Ende der Assemblierung, in den Debugger;IRQs wieder erlauben;F*;* bertrgt einen Speicherbereich auf die Centronics-Schnittstelle *;* Auf keinen Fall drfen die Addressierungen in .w gewandelt werden. *;* Der Amiga-Empfnger wre berfordert. *;F*;Byte auf Port legen;'Stroben';? ist Strobe low;!ja;!nein: Strobe auf low;Strobe auf high;Zeit fr den Empfnger;sich das Byte abzuholen;und wegzuschreiben;Ende des Moduls;F*;* Library-Modul-Ende1 *;F*pThis ist NOT the final english version of the TurboAss and Bugaboo! Also many files are missing. So: copy also the german version of the TurboAss! The final version will be available in late summer '91. Until then: use this TurboAss as a "demoversion". But remember: the TurboAss and Bugaboo are still Shareware! No PD, no Freeware! The manual (250 pages) will also be available in late summer. Markus Fritze @ HH2 (MausNet) Markus Fritze % MAUS HH2 2:242/2.6 (Fido) Markus_Fritze%HH2@ZERMAUS.ZER (Zerberus) Markus_Frite@HH2.MAUS.DE (Usenet) ?Markus Fritze  ~OBGf]4NBTWQ5:!.g]=B`^Q:5.!g4]B>WQ>,.@              *     KBgHz?<=NAP.k/ Hx??<?NAO JkI??<>NAX&Md< g`BR`BBHz?<&NN\Bg/ ?<1NABgNAA C "NuXBRAGENV oC!I,/: Nu\AUTO\ENV.INFanfangenv_fileenvironmentend_of_convert loopeolexitoldveksupinit; define environment-string of the AES inside the AUTO-folder;; the env-string are in the files "ENV.INF";; thanx to Julian Reschke ST-Magazin (6/90).;Pointer to the environment;ReadOnly;Fopen("\AUTO\SETENV.ENV");save fhandle;file not found => exit;read hole file (max.32k-1);Fread();read error => exit;pointer beyond the datas;Fclose();the end?;yes! =>;CR found?;yes! =>;copy byte;terminate line;and ignore LF;terminate environment;install;- basepagestartadr = size of the program;= size;Ptermres();Pterm0();save old vector;and use out vector;XBRA-Protokoll;"GENV" von Julian Reschke;basepageadr;set new environment;an now continue; ATARI.S Equate and macro file for atari ST RMS ; Extended and Improved: 8/11/88 - RJZ ; Combined and Extended and Improved: 09/16/88 - RMS ; save_rs: EQU ^^RSCOUNT ;RS-Counter merken ; File header structure RSRESET FILE_ID: RS.W 1 TSIZE: RS.L 1 DSIZE: RS.L 1 BSIZE: RS.L 1 SSIZE: RS.L 1 XXX1: RS.L 1 XXX2: RS.L 1 XXX3: RS.W 1 HEADSIZE: EQU ^^RSCOUNT ; base page structure RSRESET LOWTPA: RS.L 1 HITPA: RS.L 1 TBASE: RS.L 1 TLEN: RS.L 1 DBASE: RS.L 1 DLEN: RS.L 1 BBASE: RS.L 1 BLEN: RS.L 1 DTA: RS.L 1 PARENT: RS.L 1 X: RS.L 1 ENVIR: RS.L 21 CMDLINE: RS.B 128 ; defines TEXTSZ: EQU TLEN DATASZ: EQU DLEN BSSSZ: EQU BLEN BPSZ: EQU ^^RSCOUNT MYDTA: EQU DTA RSSET save_rs ;RS-Counter wieder zurcksetzen CR: EQU $0D LF: EQU $0A TAB: EQU $09 * * This is a preliminary equates file for the Atari ST; * not all the equates may be here, there may be typos * we haven't caught, and not all the macros for Gemdos * and the BIOS have been defined. * ; ; Atari ST hardware locations ; memconf: EQU $F8001 ;memory configuration vbasehi: EQU $F8201 vbasemid: EQU $F8203 ;Video base address vcounthi: EQU $F8205 vcountmid: EQU $F8207 vcountlo: EQU $F8209 ;Video display counter syncmode: EQU $F820A ;video sync mode vbaselo: EQU $F820D ;Video base address (lo; STE only) linewid: EQU $F820F ;Width of a scan-line (Words, minus 1; STE only) palette: EQU $F8240 ;color registers 0..15 rezmode: EQU $F8260 ;Resolution mode (0=320x200,1=640x200,2=640x400) hscroll: EQU $F8265 ;Horizontal scroll count (0..15; STE only) diskctl: EQU $F8604 ;disk controller data access fifo: EQU $F8606 ;DMA mode control dmahi: EQU $F8609 dmamid: EQU $F860B dmalo: EQU $F860D ;DMA base address cmdreg: EQU $80 ;1770/FIFO command register select trkreg: EQU $82 ;1770/FIFO track register select secreg: EQU $84 ;1770/FIFO sector register select datareg: EQU $86 ;1770/FIFO data register select ; GI ("psg") sound chip: giselect: EQU $F8800 ;(W) sound chip register select giread: EQU $F8800 ;(R) sound chip read-data giwrite: EQU $F8802 ;(W) sound chip write-data gitoneaf: EQU 0 ;channel A fine/coarse tune gitoneac: EQU 1 gitonebf: EQU 2 ;channel B gitonebc: EQU 3 gitonecf: EQU 4 ;channel C gitonecc: EQU 5 ginoise: EQU 6 ;noise generator control gimixer: EQU 7 ;I/O control/volume control register giaamp: EQU 8 ;channel A, B, C amplitude gibamp: EQU 9 gicamp: EQU $0A gifienvlp: EQU $0B ;envelope period fine, coarse tune gicrnvlp: EQU $0C giporta: EQU $0E ;GI register# for I/O port A giportb: EQU $0F ;Centronics output register ; Bits in "giporta": xrts: EQU 8 ;RTS output dtr: EQU $10 ;DTR output strobe: EQU $20 ;Centronics strobe output gpo: EQU $40 ;"general purpose" output ; 68901 ("mfp") sticky chip: mfp: EQU $FA00 ;mfp base gpip: EQU mfp+1 ;general purpose I/O aer: EQU mfp+3 ;active edge reg ddr: EQU mfp+5 ;data direction reg iera: EQU mfp+7 ;interrupt enable A & B ierb: EQU mfp+9 ipra: EQU mfp+$0B ;interrupt pending A & B iprb: EQU mfp+$0D isra: EQU mfp+$0F ;interrupt inService A & B isrb: EQU mfp+$11 imra: EQU mfp+$13 ;interrupt mask A & B imrb: EQU mfp+$15 vr: EQU mfp+$17 ;interrupt vector base tacr: EQU mfp+$19 ;timer A control tbcr: EQU mfp+$1B ;timer B control tcdcr: EQU mfp+$1D ;timer C & D control tadr: EQU mfp+$1F ;timer A data tbdr: EQU mfp+$21 ;timer B data tcdr: EQU mfp+$23 ;timer C data tddr: EQU mfp+$25 ;timer D data scr: EQU mfp+$27 ;sync char ucr: EQU mfp+$29 ;USART control reg rsr: EQU mfp+$2B ;receiver status tsr: EQU mfp+$2D ;transmit status udr: EQU mfp+$2F ;USART data ; 6850 registers: keyctl: EQU $FC00 ;keyboard ACIA control keybd: EQU $FC02 ;keyboard data midictl: EQU $FC04 ;MIDI ACIA control midi: EQU $FC06 ;MIDI data ; BIOS Variables etv_timer: EQU $0400 ;vector for timer interrupt chain etv_critic: EQU $0404 ;vector for critical error chain etv_term: EQU $0408 ;vector for process terminate etv_xtra: EQU $040C ;5 reserved vectors memvalid: EQU $0420 ;indicates system state on RESET memcntlr: EQU $0424 ;mem controller config nibble resvalid: EQU $0426 ;validates 'resvector' resvector: EQU $042A ;[RESET] bailout vector phystop: EQU $042E ;physical top of RAM _membot: EQU $0432 ;bottom of available memory; _memtop: EQU $0436 ;top of available memory; memval2: EQU $043A ;validates 'memcntlr' and 'memconf' flock: EQU $043E ;floppy disk/FIFO lock variable seekrate: EQU $0440 ;default floppy seek rate _timr_ms: EQU $0442 ;system timer calibration (in ms) _fverify: EQU $0444 ;nonzero: verify on floppy write _bootdev: EQU $0446 ;default boot device palmode: EQU $0448 ;nonzero ==> PAL mode defshiftmd: EQU $044A ;default video rez (first byte) sshiftmd: EQU $044C ;shadow for 'shiftmd' register _v_bas_ad: EQU $044E ;pointer to base of screen memory vblsem: EQU $0452 ;semaphore to enforce mutex in vbl nvbls: EQU $0454 ;number of deferred vectors _vblqueue: EQU $0456 ;pointer to vector of deferred vfuncs colorptr: EQU $045A ;pointer to palette setup (or NULL) screenpt: EQU $045E ;pointer to screen base setup (|NULL) _vbclock: EQU $0462 ;count of vblank interrupts _frclock: EQU $0466 ;count of unblocked vblanks (not blocked by vblsem) hdv_init: EQU $046A ;hard disk initialization swv_vec: EQU $046E ;video change-resolution bailout hdv_bpb: EQU $0472 ;disk "get BPB" hdv_rw: EQU $0476 ;disk read/write hdv_boot: EQU $047A ;disk "get boot sector" hdv_mediach: EQU $047E ;disk media change detect _cmdload: EQU $0482 ;nonzero: load COMMAND.COM from boot conterm: EQU $0484 ;console/vt52 bitSwitches (%%0..%%2) trp14ret: EQU $0486 ;saved return addr for _trap14 criticret: EQU $048A ;saved return addr for _critic themd: EQU $048E ;memory descriptor (MD) _md: EQU $049E ;(more MD) savptr: EQU $04A2 ;pointer to register save area _nflops: EQU $04A6 ;number of disks attached (0, 1+) constate: EQU $04A8 ;state of conout() parser save_row: EQU $04AC ;saved row# for cursor X-Y addressing sav_context: EQU $04AE ;pointer to saved processor context _bufl: EQU $04B2 ;two buffer-list headers _hz_200: EQU $04BA ;200hz raw system timer tick _drvbits: EQU $04C2 ;bit vector of "live" block devices _dskbufp: EQU $04C6 ;pointer to common disk buffer _autopath: EQU $04CA ;pointer to autoexec path (or NULL) _vbl_list: EQU $04CE ;initial _vblqueue (to $4ee) _prt_cnt: EQU $04EE ;screen-dump flag (non-zero abort screen dump) _prtabt: EQU $04F0 ;printer abort flag _sysbase: EQU $04F2 ;-> base of OS _shell_p: EQU $04F6 ;-> global shell info end_os: EQU $04FA ;-> end of OS memory usage exec_os: EQU $04FE ;-> address of shell to exec on startup scr_dump: EQU $0502 ;-> screen dump code prv_lsto: EQU $0506 ;-> _lstostat() prv_lst: EQU $050A ;-> _lstout() prv_auxo: EQU $050E ;-> _auxostat() prv_aux: EQU $0512 ;-> _auxout() WSYMmemconfdbasehdbaselvcounthivcountmid vcountlow syncmode@color0Bcolor1Dcolor2Fcolor3Hcolor4Jcolor5Lcolor6Ncolor7Pcolor8Rcolor9Tcolor10Vcolor11Xcolor12Zcolor13\color14^color15`shiftmddiskctlfifo dmahigh dmamid dmalowgiselectgireadgiwrite 'gitoneafgitoneacgitonebfgitonebcgitonecfgitoneccginoisegimixergiaamp gibamp gicamp gifienvlp gicrnvlpgiportagiportbmfpgpipaerddriera ierb ipra iprbisraisrbimraimrbvrtacrtbcrtcdcrtadr!tbdr#tcdr%tddr'scr)ucr+rsr-tsr/udrkeyctlkeybdmidictlmidiproc_livesproc_dregsproc_aregsĀproc_enumȀproc_usp̀proc_stketv_timeretv_criticetv_term etv_xtra memvalid$memcntlr&resvalid*resvector.phystop2_membot6_memtop:memval2>flock@seekrateB_timr_msD_fverifyF_bootdevHpalmodeJdefshiftmdLsshiftmdN_v_bas_adRvblsemTnvblsV_vblqueueZcolorptr^screenptb_vbclockf_frclockjhdv_initnswv_vecrhdv_bpbvhdv_rwzhdv_boot~hdv_mediach_cmdloadcontermtrp14retcriticretthemd_mdsavptr_nflopscon_statesave_rowsav_context_bufl_hz_200€_drvbitsƀ_dskbufpʀ_autopath΀_vbl_list_dumpflg_prtabt_sysbase_shell_pend_osexec_osscr_dumpprv_lsto prv_lstprv_auxoprv_aux QKtgIp!tK_|K=/E#|K`/1%sp!ЯNp!pt\fp!PK}zp!PtKfpRN<&@  Hz?<&NN\BgNA x eBgHz?<=NAPJkM//??<?NAO JcONNuTOS.IMGfnameexitgload_tos;M*;* put TOS_LOAD.PRG into your AUTO-Folder und press RESET. This programm loads *;* TOS.IMG (put it in the root-directory). Very nice for a pre-release of *;* because you did not need a disk to startup the TOS. *;* 1989 -soft, by Markus FriGtze, *;M*;Fast-Load with TOS 1.4;Supexec(load_tos);Pterm0();TOS already in RAM?;yes => exit;Fopen("TOS.IMG",0);File not found =>;Fread();read-error =>;startup TOS 1.4F-soft01```DEBUGGER4pNuJCjpNupNupNu-soft01```STANDARDnpNupNu <GRPA"NNpN M NNpNuSTANDARDPROGRAMM SPEICHERN-soft01``,`JDATAS A CrёC QpNuJEf -Эb J fpNupNuANU@b8 <TSLA NN.-ޭMpNA rNASNApFJDg!|ALLO|CC&`!|EMOR|YC$N Kz|DATA ZrN,XSSS  RJS K NJbNpNu+ >]& g$q$|3DATA-Zeilen fr welches BASIC? GFA OMIKRON ABBRUCH ??_o/7  ?`?@|>|>;\:l6/7 `A%=MEMORY(0) FOR I%=0 TO 0 READ B% POKE A%+I%,B% NEXT I% DATAZEILEN SPEICHERN$-soft01``,`6ABSOLUT A CrёC QpNuJ fpNupNuAPh Jg" ANJjAPh ANU@b(>,-ܭܭM܎ANkf JEgNpNu"pBAJg,"F$NpӒg|e`E` <SBAAJGg *A޽fpNuNNpN N NNpNu"HYgn$ y&$absolutes Formatzur Adresse:$23456 KOPIEREN SPEICHERN ABBRUCH ABSOLUTES PROGRAMM SPEICHERNRELATIVES PROGRAMM SPEICHERN-soft01```FAST STDtpNupNu <GRPA(NNpN M NNpNuFSTANDARDPROGRAMM SPEICHERN-soft01``` BASIC vpNuJ fpNupNu,-ܭܭChJgv,IVJf, /?<HN\.g&G$NڵfEC&Nڵf"GSQ, /?<IN\\"MALp 2QY",MA <XAB` MApBNNpN N NNpNupNuH瀀A ѐLNH oCE&J$رe C&rѓg|e`G`/@LNuBASIC-RELATIV SPEICHERNRELATIVES PROGRAMM SPEICHERN-soft01```SMALLDRIHpNupNu,-.ޭ/?<HN\JgC$I"-g4 J&J"(g&&4|f|@6&`Aeڗ+K&@ K BXSf gJ`rgB<fм`Ё"1dd'`ԟ'`Ɲ'`pOADNNpNpЭЭЭ MN K NN/ ?<IN\pNupNuIM DRI-LINKERFORMAT SPEICHERN-soft01```RUN GAMEM"/?<HNA\.g|M}BgHz?<=NAP<kf//??<?NAO *??<>NAXfFM}"BgHz?<=NAP<k0/}/??<?NAO *??<>NAXf A pNupNuA MRF!f JCjJk"H02fT`pNupNuM Jk< z>"N0S@2SA4.G 4.SB$HQ JQ KQ\`pNu\TURBOASS\DEMOS\THNKWORK\THNKWORK.PIC\TURBOASS\DEMOS\THNKWORK\THNKWORK.PI2-soft01``"`NSAVEGAMEAJgpNupNuA MRF!fJk"H02fT`pNupNuM Jk< zB"N0S@2SA4.G 4.SB$HQ JQ KQ\` <GRPA"NNpN M NNpNuSPIEL SPEICHERN-soft01```4OMINLINEpNuJEf -Э|b J fpNupNu <SABATNN.-ޭMpN J INLI NE "SGNQ"   JNNpNuOMIKRON-INLINE SPEICHERN-soft01```$GFA-INL pNuJEf J fpNupNu,-ܭM܎ <LNIA"NNpN N NNpNuGFA-INLINE SPEICHERN-soft01```$MODULA pNuJEf J fpNupNu.-ޭM <DOMA~NNpN Kz|CODE (\r0NH,\USS);  VJS K NJbNpNuINLINE (MODULA-INLINE SPEICHERN-soft01```PARALLELpNupNuG'M'D@|8MKa$ <:Sj,k*Na߈pNs9g `NqNqNqfNuzRASM!( Аsw`S *?E:\*.SRC`hF[ NRt#>X`Shareware-Basisversion Markus Fritze, Birkhahnkamp 382000 Norderstedt 1KMK"M,K4"M6, D "tt`<RSR0r/~`+/aV ڀL-xLS,y R Z GrG7jtneRHP6HP&r.c&HP H Pt0b%k0b@%k0#h #hNbNbR,y6/v.c zd$j $jZ$jz zps sssx dH8P2HfP+~>:@i`iniDw S 2m 2m &l&le&e!fh!fajajqF"guVJٸH <: 0 d0 22 3$oDwX d %k y0+gbo*JMPUh\t/:bHilAH[XBRATASSW Ns oI)HE"L/ //<JNAO Hz/<#NMP#bNC)OEaUA3@" pӘQA3XpӘQ L.HACE $I2<C"Q%@a})|U?|.6aUN9Q+NT)Opp)@Dn9@Dv9@DhAhF)HDrNQaHBlBlBlQ^QQBlB,>QD|bp9@9@pNN^BlNagpA>| NONA ME.S0RCBaN|BlAP+xr2:JN*2Q+9|:,?gJ,fPa9 lEAJf,J(f&C622p AUhNYNTh2~`rB Cof @C; (:fp@@A??<NXB < g < gJfS g<\f"RE>|  bB" @bHرeBHl;?<;N\ )\g\*.*"g <.fRfB)`FJf !\fR`! D[ t  &TurboAss V1.70 #0 Authors: Sren HellwigMarkus FritzeManual: Christoph PagaliesMarkus Fritze1989/90 by -soft OK .lprBl*l,lx&lHhdN|.lp ,JJ g2<p$XWg:JkDJ@k@Jg@_HzdJ,^fCe|bRC RBNu|ba`|Yn |UnNuANB@NS/,ba(aNSkNKA@00lFd>H~NHlCXNTXL~BACX@ldleNWl`NWN`ACXB0NWN`Nu/,bHJ,?kjg#  P?`$NV2r,DgHADxAJP+NbQ+9|b0,@| 9@drtvA xpNTRldQL)_bNu ,@?e ?eм )@? ,@H@)@@ ,@aNu/ ,?a )l?@B@B?Nu@|H@C@"r 2QLFNuALpTPUdl4Cc^|e,4<`&ALpTPUdJJ,^f$4Ce6|e4< 0RCBc9B`a RBPe9B`9B``SGppSGGoRCNuJCgCgzH>1p<0d`RG1p<0d`RG1pg8<0eGg&2GRAp RGRBSAjBG><)B1pSGCdL`LJCgCg 6><)B1pSGBl`JCg|fJBgSBClSC>ppRG|m`BBa(a$2; <Nu0,lf4,D9BCcv49B`l <Nu0,A2@00lFbh9A<N9l`R0,A@20lFd<9A9AT@209AN Q.`0,A@20lFdle9lT@9pN Q.`9A2,RA9AN Q.`0,lb9@0,R@9@N `9@N `J.gJlga:A0,@<00NH~LhdHlNTXBA"lX0,HpOQ0,lbpNVL~Sl` pNVL~Sl` RBle9BN `9B0,R@9@N `A0,V@40lFdJ.gaA0,@<00N0,V@400H~NHlNTXBA0,BH"lXpOQL~0,Vle$H瀀0,VR@@A9pLNV`8NV9B`*a`R,^ ,^eQ^/,b,^HHH{ 9|b0,@| 9@dNT)_bNuOverwrite Insert I Insert II Nf` UgJg/aJEk2-Ul>Jj20k"JfQ|;Q0,/ CeQ"_*`\0Jk`p-0;gNZ \ DR6Jj0kzQ|;Q0,/ CeQ"_*`JEfJjNp0-|0g-||0fp-`Jj"p -f m`J-gJj`Jj0-fm` -l`Һ|mn m`Hm`>J-k0`|JEfm`m`Jk|`E0|g -Rg2,Flg$5m%|m`ANY`Qa&j5mpa afla\a `\C)I@"l -lHzN\i 1f aNzN\i 1f aNDNuDNup-0;gN| ZjPPP,P|Pj44PPZp0-1pJ-gz0-|? 1ffa0jj`T/ p0-@?ajjHGp0j|? 1fa@7@`||g |f&_`p0+a<7@HG`p0-5@`J-fp0-|?avjj`Jmkp0-aV5@`|-@|g$`j-@0|0g`X0-f`Jp0- 1f8a5@`./ AN """""""""_NuJFga Ug mRg mRgJf fg<ga6ffaf;m;|BBmBm` mRg mRgam B- `X mRg0 mRg(K RF4af a KSFNuSF0N`AH0,@400F <af aL @NuL @`rlld(rҬ|drҬd2,FRAldNurNulFfaJfnafhEN>p0*+jUn>gtD@ l|C2"d3 d# d `HA# # # # QHAQѬ|`8 N",|C0d0d d `HA QHAQ|0`Q lpr- * Agrj8D@C2"d3 d# d `HA# # # # QHAQѬ`8 K",C0d0d d `HA QHAQ"K* @ H j `2QNuatf8r Ӭ2,F$lFeC #"#"3"QBBSmBmRlFP0NulFeNuapt- 0$MA 2,FF`$$4Q NC",|d0d d `HA QHAQ| l0SlFP0JBg6", KC d0d d `HA QHAQNu lp0-k2J0jH `t` lp0-k2J0jrH `t"lifRBg$IC JQjJBf:0Q je"*<g&<g<f L``P`0Hzp0-k6|dN|dp0-k"|e2@ 6f*H@H`"Nug@?`|?r@6`XH0;gNZZZ llllllll lAp-1Nup0-lgP2NuSl Nup-|fp0-@?`Fp0-k`p0-|0fp0-`(0-gp0-`p0-jNup0-j@?2 0flgP2Nup0-@?"aTC0k<g|fNu@?Ha`H`a``lFb4g00,Vlg.Rl0,@A00r- K RF@eNuNa00,V@G<30rLhdl` - K QNuAeC0,VS@QQAC0,V0QC,R0XJgQf0RPNX0,lS@`lFbpa`JFg,Jlg(Sl0,@A00rK- SF@bNua <,LhdNu0,VR@AeCU@!QQ0,V@X@AC0,V1!QC,RS`0XJgif0NXj0,lS@`$Ldr) C RlQHdNuLdrC) SlQHdNupNҼlFg mRg9FC2Ap?"Qaa`lBlHB0,NXEr 0|gFe fpS@5@QpAgPdPgSP`be hf `SPA,RXJghbPg$bSXSXJf0,V/AeQ _aaLhBNuNzaaLhBNuH@2,VRA0,AeQR@AfLNuaf9|9Fa`aEr 0FeR@g5@QpAgPbPgRP`bRPA,RXJghbPbRXRXJf`a0Nu0<,9@N|`$4<; :Ej`4<;"K M2p|g(A( SAFgJ( gQf<N|`:Dg2,F l"l`:Dg|N|`4<; :D`4<;"K M2plFg,JPk(( A RAFgJ( gQf<N|`l:Dg r l"l`:DgN<N|`BJlFg: M2pASAe"FgBp(g;Pf:<N|` :D'g2,F lFg`:Dg|N|`J,?g<N|` a,a*`JlFg~ mRgaJ@g9F<N|`^ Mp2lFg0pA RAFg"JPk p(g/Al0 _gJ,?gNu:C?gr l`:C9gX<N|`p-gn-aJ@fA pNYN`N<N|`&@No more errorsA>NYJ@kA\No"a`LlFbr9F<N|Bl`^&&PC-offset = $0lFg M0R@A lFgJhk<N|`JFg M0S@kAJhk`H@9F0,"M2lFgC RAFgJQk if`"lr`H@`H@ANYJ@kz|gt9FArp|9b|0dDN|J@oJ"M2lFg"C RAFg6JQk0)k lJPkXf`"lr`ta9F<N|BlLa\` (<("&(V$ (_123456789123456789012345linenumber or symbolname: CANCEL Jump toHp< g|0k| bҁ&҃ҀQL Nu ,gpA(1|NYN`NY`.ATCpWA NY`(*=)*-H)*T*d*w ) * * * )** *)*&- ?- Blue Byte Software- Christian Markus- Laurenz Prner- Karsten Isakovic- Thomas Quester- all our usersMany thanks to:- the hole Switzerland(for his VDISK)(for finding bugs)(for the AMIGA-Interface)(for his suggestions)(for waiting a long time)(for AS-OverScan)(for his packer)(owner of this program)pJ,?fp@?B,D`CJQg A A"NYkܼU@kBB`Ar""`ܦ++ ++$ +&Sourceprotection:Password: PROT. OFF 2345678APh hhJ,-fhhh A"NY|fAN|PJ@kg` J,gjJlFgH4>489lF:f6t:f"J,-g9l4,Be 8,ldf480N&l$lJRkavp@g*JkHEREHE`ʼRE mRgt mRglaDjx*<K RBDgLle:<=g t:g4,Dg,0N&l`:<g<,F:Yg<,N|L|,`K RB -Tf`9F<)CNL|,N|HHlNTXBLA2,PkVfdr Jmk g :fgSfgS2,Ng$C0HC)fJgfSf #fR AȐ9@`&g<(g <,fSAf`pJg (g )fS@gR@R`HA0,zJUkFJgBrt zmgg :f :gSgJ ggfSgS$B@cL NuRB`RSB`N&lBEB& -ltxgFJf,<"g@<'g:<;g8<(g<)gJBf <,fRE&QECPN\hM`x``z` 3fxHEBEC4UBoV CJBoPr0gTA01<g:H|EEWfSBJgfRSBRE0TgT`HE` tg@Jf<;gr<"g*<'g$<,fRE&QpC-0;gFN `t`^  Z"`bp0|?2CpSAk0k<g*|]@j0)H@jU0j|?`JjU`RA`p0|?`-JEf <0<0gC`JQk`-<<g`0-f`p0k|?`8p0|?Cp0@C`J-k`/ JJPk Xf _DNu _DNupC0kaj~BE`adk@NuvJEkvp-<l^|nRg N\i2 3gJf4p0aj4v:<N\i"2 3g H@J@f p0`bz`DNu0; gbCN`r rBDNu0-@?6ANYAT(APh h J,-gPh h A NY|g|f҈NfA P~ gN|J@kg9@EnpA<*gJ2orCpVg4tARBJ2f<?g<*gt:gH&l,l9lFBlQp0kKC?p"#@#@#@ #@#@AVr<.fRARRAJ2g`<?f`<*f0k R@|mA?B(JPg2aJ@jBA?p*Q`pLxP0J,gPNf`F#A?#;8PANYJ@k|g|fE45|RgJH$t*l,lx&l*<aj6K RBlFep0K-|L`$En`pf :E0a `QQ`p05Pk2Ag=Nu=Nug 0@;PNu2Af0uP@?uPNu=DNuJ,-g"QH8,0N&l$l*<aj.PJUkRDleJ,f ANYLx8Nf`PH&HGEn/ C?""p"#@#@#@ #@#@ArRAJ2g`<?f`<*f0k R@|m&lA?B(aJ@jA)H@N A?r"Q8"_Qgbpf :E0a`Pp0QQJCjB2J3j2H 4< lAXfRBPHJhj2LJAf3`3Ld*k HEREHE`z`:mfΠJ,-gΘH*lp0, 6,lFc6,FlSCQ&lHp0-kP pK QL EnCA?BBBBBBA?rpJ2WB Jl?g@$Hr0-k.HRAg Ja:BCA?Ha,LJ@jp"QK QL/ `pRA JaB`H8 p&"l4,PBg"J)f$I CxVfLNuR@C `pLNu!;;d & (V$ ; ; E ;&D ;. ;: ;` ;b;K;~;[$Search for symbolarea: all block allquantor:existenzquantor:and replaces by  *?1234567890123456789012312345678901234567890123%<<=$& < <=$ =$&(V$$<<(V&"< &(V$>Repeat the char '?' times.2a!J@g̬a2`̐HM?<NT I BUGA BOO. PRG&IA=|aa`?<Hl>?<NNPJZJ,fE} <GRPa6kJGg lf#VN=ACE #x2<C Q.<f!ALHNi!I ,?萼 @/?<HN\ BHzHl>/<KNAOJo)@DB/B/<KNAOALt"hNaL!/?<IN\ x `-f* Softf")`tAjVp(4(P9| N

IEfAJGg:)|,J)|,NAkp  QpNJG>NLpNJL` LOAD PRINTERCONFIGURATIONP+A>|C>g<.fS 9(ᘰ< g.ᘰ< gfBAE|C,r!< fBQAa3JGg~pNJBgHl>a|?<=NPO9@>k B, aPBl|1NS9F9l9|8`nMERGE ASCII-SOURCE 0kB of 0kBBH?<//"?<NNAPJ@k,?</NAT @"(p dTAHAP+xNbQ+A 0A0LNu/AN`TArT :m0 f0R :m0`A`0 _NuNBgHl>|aV?<=NPO9@>kB, a(AS@J WgBlbP1)l<9|8BlNS ,U@9@ ,x)@ ,)@ ,)@A &AN*0<tBl< fx RB< gSr`6(`0,?fJAf$| Pl8,BcD@d?<?NO Jk B1aHNu"pNJQ1|Bl`!G^Gq&n3? lines cannotbe tokenizedCrpNJADP+/xNb(Q+ INYCx`pNJA NY`&HZ (V&n3Hm Hx (V&n3H Hx (V&n3illegal fileformatload errorTOS-Error -??save errorp` a gPa4kFA>|C>g<.fS 9(ᘰ< g.ᘰ< gfBC,r!< fBQAEJBgEa-$kJGgA>a,dkpNJBgHl>?<H V*l,lx&l<,FJBg0,R@g<,l0,awC$ E``r- K SFeBJUk> mRgHHlawX gB(LAf|  maV`gaNLjPzNJ@k pNJ`"aB,>`SAVE ASCII-SOURCESAVE ASCII-BLOCKHl 8/?,>?<@NO JkCưeNuLjPC>` 2XO?,>?<>NXOa*LjP`bp`Fa $gVAdPhPJ,-fPPhANYJ@k |gN>g2pNJp N>pHV*l,lx&l<,FSAg20,R@g<,l0,avp`,+f~r- K SFelJUkhHHlavX gB(LpN>pApN>JfpN>p -RfJ-jr- K SF mTf`|p!N>ppNJLj@`*AFNYS@o`L6LH& LN$(V$LV(V$ Lm&Print sourcetext? ALL BLOCK Printer do not respond AGAIN pJ,-g A NYS@NuL$ LL& all or Block LOAD SOURCETEXTLOAD SYMBOLTABLEMM3M?&(V$The sourcetext has notbeen saved! CONTINUE P`J,0ga^gANYS@fA;C>|J,k,EI <CRSa(k`JGgZpNJBgHl>|?<=NPO9@>kHlHx?,>?<?NO Jka.C I0r>XXQA0r=XXQAr=pXQQfpNJ)i:)i\)i`Ed ):aEv )6aAz0E(4/A+J(Lf )\`f04pANYN`^Ji\gDAB PPP+ANYQ+J@kA \f `g&BBN`"/A0 ( _^f`pNJ9iF9ip9U@j9id:pA1>U@jJ)JgpAX1JSQ`9iJN9iLP9iNR9iJT9iNVpAX1PU@j,?p)n,?)Zg@baba@C l ) Ѭ"Ҁda l0 lx )Ѭ|"Ҁda lp0,Ѭ"ҀdİgL ) lC?r""Q l"U<|ah"la4 lC?p QC`aF l )Ѭ"ҀdXa.pNJ?,>?<>NXOaa"Nz<)H`TJg//?,>?<?NO JkNual`vpNJa\AehNYBiH`J,?gX ,?䐩jf o:)ij?)if?/,?<IN\&,?䖬?/?<HN\)@alNuH@.a4$ j TrGa TOrGa XOrG|Pa THGOp?GOrGa Tr2` 0QQQRRR) R@Loading sourcecodecreationdate:, 31.12.1988 12:00last change :, 31.12.1988 12:00Please enter password:01234567g`pkBQ`Nug eBPNurRAg gB`B`Jg ReCNugJgV` <MYSAg<.f|.SYMBC> <MYSEa#Pk|gA>aJ@kfa1`H|`pNJBg/?<=NPO9@>kjHlHx?,>?<?NO JkLCp SYMf>4,$lHlHx?,>?<?NO JkgC*A2`&9Bp?NpNJ0L>NugDA Q !i!i!i!i!i !i!i|RBv ׬`.xWD&1@@VfJ(j$)(f !iiC S@fZ`0!ii|`HAqC;Jg.fPJ(g \fRC>|JgfPJg `LNuHA>|C>g<.fPRGBLNuJlFg lJkf fJXgNuDNuagNfHpNJN6$A;p@A??<NX"HJfS!<\f ):fRBHl;?<;N\C>|g<.fS.SRCB`jaLg~NfJ,f^HpNJ$A;C>|g<.fS.SRCBC>|E <CRSa pk8JGg2a|DA>|J,?faDakpNJaLBgHl>|?<kCFpBQah3|p3lF3FHl[p3U@j3l:dpA3>U@jpAXJSQpAX3PU@j#l?f#l?jp,?V@n ,#@/,/aj ,gjH@"l I$laƳdP lAC?r"QCY@!Q"lA@$labUA?E@aT )@L#@/,/ ,|x#@/,x/ ,#@ /,/3l#l\#l`lbZApr=XQ I0 0(r=XXQ I0r>XXQHlHx?,>?<@NO JkDC>|ror?,>?<@p&/gNO JkJe`QNJ@k8Q0`B,>pNJ.BLaJ,>gJ,Dn B,>QD`)@>N.BLaf ,>`.BLaVC>|pNJANYN/ ?<AN\|0ahzBlHhdBlB,>a,4`PLC>`JgbH , lR<""lE?$$$$`H@# QH@Q lPP"laT lE? BLNuH瀀 lS0,S@kA JfJ(fB`LNu!Yh (V&n3The disk is full!SAVE SOURCETEXT/?<*NT4HB?<,NT4#B6#l:f#B:$Nu@@f"|b<04|glFb <af`|bf9`9` l2;t`PRBJXkf9` HA pN$8$OAH!A (A!0< || fA|Nu.J!<Nu@H` @HaeJ?<|NN|T&2Y<A+2I<?A+<@@+??<-NAXHC??<+NAXLFNuJ,DkBQDJ,0fJ,/gaApgJ,0fA&NYJ@kU@gS@fP>`QD`n*3[\ \&\$$-[[$[$[&The changes have not been saved! CANCEL QUIT SAVE Do you want toleave the assembler? YES NO aN=F'"8AE C0<C"Q!! F#N=2/,E?< NA\BgNAr,+Aar,+Aar,+Aar?<*NTr@AFaZHr@A;aLHr@|PA,a:ar#^A>NYJ@kS@f$AB < OFFg Q?` ON P?`S@fAak|Pk6AakJAg| bKAAakJAk|bzKA??<+NAXHCAankb|b\6Aa^kR|;bLKAAaLk@|;b:A+IKA??<*NX/?<NN\Kp?C@+KpC@+`4NT`*prtg| g@0 @t`JBNu 0 0HANu*^^^^_ _ __ %_# ^^'^ _&_2$_>$&Day :Month :Year :19 Hours :Minutes :Seconds : Today is a CLOCK OFF SET CLOCK ?<*NTv@Hr@Ht@||d| SBp0|8mLDм dHЂ4SBHЂI| HЃ\HB@H@A4QNuJf`MondayTuesdayWednesdayThursdayFridaySaturdaySundayAH/,bR,+P+NS"HpEN`TNSk*,+f ,+g`a4f,+f&HSSBJB` ,+fp)_bLS,+Q+`$H0,+r2,+H>HUAkl<>L l@SBDBJlVDCKBkLCkHt IJPk@A (gRB6(Ce$hxRJfDCd6(CeRCCdADNutDNu@aDaab   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~NfP+HHxAr2,FNb2,ANb2,ANb2,ANbH0tv l2,SSAk*A Jgj bgHCRCHC`RC`HBRBHB`RB`r2ANbHB2ANb2ANbHC2ANbL x",|xANb",ANb",xANb",ANb",?A{NbQ+LANYS@frA ? ? a[bJ@jT|f*/,?<IN\ ,?䐬?/?<HN\)@ACxr  Q ,&,?䖬?aYCxA rPP ScH0CxA ,"(,bVr$X&Y љXXg`H@6QH@QQ lpB@ !@L ,lx*l&lHhdBla[`hrCA$$X&Y ёEGg`H@7"QH@QQ`A"NYS@fa4`/,?<IN\)l?)l?)l)l ,?䐬?/?<HN\)@ACxr "И""Q)l`'eef ff.fBfVfh fz f f f fff$&Number of lines:Program (Bytes):Remarks (Bytes):Number of entries:1234567 of 12345671234567 of 123456712345 of 6553512345 of 16363 for:12345 symbols12345 formulas12345 DC-Lines12345 others REORGANIZE memory for code 1234567 Bytesgg2gF$(V&The memory is too smallfor the sourcetext. CLEAR p F,?gpj`P+AjP",?JjP`扂xANb2,?Aa2,?AaQ+A@V0^0d0jA:zNYS@o\P?:fAjtra| dr )A?ADaJk9A?1B1D1FA0a2kl?g9A?1@`i:A@V3i3i3i"`rpt<0k<bIQDNuDNuptp<0IQNu'  (V$ &iNi<i@iTi`igiDiHiKik i{EiDiD i i:~000555999V:H:ColorScreensaver no secSearchfunctions from beg. last line normal Search-CharP+rAdx2,NNbAW2,PNbAL2,RNbAA2,TNbA62,VNbQ+rpAPh 4XV@ pAQANYkU@gAaZi9ANAaNi9APAaBi9ARAa6i9ATAa*i9AVrA*pPW| XAQa:`Vrp< g0k"| b20k| b @DNuDNu4 &"(V$l2lAlLlW la lmlll l l l{ll l l l#lD+lD#lD+lD#lD+lD# lD+ lD# l#D+ l*D# lD+ i`D?????????? A7 SP RepresentationCommandtabOperandtabRemarktabPseudooptabPseudo-RemtabOpcodesPseudoopsRegisterStackHexnumbercut number caps small yes ANYkU@ga*A>| NONA ME.S0RCBaPapN`BBBP|B,0p)@r A0Qp?ABQBlBlN^ ,|,lx)N| NdBXBQ*l)M M0,F`BBBXQ:;@BmBlF&l)K l)H0,`BBBBBBBBQBlBlBB,VB,R| _Hhd`n*3nn$n#&Clear program? YES NO ??_o/7  ?`?@|>|>;\:l6/7 `` 7o 2e2e2e22 2}2}}}o7 `ypAj(NY(J@kw|g|gwڰ|gtAа|gA ]@k AgA0,U@lf4lf.4,0,@>@0pRGR@|mB1R@|mpg < ga`P/`w`Hx@Ap @ @`VAFa> % ( ) calculate transfer formula EXIT without sign Operations: + - * / & | ^Signs : + - ! ~ *ERROR*C"pHAaHAYaYpNu0123456789ABCDEF/ptQ"Nupg< g<ae <{dJNupSNu<0< e_< edNu<7DNuv;0WJCk;0 Nu%@.$ HJgBBDJlVDDJlRDDvdԂփ`pbd|mDdD$LNuH?,OAa>a J@fLLNu/a$<+faarԁi,`<-fa a^i`ذ<|f aaJ`Ȱ<^f aa:`<f >f Raa `"$Nu/aP$<*f aaBa`</f aa0a`ܰ<&f avaā`̰<%fafaa$`"$Nu<!faLa JgrNurNu<~f a4aFNu<-g<+faa NuaaDNu/<(ga&$Nuaa̰<)fa$Nu.NrpLNuH?~<'gL<"gFt ak4aae S`PadJr&HCHCJCf҃eҀeaaeL~NurgJf(g< fSaj`Sa}J@kr"aV`HC?$H/ "#X#X3P Jg .fS.BAKB?<ANT/ /<VNO LNu?</?<NNPOJ@k<,?g&pNJ/A.NY _?pNJ0U@k/?<AN\DNu!v(V$v%&n3File already exists! OVERWRITE H)JB^E=|)JBVr$QE>)JBZr$QA>g<<.fJn:C=|JfSI!<.g<\g<:fRI\*.f`*Jg|.@H@B(`A`*a" lBVp :f <AN6`N6 < N1N1~Bl@V ,AXN1~ <N1aL$lBZJf~JGgnE>p"QE=|"Hp"Q"HJf \fRB ):f"p|A??<NXN6JkTN6/ ?<;N\JNuHN?<NA\?<*N9@>,N9@TB,l0,zh2<S`Jf .g.M Q,l0,FS@PzM Q)xaJkA"8 打Wjp )JpNJ" p gAbJ,,gA:2a}Q+A H@|g$ =|g S|g +Jg pNJA4NYGJGLk<aBPa`H l"lJlgJijC JQjLNup0)0`J,,gP0ayZ0,aBHhd0`BrNu4JV /(Vdtt(t t t( t t t( tt.t(>tbEiD'tD $(TEXT: DATA: BSS: REST: ) lines with errors and warnings Bytes relocatable code produced.relative code produced.( lines per minute)symboltablechoose  none standard extended CORRECT  -  -  -  -  -  -  -  -  -  -  -  - -&n3s&(V$Symboltable with symbols produced.Assembling canceled during 1.Passin line !!Codememory is fullUser-Error (FAIL)File cannot be openedno PC-relative program produced SAVE $lE$j,C6g,gJf`ggf`"K&HfSfpNupNuSIGMA=|M>/?<NA\GA;aHzg4XGa,<\a&08F|A<:aR Bg Qf6..aNu?</ ?<NNAPJ@jNu../?<HNA\,gBg/ ?<=NAP:k//??<?NAO (??<>NAXff,F V`f..MA Ejz -sofD ft01f:HNLJ@gRE C!ZpQ^ .SXNu TURBOASS.DATH2g<@g<BgL>NuS@`JhjSn~J gkth oR$ B$Bt`R@A `Y(4(D0|0g((DgR( D$Dxt`t`$3(`4((`(4(D|f$3()B )H9@``JlkXS eg 0, l`D9|`:JhjP'`,R@A JPk4(|*g|,f``|'`J,'jR@A JPk (,fQ'`Q'``t(9B`Y``T`t4(9s("P$`J,$gJ,%fJ-k 4(l"fP%`rR@A JPk(<Bg̴<@g<DfQ$Q%`DH|z9|Q'Q$Q%6<tpJAg lA&lR@A жhnngt(4; g^N X4 .f@V:Ae (<g <gL>NuJ(gR|`(BgR|`JhjSAgJ gkh oR$ |$Bt`R@A `r2,g0 l"lBQtJ(fJ(j (jTRBBQp QSAf2P+Axap.Q+ArPh PJAfPPh A(NY|f<ED <MYSAakJGgA>akNSpNJBgHl>?<KC>*SYMHUHx?,>?<@aoO Jk&l$lt? Mp !j!j!j !j!j!j!j|SFWƑHUHP?,>?<@aoO Jkdf JFfaor`LC>`LSAVE SYMBOLTABLEJ,gH&,,C?t½epր",R"A*A&l4,pDJk& ,gSBkJJ+f>"" +B <g<g<gJF"pѬRDcG ` l 錘!Dg*$I"lAT"H$Q M "QRBLo=gH瀀ANYLNuSBkJ+fd"" +B <g<g<gJF"J+g|H"""2RDpѬpѬRDc0-j^UlNcDGNpPRF`<<<< Xpr2-4Jd$@ 3faTJ3jVJ3gTjRA"3Jkjf4BgF$,Rf /pa 'ԁ)Bp` paR`&p`paFAr`'Ӭp` Bg$,RB`g pa` 0- g V( g V)gQ*f|*gQ*f|*gJk lg W+` :)YJ-V` *JljVp0-4Jd 3faJ3j,J3gj 3)@ 9F)I)Mp`pa2p`pa(p`p#a`p#*la` Jlk"S eg"l*l<,`9|`p$a`pH@0tJmk 4-ԬNuJ,'f^m?a`JgP'm`J23H``RFPJ]k"p0|*g |,fp` |'p`p Ka``jp aV`0-?J3ga"3p-@JNNq`&W`"V`^`\`]`_`[` Z`[`ZNuJ,'jRFPJ]kp ,fQ'`p!a`|J,'gQ'`np"a`d$p-"a"aԀ,B`DPD~/ r2-At \WR C>t WAC<|gذf*.*BCBQJmg WRpR@f| B@p"_`/ r2-A?<Hh ?<NaePJ@kC> )eڨopNJBgHh ?<=aePJ@kR9@>Bg?/(?<BaeO //f.?,>?<?aenO Jk!@aeNpNJ"_p`pNJ"_pH@0Nup a XpNJ"_p`"_`pr2-A (:f@A??<adXT/?<;ad\`r2-AaJ@f` -fg)@`v)s`jB`b ,ѬB`R ,R@)@`@p0Uc&B W,@<`333D333R3v>-<0f60J3ga.3J3kp`J3kpa` Jjpa~$-||@mgZB ,@fpaԚcTp0-kf"',3`,Q`~`pa~`B ,@fpazcp0-kf"',3`JgCp0k&|e,`,J-gC p0-j`PMRF`fZ`r@Ag2 J3ga >$3J3jdgDJ3k6|/|d@8|f,0@H 4k:`66fH2I@8AA`0@?|(k|b H 4k6Höf0N B@Jfpa<`pa$P,`pa`gDJ3k&"0Hf00Fep8ar`AAg8N0HgB@Jfpa`0||Pfpa`p5aP,`Jmj0-gD@ 6`fp1a|g|c HBgNp)aNpS@gp0atN|?HJ3gaJ3j"&3A4TH2XXf2gNpa&N`pHN@nhP P@PHHZJg6rb0gN HHfCN BJf paCNpaNr f.`r fV`Jmj0-gD@ 6`fp1a|Ug0HHf&C` ag9|`4p0-2IdrJ3j J3gj"3Ag",RAҀӬr`Ѭ`r-Ip0-kJ3gaJ3j2)`B|?g]@k @)B`p)p`pa`JgR`p0-a0r2- 3g '7p`TAp0-@?AJAgRN @,@|g2p0j@?J3gaJ3kpa`P,gDJ3k>$J&k$*Yn(`&<cSn`hSo*pXN0@|g2|fr~`H@X@0@|g|fN~`0(A`82p0j|@?J3gaJ3kpaL`B$3gDJ3kJl:k :J:f Hg B@Jfpa `pak >J>f HHg BJfpaf`paNRN0@|gV|f~` H@R@0@|g6|f`~Jk"fK RF` - l2RN",A`$` 0(A`"p`$p0-|0|0fJ3jJ3j 3k-AgR"|,A~`~Jk(fK RF` - lRN",Afpan`H}A3($Ovp~< fV<ar 3g3gF`D'|bJEk WLNuJ-f|Rl3H LNu|`|Rl3H.J`|`H0aR6$ g>< e8<b20| @@H{ a,vNuW`U`R` S`T`VHH`":L NuH0ax6$ gZJf ahEԁip`<f aVEi^`ذ<faD`̰<fa8`<f a,JEf`<f aJEf`":L Nu|`H0a`6$<fJCfaPJEfaBi`<fJCfa6JEfJga`ʰ<faā`< f aa$`":L NuH0<bJf.a0O<<L Nu<a<?c<@L NuS`zrkf2`4"`0r2kVJ3jDJ3kf2<VHkz"3gDgFgJWHHNu|`|`|?I2;N">*6"z`",`r2,`r2,`J,*^HH`J,&V`H?<NNT/?<NNT"ቂL`\H炀 M(<RgUg(ASFf` (gJ(WLAaD0aLA`.x -Rf.n mRg.dH MJ-W-JXk Rf PRgAP`LaDR0aN`.(lFg. le9|9Fa~`.lFg.9FlbBla``-p)@aR`-Ta`pg-0,ld-lFg?aTHh4,lFc4,F6,FBWlFg>SB l"H2<BBBBQ lU0,FS@eP2kARq`ar- K Q"M lSB 0Q l" ,"K`H@0QH@Q l" ,||"N`H@0QH@Qt4Cr 0|gleld3|`iQ lFЀ"Ёp<,aBaP0Bl` lp0-k*@Sp20 lSAb0JAg0N lNpg,<0,ld,0@ele,$H8H?aHh4,lFc4,F9B_0"M$N KrS@) C QH(,?"l$,g" l `H@0SWgH@Qc< l ,gS`H@3 QH@Q"W l S`H@2QH@Q`8 gS@ l`H@0QH@Q"l S`H@0QH@Q"l$,g" l `H@0SWgH@Qc@ l ,gS`H@3 QH@Q"o l S`H@2QH@Q`: /gS l`H@0QH@Q"l S`H@0QH@Q"l$," l `H@0SWgH@Qc l ,gS`H@3 QH@Q"o l S`H@2QH@QLh4,l6,FCr 0|gldFeleC3@`B3@Q9FB9FLP0Bla?a N /gS l`H@0QH@Q"l S`H@0QH@QLh4,l6lCr 0|gleFdldC3@`B3@Q9F9FlLpa HhdBlBla?(a &Npg(0,ld(@cldlFe(H8H?a jHht4,lFc4,F9B8_0"M$N KrS@) C QHԬd Ьd Ьd Ь|d$,gR l g(TC `H@3 QH@Q lmլլլ"W l S`H@2QH@Q$,gX l| g*TC `H@3 QH@Q lmլլլ|"o l S`H@2QH@Q$, l g*TC `H@3 QH@Q lmլլլ"o l S`H@2QH@Q lr01AllFlbllCr 0|g FeD3@QLhG&,rSD$K0`Q%mN+jE0H`kA/Hx}?,>?<?aAO JoaAr || ASMfXfPp CN2QpC?2Q,?VD@?C."C# XC < ON J,?g < OFF"0<C"QXbX"lEJ)faVkC;fA@0?0,?000p J,?gpjA> NONA0ME.C. rg < gQBA> NONA ME.P0RGBa@J@g)|,J)|,NHx?<Ha@p\O$)@?J,gal r aӢ)B?)|@?J,j?&,?䖬?趼o,/?<Ha@"\Oaa0 l0BlBlFpNJNupNJANY`<0, l`BBBBBBBBQNu pNJANY`Ht?<a?T2<AmX<PnR|A??<a?~XBgHl?<Ga?nP"HJf \fB/ ?<;a?T\J@kt\Hl?<;a?<\??<a?0XJBLNu': & (V&The memorysize istoo small!The format of the .INF-File ist unknown.LOAD DEBUGGER ,?䐬?萬?,?gJ,g0 m@?FNuNu"@ ?Љ)@?S$rapԂ rabԂC/$< "eӗ"$<eր $)I)Ix)I|)I)I)I)I)I)I)I)I)I)I)I/$r aS2Cf< `C `PART LIBRARY <`< <|`| |@  ` H      @ i M @JMw LM~0@J p0L HHJGNqNp~NsNwhNuNvNr]H cH 3NP8N`8NhH@ N@NXAK8DP8FWN8@#NXHdH@'A BKDS@OFJJPPPQ`a`Wp K K ]] BJ IJM   P 4J ;JM  =KBK @ H   -J &JM      /+/( +( lpl8 p8 tyt0 y0 ROXL.WROXR.WROR.WROL.WLSL.WLSR.WASL.WASR.WADDA.LADDA.WCMPA.WCMPA.LSUBA.WSUBA.LLINEAMOVEQEXT.WEXT.LMOVE.BMOVE.WMOVE.LMOVEA.WMOVEA.LMOVEP.WMOVEP.LILLEGALDBSBADDANDASLASRADDQADDXABCDADDIANDIBSRBRABTSTBCLRBSETBCHGCMPCLRCMPMCMPICHKDIVUDIVSEOREXGEORIJMPJSRLEALSRLSLLINKMOVEMULUMULSNOPNEGNOTNEGXNBCDORORIPEARTSROLRORROXLROXRRTERTRRESETSUBSUBQSWAPSUBXSUBISBCDSTOPTSTTRAPTRAPVTAS.BUNLKBKPTBWL?2p?i@6;0)X|~{0)j|?Jj|Aig\Hzf0@|Hf"Eg<Ae <Zb,]`xg l](L"oPb I f?r2J-k80@8| gaa2,xN JGfDERJ- f Nua `J-f-k?<`\| J@g|0H@|0p~Nua Z`"??N.,x0r2JGf:J-kaNabDERJ- f NuJ-f-k?<`XMOVEM.W ???BERJ- f ^NuHpATQ2LNupJAg(Vg a&kJAgg-WR@akJAfNu/`@,[ ,[HS@NuA7A6A5A4A3A2A1A0D7D6D5D4D3D2D1D0a7a6a5a4a3a2a1a0d7d6d5d4d3d2d1d0aeERJ- f Nu:)0EE/Jkg(<Ae <[d,]`R,?ga $_`B$_Jj0@H|f2 (dg (Df" (Bg (bf,]RA`h mf| ,](  gF(`@T F HILSCCCSNEEQVCVSPLMIGELTGTLET F HILSHSLONEEQVCVSPLMIGELTGTLEJEj8.]B0@g |gtl]|@g(L`(WJEgL / $o Pb J$_JEg2xHD N:L"JGf$6KJgHD ,xNL"JGfDNuD JNu` BGJ5@f5@kp?C@0; EN L l L ^ n ~   b j r z   2 D ^ n D ,<#J5@gjr25@|?`2|?J-g#A?`|`|a,?f0R2.AI[ pRA ( Wg ]NuInit Putpix Getpix Line Hline Fillrec FillpolyBitblk Textblk Showm Hidem Transm Undraw Draw Copy Fill |`.Y¼fr`-(aV)Nu(aJ)+NuJg0 gR.]S $oPb J,<`2,<` A|fJ,Yg[S[PNu[AA0Nu[DAA0NuY`Y`Y`NY`X[C[C[RNu[S[RNu[U[S[PNu#2,<`Zr2,<#J5@gD`Jik2)ggf AgȲ|@g#"|`?a2(a)NuY`~BCp8A|8gH` pA|d^@_gV|g|g|gX|g\|gD| g|@g&|gh|gv|gx|g|g@PNu?2?J5@j|<5@g-F?"a` ,<aF2/(a22T`2H|a(.wNu"|`2,<a ([P[C)Nu2?J5@j|<5@g-F?"a` ,<a2([P[C,DJAj|A,[(0X@@0.w g|l)Nu?<`h?<``?<`X?<`P?<`H?<`@?<`80H@8YA@A??<`5@g-`J5@f†Htf*+t†05@g -tD†B4BfB|gp|g; ^g; Z,Oa"?Jfp0_<:e^SlRfL@NuV||"pJgfQL@Nu$%& $SlRM`J,ZgMHzJv|cJjHAaHAYaYJ,XfJfJCg HPtA| UlRLNuJfa`0123456789ABCDEF0123456789abcdef%SlRpJk pHAJFkptJ,Xgt0SlRҁdt|1Q`*JfSJ@f0`\|H JAg|0HA|0r"_Nu/ "lHk,CJ)kJf 6RSlRSlRf< "_NufA?g ^^UlRCSlRf< "_Nu*DATETIMERSCOUNTRANDOMSYMTABRELOCUIg@f-`4~`.|g )|@f )gzpA@t;qg|0g (|f2|0g~|g|!Jjg-2a`HzHrtg"|`&2,<`"_Nu+-|^<<>>*/&%=<><=>=<>"og  ұb I$/ԼSBg&g (fr@QSfS`SNuHbUEv0|2*f|2CYo0)@012*@CT_j(|gb2SgJf`pg"Crf,j(`LFNu$(-DPO"CLEADSY"MARKDCAS"IMMEDASYN&NEWOfNEWTOOpan6NQAPh hhJ,-fhhh Ala|S@fUAp VJ@kPAC:gEorQB`VQB`J!  ݦ & (V$ D E D ݢݤ lDi`E*?123456789012345678901234567890Search for text Begin Cursor Block AllquantorExistenzquantorgreat=smallJ,g>:#f,9FH9lFL9lJRlJ:f^J,-gld.`>J,gBH9lFL:f49FH9lJ:f"J,-g9lHBlJ0,lFd9lL4,HpakHQ30aF::2,Ja~LhJ@k 9BH9AJ9A9F<apak`n<apak`^p- K RB -Tf`JXL`k8"Aƒ//?,>?<@aO gaHl=?<Aa\`apabNABE#pakJGgAaqZS@fHl>?<Aa\N.(V$ & ,lDi`E3lDi`ErD%E~D  (< OE YD aD lE# i`DS BackupKeyclickJump into debugger nothing start start & return Symbolnames caps small both Extension for ASCII-SourcesAutoconfig by loadingERASE FILEep &N_&(V$n*3Sure to kill thefile:Attention!Only lines that added noware converted.H@Ar,?papAIQ0paV p l2< Q&l2, lGStRSAkG J+fJkPt`JBgX$l*lJUkLaV2,&lGpG SAkJg&&&&&&&&|`$lp J*o Sl`paUtL|>Nu,lx&lp-<l$zaia*zaiaK JUjNu0;gNZ  0-|?Ap0k<g<fH`@?/a~ _p``Z0-@0|0f0-@?a\`>0-@|f0-`J-g0-`-g0-`0-kv`0-`p0-Cp0k|?a`2 3gQNuCRk TgT`<g0kQ`JlgH|>paSp l2< Q&l2, lGSRSAkG J+fJjP`$l*lJUk,a*lYp4,FSBeK JUk0J2g|`paSXL|>`2|:gT||gJ2||`gQQ9ThPP pPr21a# (fT(0(B(`FQQ9Thhh phr21a#`JgHxp l"lxpQP0k(g<)gڲ<*g<5g8<f02||`f2|?atk0B)3Ap1@B(`<2gP<7gJ<3g(<4f2|| |f~2<Q2?<>aXNu A?H!|NAI @L?.>NuGAangNAXJkf GST-fF CFG:f>Anp JgQJf\)N,Jpg`R)N,NpNu TURBOASS.CFG ,,Fg /?<INA\pNuHCrrpJ,`jCsg*<;g$fr`Jf<"g<'gq``L`vHQ;ACp?"QBA)H@AzGEp&'@'@'@'@ Bk7@7|THa,6gT<;gа<*gJ,`fB.a"f Ga#f G.a*`2J)jnmghJ)gZJ,1fTpaH̐9Hd$,br2)| bxa)BbaWLaULaUjaUL)@+| fB+)`Q7Aa+nJg ;g *g.a! f, Ga#B gp<@i6a:f`&J) f 7i6a+tp.8) "iNpa*<;g<*gJf-<e< b+gf |9pBlLNuQ5̐9HA"l@&lr`$$Q$$$$$$$$|eGSlYd)KLNua)`vpr+]Ak|b9`p`D@` g <.g < fp`p @ WRa p gp `Lp`FHx&|gfE HMbXSgJf`(,Da) ,f@R$ Bpg0K2gRvfJ-jpAF+ +`p`pLdNuH@Cohrg < g <,g<;g<(gq`| LNu7|@p`g.<;g(<*g"a!J+f|B Hf7CNu7|BNu7|DNua |7@7|F$Ita'B4a( ,fa(RB|m.Gp`SNu7|Hp0+j a'a @7@`a!Jkf|J| bh7CNu mRg 0Nu7|6g<;f7|Nu7|0<'g<"fa|$I7@rggQgp.G`BNuaV0+|bZ@2JgbCa% ,fRHa J+f(b|CkNu7| ak@a Cj\<*gBX(@߰|TEg<|DAgV|BSgn|OFg"a#7@  g ;g A`NuTH7|Nua|XTfp(J1fX7|Nuah|TAfp(J1fX7|Nu(<߰<Sfp(J1fV7| Nu(<߰<Ffhp(J1fZV7|Nu(X(|NuX(|߰|DCfaڰ|Wg|Bf| X`|X`agJ) g ) b"iN7|r2+ka#va\2+"l#Nu7|Xr2+kjzaV"l1`J+fF#Nu7|r2+k8"lJ1gza1@J+f #Nua7|Nu.Gp`0aJ+f>0+@f䶼c"f*Ƽ0+H@'CkNu0<@+g<'CkNu7|Nu7|Nu7|.Nu7|Nu7|va"r;Ng RA|m`RARA<+g <-f:a"g<,g<*g ;fSH7CNuXDLFPOW7|86za kb'Ca"R ,fR ^f|Nu7| BSNu2,Fg|g.Gp`7|BS9FNu2,Fg|f0,|g@c7|BS9FNu.Gp`2,Fg|f0,|g@c7| BS9FNua4J+f<b7Ca>zaJ+fbpC$7CNu2<4`2<`2<4@`2<@` 2<4`2<a0+|g~|bHCJCf&HCHA67CvBka! ,fBRHaJ+f|g.|@gc HHf`c 2HfƁk'CprNu0<0`2<<a<0+|df:@A7@7CNuf"0<`2< ` 2<`2<a0+|d2f@A7@7Cp0+|g"lpNuf0<`?+* a|@ <7@G"Ez7_` 7|aaVTE|ga ,f6aB03PksPfrRAa ,fa&sPgIA7P`IA7P7PSH&JpNuaJ3PgPPB3PsPv"XRNu?+* a<|@ <7@G"Ez7_` 7|aaVTE|ga4 ,f6aB03PksPfrRAa ,fa&sPgIA7P`IA7P7PSH&JpNuanJ3PgPPB3PsPvc 4H´f2TRNu?+* az|@ <7@G"Ez7_` 7|aajTE|gar ,f:aVg03PksPfrRAaT ,fa8gsPgIA7P`IA7P7PSHRRf&JpNua 'gB "g<dg8<\gN<-f8a n+a \gH -fa P@+Nua F+a \g"a k`a 7@a -g \fa p7@Nu+`a ^7@0+|?|b6kk`"2<`2<a az \ga (jBa k@+Nup?k|a2<a Nua H7@` \gT #gSaZJ3Pff+Nu \fa :7@a`Ұ<#gPa kp+a ,f.@+aRa nk+Nu \fVa7@Nu++NuRaJ+f0|b ^CC++` \g|2<a \Nua`a7@a. ,fRa"+`n|Nu7D<*f8RH +g -fatJ+f|gHHf CNu7|NqNu #gSHaDJ+ga>|Nu7D<*f6RH +g -f(ae 2Hf pJCjsP4TSNu<#fRH`aJ3Pg PsP4TSNu<DgX<dgR #faJ+f8|b |4TSa2<a "J+fp8kg kbNuk`a+a2<`<Dg<<dg6 #fa@J+f|b|4TSaH2<`k`a+a,2<`2<aaa4k(+Nu2<an+@?|c |b2+AAA7A@+Nu7D2<`22<`2<a$a0+2<ar?+|c.<cv?@|g^ ?g0+2<a+<|gV<>gP<?g<c<c+A?7@I0AkH@+Nu||7|@2<alNu2+AA@?|m|m|S@An|/g̰<;gJ1f S7CNuaj ak|NuakDNuak@+aa(+4TSNua+[4TSaak@+Nuv (ga pJ3Pfc0Hf`03PS@7P` #gSa 4J3Pf,c HHfCa6aRkF@+Nua`J3Pf 7P3PNu/ a.7P3P|\222"_NuNu2<aNf+Nu #fa 4|Nu #fRa J3Pf,?f bkag<;fSHNu #fRa TJ3Pfb+Nua>Nuakn+Nu`dCU<Ag@<ag:<sg <SgSHpNu<pg <PgUHpNupJ1fpNuUHpNup@0k|ntJ1 fJ@Nu Dg dgpNuRHp|0k|nCU tJ1 fJ@NuR<0k <n@Nu.Gp`(<0k<nt(J1 fTNuXO`Rg"k<bgx|gF`*<g$+gb`+|g(<gN<fJ3Pg03PS@ 7PXS$NuJ3Pg 03PS7P`@ g6 HHf2|`&J3Pg03PS|7P` H@J@g HfTS4Nup.G`R (faXk )fNuvH@kCS<#gB<Dg<dg<Ag <ag<(gT<-g<Cg(<cg <Sgd<sg\<Ug<uga (gtfN \g .fjR<Lg`<lgZ<Wg<wg<sg<Sfn+8J3Pg03PS@7PTSc H@R@g|f4LDNu+9J3Pg03PS@ 7PXS$LDNu (sg (Sf> (pg (Pf,p(J1f fv|?VLDNu (cg (Cf (rg (Rfp(J1f f*|>VLDNu (PgB (pg: (rg (Rfp(J1f f||TLDNup(J1f`pT`af+LDNuaf+LDNuR fxa ak<LDNuR<pg<Pfp`&W`R Sg sg ag Afa4 )fb +g f+LDNup.G`Rf+LDNu ((g`tfTHa6k )f +LDNup.G`~ pg PgSH`b pg PgSH` fxRH<cg<Cf )gBJ,5g4TSBRaD+;J3Pg03PSR@7PKPTSLDNu+:c Hf4J3Pg03PS@7PTSLDNuRa|g ag Af(a )gHf0+J,5g4TSBRaJ3Pg03PSR7PKPTSLDNufp(+c HfX4J3Pg03PS@7PTSLDNup Sg sgNuRH<Pg<pfhpNu Dg dgaȰ|g ag Af>a )g0 .f( Wg wg lg LfR )fRJ3Pfc HHfCTNuH>G? < &'@Ktpr5gkQ`r=f`S*,?,,?CVr4,D8BL0Hbfbf CL|Nu4Af`2RAAf̓L|Nu..0123456789:>ABCDEFGHIJKLMNOPQRSTUVWXYZ_ABCDEFGHIJKLMNOPQRSTUVWXYZH4,?gz _ftREG?pfSCs^0),?0||A@Kf6G?k2gJ#g$Jj"M`<2gJg `J+f`L,NuH@ar<(gt<*gn<^gh<!gb<~g\<#g,aJAkx|gL|g<&7P  gSg(<,g"<[g<\g<(g<.g <;g FatLSNuaZJ)nz@?&J,5fD@D7P`.G `܎|D7P`<<>>==<==<>==><>><+-|^*/&%=<>  H&6aHKM7P|Ev6tz|raJ ((f -g ~fz`zR`rg< g<.g<(g|<,gv<;gp<)f RA|m`ₔAk|IrHG&z[WgHSz WfTE G!3P` RHRA|g: (gAIEa`hAJBfISHLldNuapp !gp (~gSpaJAkDn|gز|g$b4Nun$Nu *g( ^g.avJ)j J)kfD4NuR4NuRH ^fb/ EC?p"#@<=g <>gfS$_C? ")CPJg$ff 0 D@4Nup`p`pLld.G`,r`FDR`H0xp<(g<$g<%g<"g̰<'gİ<-gİ<+g<.fRr<0kJ< bDR< f0k< bҁe$ҁeҁe҂eҀd` r`*r`,r`& .gRr`R -fRFDv r< f0k̰<bSCkӁ< f0k<c r`Rpv"gWffSCR`B rBRH`R -fRFDvt< f<0kN< c$_< e><c< < e,<b$SCk@"< f<0k$< c_< e<cА< < e<c rSJDjDL NuHx6EGp,6gJ2o,HtRrZ@J2WfdS@&l<6*l]fbX U@"lCrvRA1g6g`6J20f :fRH :fRH) LlNuLl.G`׸"lPrp,6fB)J2WfB!"l0, TvEFx4,"lpr,6g J2o,HRK?BBBBBBK?rSAg^J2fB%SJl?gVpBgbJ)kTg&I8`LK?" PvV"Af8) :fR :fR) L|~NuL|~p.G`֤L|~.G`֖C R@`" g"K0Sl " K?BB"""""""ARl /J,+fa+ _`x/ C/JfS gB( _g>f&$HpR@gS<gS@|c ` J<g`pB`BB CĐ@7@'I $_Nu  g ( gSHNuH瀀A  BX0<&BQLNuHAaHA`HAaHAYaYHM@Jl?fM&p4A6a)B6 a)L@Nu0123456789ABCDEF0123456789abcdefXBRATASS3*`lXBRATASS3*`VXBRATASS3*`@XBRATASS3*`*XBRATASS3*`XBRATASS3*F'/ IH?@)_?p>:d9_?)_?)O?Nh)H?,?g O)H?|.lpExpaEpaa,+P+A!pA!F#C`3|2AaApt0A TBQ|c~ A1pC?@A|~X"aQQA",?a|\2,?ax\",?ahX",Ea^\2<paZ\",?aJAMp?Q",?|f@d"AA+~"aQpa4Aa-"(J@kU@k$f(|0a|BlHhdBlNNN\,8fpaAa.A.a(ALa"AjaAaAaAa Aa`zga`p`~%/2$/9&/@$-. ...R ... . //!/1 .v/R /R /R/R/R/R/R/RD0: D4: A0: A4: SK: PC: SR: USP: BP: VER: SSP: A little internal problemBombsPlease notate the values aboveand contact us. EXIT BACK PRINT Bombs : R#??HAaHAYaYHp4|| LNu0123456789ABCDEFHa LNa MJf~ 9G@V)NBV NAXO 7brf!r!~!v?<aĪT??:z?<aĚXHzz?<;aČ\?<aĂXLNu0:Nof!Fr!D~!Bv z4N0:,ofpNu z$N0:ofpNu zNx:\X[3][ |der Speicher reicht nicht!|(fr den Textscreen)][ ABBRUCH ][3][ |Auflsung zu gering!|(min. 640x200 Pixel)][ ABBRUCH ][3][ |Auflsung zu gro!|(max. 70 Zeilen)][ ABBRUCH ])HBV9|@V <4a~ <a??<LNA < a~R@g rlPSA9ABpeaFA lFBdALN|e|e <a0(9@H>9@D0,BR@H/?<HNA\A)@Xg?<NNT)@R0,BU@9@V <mЌB)@fAPCE0,H42,>UAS@024R@BXXXQ0,>S@|d"ACfEFHt:@|`153NwCLE\ l:2<0<&H4,>SBQRQA\0<>HS@DQ0,NH9@+0,PH9@+P+P+P+P+P+Q+)|`?9|+AvC~ B x h0(H9@+p///?<NNO @Cj"""AtJg<(g2<0e,Jk( (:b $i g$irtRBWfBP`A+\JXk0(g&<0e JkJ(k$irtRBWfBX`0,+U@f$p$k+g#^Hx?<#NN\9@+p)@)@+ x h"h$$h( hlCE`,0(HY@fE<)ID)JD@NCHI|L@HDA@0?p0?Qaa A"xga\NZ)I~!A"xg)I!P+A "xpg)I!pAZ"xg)IE!paLFNuHpaFpaB?<"NNT @B($ lDB(/<NNX @BQ+B,+,+aLNuH2<AV0<a QLNu@NCHI|LDH@aada !~!!p!ELFNuH`a$J"B Q"a4LNuHACa>Ca6C a.Ca&LNuHACaCaLNu<mQANuTNuH@,l,JrgSg`UkRaXQp`pL@NuH,l,NrgSg`p Uk Ra$Q`aL@NuH/<NMXJLNuH`|?/<NM\LNu9|+B,+B,+ 8)@+)@+B,+B,+B,+BzNuH` ,f`Avp@|2(hg*X"P 1J+fC$Tg$g$Rf`1AFLNu 4J|9B|)I`"@SljX 4J|9BRg |)I`B`rHICaYa8gL?NsJ,+f,H @j g4 Yf,?ga< g)LNuN :)J,+fF||e|{ +{$+||m |n@+Nu ,+d2E6t,+S r "r $r t,+S,+fNB,+Nu++@++Ex++Ex++@++@,+Ű<*f`z<f`n<6f`b<f`V<f`J<f`><8f`2<fv,+g A+0rt`P :fA Za AA+NuJkDJ,+f0@+l++l++Ȱ<Sf@ , +g , +f0` 2 xNB,+B,+Q+`rA+A+A+J,+g`,?gAar lj|t ,+f ,+g lr,+f,+g ln0,+g4,+̴|ctBA "UTg4ft,+VH0 ` \@'{[(}]{[}](\+~@<bft,+g,+SgQ+,+Nua$gJ+fFx@pa lXpH8,B|CDB:,@Q ! gRIBCDg aJ@f` pahQp!a^Fx@Q+`|vt,+g*<ge$<pb0,+ |evC+`g<;e&<Db ;0r<g4@ `*v g$<e< b UA0@r` <)f0< r<rfrBAHB@ H@,?g(rE<JgrF<Ng<"<Ae.<Db(H@H@,?g<ce<qbH|cH ;g H@aDgB,+NutHHKMePPRSHJ,+fAv2(Xhg"Pgg#1AJ+gbf4 l+r A"Tf (Rg!P"Rfr!B+B+` l+f R(jz|C+dl )H+`df\P+`VJgRgJgBQ+A"TgfC"Rf" g""Tf I`XC+d )@+ )H+pLNuHp fP@+gF 8+)x+Wd SC+ENt0HAjp2SAAc02QQ+LNuRHI}R@+jJ,+g$J,+gS,+fS,+fP+l++,+a,+J,+f l +efJ,+f`S,+n^B,+g2Jl+g 8)@+ڐ+ְ(dQ+B+`: |+`" ` 8)@+֐+,+氼dQ+`B+9|+B,+?,IF lINTSl+j:9|1+Q+R,+ ,<+e$B,+R,+ ,<+eB,+R,+ ,+eB,+p,+g J,DgPDLNsRfk4HI||RbJxgJx>f08Jkr8,`gjS,afd| al`,+,+,+?/,bp0,@|)@bp ,+gpCaDSldp J+gpMa2)_b0a Jg@+A+J+f`A J,?g <  `Jp,+  H@:p,+  H@:p,+  H@J+fJ,+f aL+aJ,+gaLNsE,4,+JA"lR4,PAHrAd244,N@|UH:FEt@@H6,Lh$8,J&FF44@q@HCQ&Eq@HCQHQQ+NuJ+f"HA,0"X2,J23HQLNu@`px|~|lFx??``0 ? `` 0?3ooJ+f`NJ,+fQ+Q+Nua9@+`H@C0k`LNu4  ;  F'Ap C"QNA0!A.p"$&(*,."@$@&@(@*@,@H~A8` xNaFpr0,+2,+H>9@+9A+J,D}fJAfaVJAg J,D|fB,D}JlDnj@J,`kaJAg<,+fB,+,+f^,+f,+gjB,+`aDNuJ,+fp",+g0,@_@l+b < `^S@l+gW@l+bJ,+f 9`:J,D|f~P`J+fpQ`UAjrJ,+gVlVe2,V9AJ+g80,+r>PAAb 9`2,PQAAe 9` 9t` 9|`DNu,+gB,+`J+ghJ,D|f,+f,+gFJg@0,+а|bPD|PD}Q 9`d2,PQAAePD|PD}Q 9`FQD|DNu|f2,@@J@g8| cT<gV<g|b( 9TJ,g 94DNul+` 9l`| b 9J,g. 9`& 9` 9J,+g 9J,g 9DNuJ,f\9@UA9A 9DNuH lX9@9AH$ #fR <#g<:g<;g<,g< WR"9ACq6pBg (:g ( g (,WfNS|BgV ))gX )wg ,f )(fW` ).fUI" q69ApCA` Q <LDNuLDNu) cg.<Cg(<pg4<Pg. )Ag )af )(fY` )Pg )pg` )sg )Sg`pH lXHCtJ1 gJ J1 WJ@k,6g RJ1 jR4aJ@k 9@JBo" 9L,+fDNuLDNup,+fE4a 94L`E;da 9$L`PrSAfSJAk QBNuHp",+frp,+fvJl+f4,+gJlDpk9|Dp`Bpr lDr`RgRfp`SARAJfR@AdJlDnjaa\lDng 9@Dnaa`LNu Do,Dq9@Dv ,DnRgp)@DnJ,+fPD}`0,Dnk2t lDrJ@gS@RBJfSBRgRf0 lDr` Tg\SfQJf"HpR@JfrRg RgUfRA`vl+b*@l+c"l+e6,+SC0S@kJfQgvlDpg9CDpaLNu0,DnlDhfah ,D`g4 @R)lD\DXrt:,DjJ0P[gata|Qtap lDd9lD^DZ0,Dpk0R@9@DX)lDXD\S@g S@JfQ)HD`Rrtvga2`` lDrHaBlDZBlDXrtvp a x<,DZtRDlDnftga`lDnf??,DZxz)HDd"HREJf9FDZRlDXRDJ0P[~tlDpf)lDXD\)HD`9lDnDhCDl9EDjt~rgrUa>aQ<atRJjBlDXvr9_DZ8RgRRfrtp VlDZaHB,Da aLNuHrtvp0,@_@)@DXAxaQN LNu00:00:00H| l:<>:Rfx"lR4,DXD6,DZpCC0,Lk2,>SA4<6,HJAfQRlDZLNuHaF"lRp0,D lfa6a8Ar pJ0fa.R@QLNuaBR@QLNuHa lRp0,D"lfaaLNua9| `Nu``gHaan>"lRrCC2,Lk4,>SBFHQaLNu ,+fa.JgB+JlDnjQDNuH,o@g< fa`a`L.NuHa*LNuNuJ,+fJg|azRld0,dl@oBldRlb0,Vlbd9@b`NuA(` aH lR0,@R@F4,H@f2,BRADpa`S@2,P6BQQa lX2,BRAHp aBbLNuH8L| l:?<>:"lR4,bTBD6,dpCC0,Lk2,>SA4<6,H0JkDfJAfQLNu JAfQLNu l\2(R4(P hLl>eBISA?Q2JAfQLNuHaaP l:>"lRrCC2,Lk4<6,H0,>U@QJlbjpaZLNu lX4,bTBH6,dNuHa*papa a(LNu>S@H lR2,@RAISAp0JQNuHCQT@H lXCLa*LNuHCP lXT@HC\aLNuH0a$lR>2,@v8,Jp>G[O[[[?[[[/[[[[o[[[_SFCfQa>L NuHz|~CQCLa$LNuHzD|~CPC\aLNuH4aT@H&lX$lR>2,@v8,Jpg\>K]O]]]?]]]/]]]]o]]]_UFCfQaxL,Nut FOGFE?FGF/EFGFoEFG_FFCfQa"L,NuHa 2,V0S@a>SAS@jaLNu/pa NuHa2R@`aR@RAlVcaLNuHAB0T@TAHHH>> lRC0,DHa L lXC0,@R@Ha nLNu0,Dvk*Jk&AJPkXgX`,Dv9|DvQ DNuDNuH,aaܸ.,+μe +fajNaLNuH/,bR,+P+?,`a "HaPpEE JRk&* g* gp&j f Jf`)f| af| AB,+J@fP+A JPk(( g( g&Ha9@d9Abar`aTaJ,+gB,+azfR&HS " f*RS k6tg " g4 RBBe aZB<>ldflbga9Fd9Gba`afD g- g- fa:ͻgr( f*h *H IaxJ,+fa`Na gB`p(H IJPkA (g(f`L `J+fHUAkpLl@SFDFNlVDGOFkTGkPt IJPkHA (gRB(f6(Ce$hxRJfDCd6(CeRCCdADNutDNuL+H>HUAkt<>L l@SBDBJlVDCKBkTCkPt IJPkHA (g(gRB6(Ce$hxRJfDCd6(CeRCCdADNutDNuH/,baNBl+EZLl@SFDFNlVDGOprtvxLJ@k zDE6rP|c6RFGaN`a)_bL/Nur,VLTA>HB4&B*lRHr@@2,LhtDz|LPD l>d:RELSD6,J2"M0 fQHQNuHB49@d9Ab&BHg  fRpAl+|`pg@rtvgtgrUf g|g vJ,+gp*a\Rld`LgSBr@PAJf8,>RDBvatS@SBRARDajfNuHHTA>J>B@8BY@YBXAXDvaXLHTA>J>B@8BvS@SBRARDaS@SBRARDa W@WBVAVDaNuHa$Ba Aa0aLNu/a RBDc$NuHJ@jpJBjt8,PDbr@SA lRKCBvBC810Ht@@H6,LhvBCpAB4; :@0;TAjB`:FEPDB0`0JQ:FEPD@0L?Nu??HJ@jpJAjr8,PDe4DbRAKCrxAD lRHr@@A2;4H6,Lh6,H`01@TD|A:FEP@0QL?Nu@ @  UUUUUUUUUUUUUUUU""""""""UUUUUUUUUUUUUUUUJgHbg24 gf Sf`f` Sg"gH?LxH?LxH?LxH?Lx`H?Lx8H?LxH?LxH?LxH?LxH?LxpH?LxHH?Lx H?LH?ASfvLx2|HgS@# Q|gSA Q`24 gfSf`f`S"gH?LxHxLxHx(LxHxPLxHxxLxHxLxHxLxHxLxHxLxHx@LxHxhLxHxLxHxLHCSfxLx2|HgS@"Q|gSAQLNuH$gSe40HB4 gxH_>"&(*,."B$B&B(B*B,BH~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H`SfL||0HgS@!Q|gSAQLNuii q  a  ow+   &lez2$jss0b%k#h/v.c,y    TurboAss V1.7... ^I  Thanks to... ^I - Accessories F1 File  New... F6  Load... F8  Merge... F8  Merge symbols... - Save ^Q  Save as... F9  ASCII-Save... F9 - Delete file... - Quit... F10 Assembler  Assemble A  Assemble... F1 -  Debugger F2  Load debugger D  Clear debugger - Optimizings... ^O  Jump to warnings W Editor  Calculator... F5  Char table... ^+ - Information... F4 - Print... F7  Printer: Search  Search symbol... F3  Replace symbol... F3  Search text... ^L  Replace text... ^E - Jump to line... Z  Next error J  Next Syntax-Error S  Next marker ^S Block  Set blockstart ^B  Set blockend ^K  Clear blockmarks ^H - Move block ^V  Copy block C  Erase block Y - Save block... - Print block Settings  Representation... F5  Editor 1... F4  Editor 2... F7  Editor 3... - Save settings Help  Menucodes:   - Shift  ^ - Control   - Alternate      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~L: Co:  .Syntax errorIllegal symbolnameUnknown commandSymbol declared twiceValue out of rangeSymbolname too longIllegal addressing modeOperandsytax wrongSecond operand missingIllegal extensionPointer out of fileError during savingFormula too complexIllegal operandIn BSS not allowedToo many parameterINTERNAL ERROROffset too bigSymbol not definedOffset/value becomes negativeSymbol is not usedLabel not allowed hereOffset too smallDivision by zeroAddress has been alignedWrong sequence of segmentsFilename too longIllegal filenameIllegal opreationString too longB??.S converted to NOPIF not closedELSE without IFENDC without IFREPT not closedENDR without REPTEQU-Wert nicht nderbarSWITCH not closedCASE without SWITCHENDS without SWITCHCan optimized to B??.SCan optimized to relative jumpSame parameternumbersMissing parametersName already reservedLong-Addressed RS-constantEditing not allowed!Jump to next addressUnnecessary jumpPC-relativ addressing possibleConverting to PEA efficientConverting to LEA efficientCan optimized to SHORTPC-relativ addressing over segmentlimitsOptimized by 4 cycles (12 to 8 or 8 to 4)Et #5I]q 1B[v":L`t.?^z?X tH>& 4 <V.= x.BSS .COMM J.COMMON J.DATA .DC.B  j.DC.L  .DC.W  .DS.B .DS.L .DS.W .END  .ENDC .ENDR .EQU D.EVEN .EXTERN .GLOBL .PUBLIC .REPT  8.SET x.TEXT .XDEF .XREF = D== >PART ABCD  fABCD.B  fADD @ADD.B ADD.L ЀADD.W @ADDA ADDA.L ADDA.W ADDI @ADDI.B ADDI.L ADDI.W @ADDQ P@ADDQ.B PADDQ.L PADDQ.W P@ADDX  f@ADDX.B  fADDX.L  fрADDX.W  f@ALIGN ALIGN.W AND t@AND.B tAND.L tAND.W t@ANDI @ANDI.B ANDI.L ANDI.W @ASL "@ASL.B "ASL.L "ASL.W "@ASR "@ASR.B "ASR.L "ASR.W "@BASE xBCC JdBCC.B dBCC.L JdBCC.S dBCC.W JdBCHG @BCHG.B @BCHG.L @BCLR BCLR.B BCLR.L BCS JeBCS.B eBCS.L JeBCS.S eBCS.W JeBEQ JgBEQ.B gBEQ.L JgBEQ.S gBEQ.W JgBGE JlBGE.B lBGE.L JlBGE.S lBGE.W JlBGT JnBGT.B nBGT.L JnBGT.S nBGT.W JnBHI JbBHI.B bBHI.L JbBHI.S bBHI.W JbBHS JdBHS.B dBHS.L JdBHS.S dBHS.W JdBKPT HHBLE JoBLE.B oBLE.L JoBLE.S oBLE.W JoBLK BLK.B BLK.L BLK.W BLO JeBLO.B eBLO.L JeBLO.S eBLO.W JeBLS JcBLS.B cBLS.L JcBLS.S cBLS.W JcBLT JmBLT.B mBLT.L JmBLT.S mBLT.W JmBMI JkBMI.B kBMI.L JkBMI.S kBMI.W JkBNE JfBNE.B fBNE.L JfBNE.S fBNE.W JfBNZ JfBNZ.B fBNZ.L JfBNZ.S fBNZ.W JfBPL JjBPL.B jBPL.L JjBPL.S jBPL.W JjBRA J`BRA.B `BRA.L J`BRA.S `BRA.W J`BREAKPT 0BSET BSET.B BSET.L BSR JaBSR.B aBSR.L JaBSR.S aBSR.W JaBSS BTST $BTST.B $BTST.L $BVC JhBVC.B hBVC.L JhBVC.S hBVC.W JhBVS JiBVS.B iBVS.L JiBVS.S iBVS.W JiBZ JgBZ.B gBZ.L JgBZ.S gBZ.W JgBZE JgBZE.B gBZE.L JgBZE.S gBZE.W JgCASE CHK |ACLR B@CLR.B BCLR.L BCLR.W B@CMP @CMP.B CMP.L CMP.W @CMPA CMPA.L CMPA.W CMPI  @CMPI.B  CMPI.L  CMPI.W  @CMPM HCMPM.B CMPM.L CMPM.W HCNOP DCOMM JCOMMON JDATA DBCC TDBCS UDBEQ WDBF QDBGE \DBGT ^DBHI RDBHS TDBLE _DBLO UDBLS SDBLT ]DBMI [DBNE VDBNZ VDBPL ZDBRA QDBT PDBVC XDBVS YDBZE WDC  DC.B  jDC.L  DC.W  DCB DCB.B DCB.L DCB.W DEFAULT hDIVS |DIVS.W |DIVU |DIVU.W |DS DS.B DS.L DS.W DSBSS DSBSS.B DSBSS.L DSBSS.W DX DX.B DXSET "ELSE END  ENDC ENDIF ENDP ENDPART ENDR ENDS EOR @EOR.B EOR.L EOR.W @EORI  @EORI.B  EORI.L  EORI.W  @EQU DEVEN EXG EXG.L EXT HEXT.L HEXT.W HFAIL GLOBAL GLOBL IBYTES BIF @IFD @IFEQ @IFGE @ IFGT @IFLE @IFLT @ IFND @IFNE @ILLEGAL JINCBIN BISYMBOL JMP NJSR NLEA ALEA.L ALEA.W ALINEA LINK NPLSL "HLSL.B "LSL.L "LSL.W "HLSR "HLSR.B "LSR.L "LSR.W "HMOVE 0MOVE.B MOVE.L  MOVE.W 0MOVEA 0MOVEA.L  MOVEA.W 0MOVEM @HMOVEM.L @HMOVEM.W @HMOVEP MOVEP.L HMOVEP.W MOVEQ <pMOVEQ.L <pMULS |MULS.W |MULU |MULU.W |NBCD HNEG D@NEG.B DNEG.L DNEG.W D@NEGX @@NEGX.B @NEGX.L @NEGX.W @@NOP NqNOT F@NOT.B FNOT.L FNOT.W F@OPT OR t@OR.B tOR.L tOR.W t@ORG ORI @ORI.B ORI.L ORI.W @OUTPUT PART PATH PEA H@REG REPEAT  8REPT  8RESET NpROL "XROL.B "ROL.L "ROL.W "XROR "XROR.B "ROR.L "ROR.W "XROXL "PROXL.B "ROXL.L "ROXL.W "PROXR "PROXR.B "ROXR.L "ROXR.W "PRS  vRS.B  |RS.L  pRS.W  vRSBSS RSEVEN RSRESET RSSET RTE NsRTR NwRTS NuSBCD  fSCC TSCC.B TSCS USCS.B USECTION SELECT SEQ WSEQ.B WSET xSF QSF.B QSGE \SGE.B \SGT ^SGT.B ^SHI RSHI.B RSHS TSHS.B TSLE _SLE.B _SLO USLO.B USLS SSLS.B SSLT ]SLT.B ]SMI [SMI.B [SNE VSNE.B VSPL ZSPL.B ZST PST.B PSTOP NrSUB @SUB.B SUB.L SUB.W @SUBA SUBA.L SUBA.W SUBI @SUBI.B SUBI.L SUBI.W @SUBQ Q@SUBQ.B QSUBQ.L QSUBQ.W Q@SUBX  f@SUBX.B  fSUBX.L  fSUBX.W  f@SVC XSVC.B XSVS YSVS.B YSWAP H@SWAP.L H@SWAP.W H@SWITCH TAS JTAS.B JTEXT TRAP N@TRAPV NvTST J@TST.B JTST.L JTST.W J@UNLINK DNXUNLK DNXXDEF XOR @XOR.B XOR.L XOR.W @XORI  @XORI.B  XORI.L  XORI.W  @XREF *nQ$_7 %Q  # 0  i< !\ = I $%jrO M$U$_u *$W%q TL2<]`5$ 5$3 @S K& V a gSk u lP w v /;4 d / ? E!>/ xY #XA$$ *jd ! !&1X FZ+iqy(( s.i$ @$J$Rmvd[ zBN$>31jAIXbP9$5 l -   Gj6g  Gd^o y qwPdY#]pTwK# 2'pIg&SL#g!lF7I,={U#_$!o 4x?! V `hte<  T!/#x a m) }}$\u$s$h  1.\)Ph PG  +  q X}5h$)A   5[  G 1  8$}$'L sQr@E Mg hA9$I$   t@7 ] {qY$i\vd e   #<-@3Rs{n18*N cH=\[b1#V ; j\Q#$ |xXFQ+l $9/ ^ l x!' ! d "0 D !2Wc S( H w {^!=!H!S!^!i!t!!!!!!!!! Mu A;!!!""""$"/":"E"P"["f"q"|"""""""""""## ##!#,#7#B#M#X#c#n#y###: @F Y 8 G74 4 @y1fmh $+$Q$$|ADBO{ADBReIniActivatePalett;AddComNAddDriv~AddPAddRefereMAddResMenAddResourc:AddSearcAlerAllocCursoAllocatAngleFromSlopAnimateEntrAnimatePalett3AppendMenqAttachVBcBackColo|BackPa BackPixPa"BeginUpdatXBitAn_BitClZBitNo[BitO^BitSe\BitShif]BitTsYBitXo.BlockMov BringToFrontButtoCTab2PalettOCalcCMas8CalcMasHCalcMenuSiz CalcVBehin CalcViCautionAlerChaiChangedResourc#CharExtrCharWidtECheckIteCheckUpdat4ClearMenuBa ClipAbov{ClipRecClosCloseCPorCloseDeskAcCloseDialoClosePgoClosePictur}ClosePorCloseResFilCloseRg-CloseWindo@DrvrRemovEjec+EmptyHandlEmptyRecEmptyRgoEnQueu9EnableIte#EndUpdatEqualPEqualRecEqualRgEraseArEraseOvaErasePolEraseRecEraseRgEraseRoundRecErrorSounqEventAvaiExitToShelFMSwapFonFillArFillCArFillCOvaFillCPolFillCRecFillCRgFillCRoundRecFillOvaFillPolFillRecFillRgFillRoundReclFindControFindDIte,FindWindoAFix2Fra@Fix2LonCFix2FixAtanMFixDihFixMuiFixRatilFixRounLFlashMenuBa2FlushEven2FlushEventEFlushFilFlushVo5FontMetricbForeColoBFrac2FiEFrac2GFracCoKFracDiJFracMuHFracSiIFracSqrFrameArFrameOvaFramePolFrameRecFrameRgFrameRoundRecFreeAlerzFreeDialo0FreeMe$FrontWindoGet1IXResourcGet1IxTyp Get1NamedResourcGet1ResourcyGetADBInfGetAppParmDGetAuxCtBGetAuxWiGetBackColoGetCCursoGetCIcoGetCPixeZGetCRefCo(GetCTSeeGetCTabl^GetCTitl GetCVarianHGetCWMgrPorzGetClijGetCtlActio`GetCtlValuGetCursoGetDIte}GetDefaultStartu)GetDeviceLisGetEOGetEntryColoGetEntryUsagGetFNamGetFNuGetFPo GetFileInfGetFontInfGetForeColo2GetGDevic%GetHandleSiz%GetHandleSizGetITexGetIcoxGetIndADGetIndResourcGetIndTypFGetIteNGetItemCm?GetItmIcoCGetItmMarAGetItmStylvGetKeydGetMCEntraGetMCInfIGetMHandl*GetMainDevic6GetMaskTablbGetMaxCt'GetMaxDevic;GetMenuBaaGetMinCtrGetMousGetNamedResourcFGetNewCWindoGetNewContro|GetNewDialoGetNewMBaGetNewPalettGetNewWindo+GetNextDevicpGetNextEvenGetOSDefaul1GetOSEvenGetPalettGetPatterGetPeGetPenStatGetPictur GetPixPaeGetPixetGetPor!GetPtrSizGetRMenGetResAttrGetResFileAttrGetResInfGetResourcGetScraGetStrin7GetSubTablqFGetTrapAddresGetVideoDefaulGetVoGetVolInfGetWMgrPorGetWRefCoGetWTitl GetWVarian/GetWindowPiGetZonGetZonqGlobalToLocarGrafDevic+GrowWindohHClrRBiHCreat HDelet`HFSDispatc HGetFileInfiHGetStatHGetVoHGetVolInf)HLoc)HLocJHNoPurgHOpe HOpenRIHPurg HRenam HSetFileInfgHSetRBijHSetStatHSetVo*HUnloc*HUnlocHandAndHanHandToHan&HandleZonjHiWorXHideControRHideCurso'HideDIteHidePeHideWindo"HiliteColo]HiliteContro8HiliteMenHiliteWindoHomeResFil4Index2ColoInfoScraInitAllPack,InitApplZonInitCPorPInitCurso{InitDialogmInitEventlInitFInitFont.InitGDevicnInitGra0InitMenuInitPacInitPalettmInitPorInitProcMenInitQueuInitResourc?InitUtiInitWindowInitZon&InsMenuIteXInsTim5InsertMenQInsertResMenInsetRecInsetRgInternalWai(InvalRec'InvalRgInverRecInverRgInverRoundRecInvertAr5InvertColoInvertOvaInvertPolIsDialogEvenJugglerDiKeyTranVKillControlKillIKillPicturKillPolLauncLinLineTkLoWorLoadResourcLoadSepLocalToGlobaLodeScra?Long2FigLongMuMacsBu9MakeITabl MakeRGBPaMapPolMapPMapRecMapRgcMaxApplZon0aMaxBloc1MaxMeMaxMe!MaxSizeRsr7MeasureTexfMenuChoic>MenuKe=MenuSelecMethodDisModalDialo6MoreMasterMountVoMovYMoveControdMoveHHwMovePortTMoveTMoveWindoMungeKNewCDialoENewCWindoTNewContro}NewDialo0fNewEmptyHandl/NewGDevic!"NewHandl"NewHandl1NewMenNewPalettNewPixMaNewPixPa!NewPtNewPtNewRgNewStrinNewWindoNoteAler0OSEventAvaiVObscureCurso5OfflinOffsetPolOffsetRecOfsetRg!OpColoOpeOpenCPorOpenDeskAcOpenPicturOpenPoloOpenPor OpenROpenRFPerOpenResFilOpenRg/PPostEvenPackPack,Pack1-Pack1.Pack1/Pack10Pack11Pack1PackPackPackPackPackPackPack+PackPackBitPaintAr PaintBehin PaintOnPaintOvaPaintPolPaintRecPaintRgPaintRoundRecPalette2CTaParamTexPenModPenNormaPenPa PenPixPaPenSizPicCommenNPinRecPlotCIcoKPlotIcoPmBackColoPmForeColo PopUpMenuSelecvPortSiz[PowerOfPrGluZPrimeTim=ProtectEntrPt2RecPtInRecPtInRgPtToAnglPtrAndHanPtrToHanPtrToXHanHPtrZon0MPurgeMe0bPurgeSpacPutIcoPutScra@QDErroORDrvrInstalRGBBackColoRGBForeColo RGetResourcaRandoRea9ReadDateTimQReadXPra6RealColoRealFon'ReallocHandl1(RecoverHandlRectInRgRectRgPRelStrinReleaseResourc RenamResErro>ReserveEntr0@ResrvMeJRestoreEntrieYRmvTimRmveReferRmveResourcRsrcMapEntrRsrcZoneIniBRstFilLocSCSIDispatcSIntInstalvSIntRemovISaveEntrieSaveOlScalePScriptUti3ScrnBitmaScrollRecSecs2DatSectRecSectRgPSeedCFil9SeedFil~SelITexSelectWindo!SendBehinzSetADBInfWSetAppBasWSetAppBas-SetApplLimiSetCCursoSetCPixeSetCPortPi[SetCRefCo_SetCTitlTEStyleNeTEUpdatfTestContro,TestDeviceAttributTextBoTextFacTextFonTextModTextSizTextWidtuTickCoun;TrackBohTrackControTrackGoAwa7UndefineSUndefineVUndefine\Undefine^Undefine_UndefinekUndefinesUndefinetUndefineUndefineUndefineUndefineUndefineUndefineUndefineUndefineUndefineUndefineUndefineUndefineUndefineUndefineUndefine Undefine8UndefineQUndefineRUndefineSUndefineTUndefineUUndefineVUndefineWUndefineXUndefineYUndefineZUndefine[Undefine\Undefine]Undefine^Undefine_UndefinegUndefinehUndefineiUndefinejUndefinekUndefinelUndefinemUndefinenUndefineoUndefinepUndefineqUndefinerUndefinesUndefinetUndefineuUndefinevUndefinewUndefinexUndefineyUndefinezUndefine{Undefine|Undefine}Undefine~UndefineUndefineUndefineUndefineUndefineUndefineUndefineUndefineUndefineUndefineUndefineUndefineUndefineUndefineUndefineUndefineUndefineUndefineUnimplTraUnionRecUnionRgUnique1IUniqueIUnloadSeUnlodeScraUnmountVoUnpackBitUpdateResFilSUpdtControxUpdtDialoQTUprStrinTUprStrinUseResFil3VInstal4VRemov*ValidRec)ValidRgwWaitMouseU`WaitNextEvenWrit8WriteParaWriteResourcRWriteXPraDX2FiFX2FraXMungeXorRgZeroScra:ZoomWindopN},0,>g??<>NXOpN},HJ,D~g$HA<|C>Nv2kH gLNuHA>NukpaJLNuH?Hl>?<LNuH?Hl>?<=NPJ@k^9@>LNuH.2,>gF//??<?NO f,LNuH.2,>g//??<@NO C>gpN},LNuH0,>g??<>NXLNuHHl>?<ANPLNuNH~("P+NbQ+L~NuH~"a$N*8a*L~NuH~"aN*2aL~NuP+>,?Bl?NuQ+9G?NuH~"aN*$aL~NuH~"aN*,aL~Nu`akNuHaLNuH`ptg2< g0k*< e_k < e<cf` t鈀`J`SJg `aPDLNuNwNwNlNFNLNNNNN¸N¢NtN^NBN t4 ~    N H(2H0*T <4$$" B.,"LD(:FD: JH$&  0    n"H V0Jv 2  V H N6 Lh* lDp   F4( .6l.0$  20  |.D8 *J   N 8 .:  H0:f R 8 2F *6D @   , ^ P<~J&  <*$pb.<    6^   > F^ v&0 @< >$\TN| 4  >86 J,0 H6X  :$,     r R2 )@ zd <HxH.n Ɩ$ˆ`@ X  *V X<   Z^* H*+ "$0.. TurboAss 1989 -soft Markus Fritze & Sren Hellwig Version 1.7 Markus Fritze, Sren Hellwig March 1990 Imported and translated by the United Coding Alliance   1.1 Turbo-Ass Introduction 1 1. General 1.1 Introduction After long back and forth we (-Soft) decided to market our Assembler package under the Shareware concept. Prior to that the Assembler was sold commercially through OMIKRON-Software under the name OMIKRON- Assembler. However, the Shareware version is an expanded and entlarged version of the old OMIKRON Assembler. It contains less mistakes, additional and improved features and is faster. In the package included are the Debugger (of course), the Bugadoo (before OMIKRON Debugger). Consequently every User can enjoy the fast and powerful Assembler aswell as the Debugger. Especially since there are so many Programming Languages that are sold as Shareware or as PD, there aren't any reasonably good Assemblers around. THE COMPANY OMIKRON SOFTWARE BARES NO RELATION WITH THIS ASSEMBLER PACKAGE. -SOFT IS THE ONLY OWNER AND HAS THE FULL RIGHTS FOR THIS ASSEMBLER AND DEBUGGER! This Document is not thought to be an Introduction but a presentation of the Turbo-Assembler. The complete manual of 254 Pages can be obtained from the Authors. If needed it is possible to consult issues 11/89 and 12/89 of "ST-Magazin" for further information. The Assembler and the Debugger are topics of the Referencecard in the above issues. Supplement: Compared to the Manual many features are not included in the README file it is just to much.(Markus) 1.2 Turbo-Assembler Features - Simple and thought-out Operation (Very User Friendly). - The Assembler translates approx. 1.3 Million lines/minute. - Syntax-Check DURING Input. Partly Semantic-Check! Typing mistakes aswell as double use of Symbolnames are shown directly during Input. - Many powerful Editor Functions such as: Search for Text, Replace Text, "Turn-In" of partial programs (like GFA-Basic 3.0) and many more features. - Fantastic combinational work between the Debugger and Assembler. In crash cases of a program in the Debugger the Assembler auto- matically computes the Crash Address into a line number. 1.1 Turbo-Ass Introduction 2  - Own Keyboard and Screendriver => Even in the most hardest Crash conditions the Assembler and Debugger are still functioning. - No Macros!!! - and many more things. 1.3 What is Shareware? - Everyone can/should copy Turbo-Ass! However, ALL Files should be copied and be included on the disk. - If you like the Assembler please send us 50 DM (German Marks). This has advantages for all parties involved: For us: - We don't work totally for free (It took 3 Years to develop the package). For the User: - He/She will receive a 254 page strong manual. - He/She receives the latest version with a customized Serialnumber - First Update is for free. - If Errors are encountered a Error-Free version is shipped. - If an problems/errors arise you could contact us for assistance. - When Registering, every User that will state his Serialnumber we will award 10DM (Max. of 10 times, we don't want to finance PD institutions). The money is thought to be as a "Reward" for the demonstration and coping of the product. - Note: If anybody is registrering, and the Serialnumber of the previous owner is stated the User that this Serialnumber belongs to will receive 10DM. If you want to accept this offer please contact: Markus Fritze Birkhahnkamp 38 2000 Norderstedt 1 Tel: 040/5223955 (from 6 PM including the weekend (please not before 11 AM) 1.1 Turbo-Ass Introduction Bank Code Number: 20069111, Norderstedter Bank Account Number : 407860 When ordering please have some patients with the delivery. Even thought I hope to complete all Mail the same day it is possible that we run out of manuals or new updates are in order, thus this takes sometimes a bit longer (If you don't receive it after 2-3 Weeks an Inquiry can be send). I APPOLOGIZE FOR ANY INCONVENIENCE THAT MAY ARISE BECAUSE OF IT. 1.4 Hardware Requirements ATARI ST with 512k of memory whereas with 1Mb and above it is possible to hold the Assembler and Debugger at the same time in RAM, which on its part makes it possible to produce effective Debugging. The` high Resolution Screen is recommended but the Medium one works also very well (High is better for the eyes). Turbo-Ass works on Colour monitor aswell as Monochrome Monitors. 1.5 Installation Copy TURBOASS.PRG, TURBOASS.CFG, TURBOASS.DAT, BUGABOO.PRG and CALL. PRG to a disk or into a Folder. That's it. 1.6 About the Authors Sren Hellwig and Markus Fritze are currently 21 and 22 Years old and currently studying computer science at the University of Wedel near Hamburg. This is the one of the reasons why we ask for a little bit of patient. Unfortunately our studies are first priority. We will answer any letter that include Int. coupons. Mail without international coupons will be answered only in exceptional cases (Registration doesn't require international coupons!). 1.7 Copyright All rights reserved by -soft. Every person has the right to copy the Assembler. It is also allowed to upload it to Bulletin Board Systems. The Turbo-Ass and the complete manual where put together with extereme professionalism and care. Unfortunately misktakes are hard to exclude therefore we want to bring to your attention that -soft is not liable for any mishafs caused by the software, hardware or mistakes in the manual. We also don't take any responsibility if somebody accuses us that as a result of Turbo-Ass his whole Harddrive was erases and Source- coded with a value of a couple million Mark where destroyed. Note: Use at your own risk as to the quality and performance of the programs is with you. Should the program prove defective, you assume the entire cost of all necessary repair or corrections (This is the same for all Software Companies). 1.1 Turbo-Ass Introduction 4 2 The Assembler 2.1 User Guide for Turbo-Assembler The usage is GEM independent which means it was programmed from scratch. It has the advantage of making Turbo-Ass faster aswell as pretty save to crashes. Additional to that a few handy features where implemented. Nevertheless, GEM should not be overlooked. By pressing the ALT button with the small letters in the buttons it causes the same effect as to click the buttons with the Mouse. 2.2 The Mouse in Turbo-Assembler There are many things that can be done with the Mouse, however only the usage with the Assembler is explained: Sourcecode: Left Mouse Button: Simple Click: Set Cursor Long Click: Mark Block (with scrolling) Double Click: Jump to Definition of the clicked Symbol Right Mouse Button: Simple Click: Scroll Sourcecode (click only at the edge!) Double Click: Equation to be taken over 2.3 The Editor Every inputed line is automatically checked for Syntax Errors and Semantics. If the line contains no mistakes a formated output of this line occurs. In case of an inputed mistakes the type of mistake is shown on top (Statusline). 2.4 Special Features "Absolute Short" as an Adresstypy is directly supported. A ".w" must be included after the Address. 1.1 Turbo-Ass Introduction 5 Line-A Routines can be entered with the "LINEA #Number" format. The Assembler converts non-Motorola inputs into the Motorola standart. 2.5 Optimization Included: Absolute long -> relative Relative -> relative short Absolute long -> PC-relative MOVE.L #xx,A0 -> LEA xx,A0 (if following that PC-relative anything gives) MOVE.L #xx,-(SP)->PEA xx,A0 (if following that PC-relative anything gives) Additional to that typical jumps are found for a few C Compilers (Example: 2 BRA on top of each other where the second BRA is never jumped to). If the Assembler finds any cases where Optimization is possible the Assembler will show a Button called "To Adjust" after it. The Assembler which as a result will optimize the Source code. It is also possible to reverse-optimize, if this may seem of any help. 2.6 Formulas Everything standart is accepted such as: + - * / ! (LOG.NOT) ~ (NOT or EOR) << (SHL >> (SHR) | (OR) & (AND) also comparisons are supported Number Systems supported: Decimal : . or nothing Hexadecimal : $ Binary : % ASCII : " or ' Internal variables are ^^DATE (GEMDOS-DATE), ^^TIME (GEMDOS-TIME) * (act. PC), ^^RSCOUNT (act. value of RS-Counter) and ^^SYMTAB (<>0, during production of the Symbol table). Symbols can be 23 character long where ALL characters are ellowed. Vowel mutation is also supported >126 (also supported). Exception ASCII 255. 2.7 Keyboard Commands Cursorkeys, Backspace, e.t.c. and as usuall CTRL-Y, CTRL-B. like Tempus (Text-Editor) CTRL-D doubles the Cursorline. CTRL-M/ALT-M makes the moving of a line possible. CTRL-W changes the Numberbase under the Cursor. CTRL-U markes all characters with warnings where 1.1 Turbo-Ass 3Introduction 6 a Symbol is defined that is not used anywhere. This is fantastic to find unused Subprograms! ALT-Numeric Keyboard Same as in MS-DOS, gives ASCII back. ESC+Letter Abbreviation for a command. CTRL-ESC Start Keyboard Macro followed by the defined character. All followed Keys are set (not the Mouse). Finish the procedure with ALT-ESC. Keys can be cleared by pressing CTRL-ESC, Key and finally with ALT-ESC (follow the consequantional order). 2.8 Editor Footnotes With the option "Load..." it is possible to load plain ASCII-Text. Upon loading the ASCII-Text is converted into the Turbo-Ass Format which will be indicated. The options "Search Symbol" and "Replace Symbol" allow the programmer to search and replace Symbols. The possibility of wild- card search is possible such as all Symbols that start with the letter "M" (Mask:"M*") without finding every Move-Instruction (such as all ASCII Editors). "Jump to line" allows of jumping to the Symbol definition (Input: "M*"). The dialog boxes in the "Setting" Menu are parly selfexplanatory and the rest is either unimportant or to complicated to explain in this document. 2.9 The Assembler Called with F1. If any errors occur during the Assembly the Assembler markes all lines containing them. After the Assembly it is possible to jump from one error to another through the CTRL-J or Shift-CTRL-J. The Assembler saves the errors, cursor position e.t.c. with the source code! In the Dialogbox after (!) the Assembly it is possible to set a few extra options: - Should the Symboltable be attached to the program (or passed on to the Debugger)? - The saving of the Assembled program in different formats is also possible: Debugger: Jump into the Debugger with Program passing (No Memory) Standart: Save Program (normal) Datas : Develop Data-Lines (for OMIKRON Basic) Absolute: Develop a program for a specific Adress (Example: EPROM) BASIC : Special Format for Basic OMINLINE: Produce INLINE-Line for OMIKRON Basic 1.1 Turbo-Ass Introduction 7 PARALLEL : Special Transferformat for the Amiga SMALLDRI : Produce DRI-Format (However without Import) GFAINLINE: Produce GFA Inline Format FSTANDARD: Set Fast-Load-Bit in Header (ST-Magazin 11/89) and Standard 2.10 Assembler Pseudo-Opcodes DC, DS, BLK, DCB, EVEN, ALIGN, TEXT, DATA, BSS, END, =, EQU, GLOBAL, CNOP, ORG, ILLEGAL AND REG DXSET Length[,Value] Define Table DX 'String' Fill Tableinput with the lenght RS, RSRESET, RSSET, RSBSS Relative Segment OPT D+ Regular Symboltable on OPT X+ Enhanced Symboltable on OPT W+ Warnings on OPT P+ PC-relative program must be developed OPT O+ Optimization on With '-' the above can be turned off OUTPUT 'Filename' Default-Filename PATH 'Path' Set IBYTS for PATH IBYTES 'DEGAS.PI3',32000,34 Loads a Data File length 32000 from Byte 34 of the Data File (Here a Degas Picture) BASE Much to complicated.. REPT Number, ENDR repeats the times between REPT and ENDR IF, ELSE, ENDC Limited Assembly FAIL Abort Assembly 3 The Debugger 3.1 Foreword It is actually impossible to explain in short the Debugger that is why you will find only the most important commands (Typing HELP in the Debugger Menu will have all commands summarized) 3.2 General The Debugger does not use any I/O-Routines of TOS, thus it means that it is pretty save to say that it is quite immune to crashes. In Load Operations it will use GEMDOS calls. 1.1 Turbo-Ass Introduction 8 It run it own Monitorside, which avoids the "disturbing" of the Programm and the Debugger. The Debugging can be accomplished through the use of the Mouse or the Keyboard. The Debugger can be kept in memory, which on the User sides requires the copying into an AUTO-Folder or with the command RESIDENT. The Debugger can be called with CALL.PRG. You can also switch and access the Debugger through the Assembler (The Assembler can also load the Debuuger, see the Setting). 3.3 The Usage of the Debugger The two upper lines correspond to the Functionkeys (with and without shift). The 3 following lines represent the Registerscontents and Flags. All parts of the 5 lines can be used with the help of the Mouse. The rest (max. 20 lines) are modifyable. Here you'll have the inputs and the outputs. Here the live goes wild. The Keyboard layout (Cursorkeys, CTRL-M, CTRL-1, e.t.c.) is very similar to that of the Assembler. Inputs are followed always from the beginnig of the line or after the Hex number. Empty character are ignort or used as spacers. Upon loading of the Debugger through the Assembler the CTRL-HELP allows the jumping back. During the proce dure the PC-Position is converted into the line number. This means that if a program crashed during Debbuging and the PC is in the program with the help of CTRL-HELP it is possible to jump to the appropriate part in the Source Code. SHIFT-SHIFT allows the interuptioun of a running program. The Ring-Indicator is also functioning. The Debugger is also reset-proof. Use as an Emergency brake is proven to be helpfull from time to time. F1 - Executes the next command SF1 - Interrupts at the next Jump command. Simulates the Tracemode of the 68020 Processor. F2 - Sets after the next command a Breakpoint and starts the program. This is very usefull to go through a Subprogram or to complete a DBRA. SF2 - Not to important 1.1 Turbo-Ass Introduction 9 F3 - Executes the program and interrupts after the RTS. Attention! If with MOVEM values are saved in the Stack => Bomb! SF3 - Identical to F3 but after RTE F4 - DOES NOT execute the next TRAP but jumps into it. SF4 - Start program without any Endconditions F5 - Next command is ignort, thus skip. SF5 - Toggle Insert/Overwrite F6 - Show Sourcecode (only if Bugaddo was entered through the Assembler) SF6 - Show converted Assembler markers F7 - Memorydump from the PC SF7 - Show Breakpoints F8 - Disassemble and Dump from the PC SF8 - Info about Memory contents F9 - List from PC (with Symbols if available) SF9 - Erase Screen, Warmboot F10 - Toggle Screen SF10- Quit Debugger 3.4 The Commands All commands can be abbreviated. ?Term Calculates Term Term can (excluding comparisons) contain all operations of the Assembler. Additional to that indirect Addressing is possible with {400}.l. ".l" is the range. All numbers are identified as HEX. Decimal numbers are shown with ".". In case of a Symboltable ".Symbolname" allows the stepping-in.". Defined Variables (partly) ^D0-^D7 Registers D0-D7 1.1 Trubo-Ass Introduction 10 ^A0-^A7 Registers A0-A7 PC, USP, SSP, SR, CCR, SP Registers ^M0-^M9 Converted Assembler markers All of the above variables are modifieable with LET Variable=Term. LET can be abbreviated with "~". A few more Read-Only-Variables: TEXT, DATA, BSS, START, END, BASEPAGE, BP, ACTPD, MEMBASE, SAVEAREA. There are additional 20-30 not that important variables. BREAKPOINT [Number=Address[,[*|=Value|number|?condition]|K]] Show, Delete, change and set the Breakpoints Set B5=PC+.100 Breakpoint 5 (0-15 is possible) to Address PC+100 B K Delete all Breakpoints B Show all Breakpoints BK3 Delete Breakpoint #3 B0=Adr, Number : Set a Stop-Breakpoint with the number of times executed. Following with the clearing of the Breakpoint. B0=Adr,* : Breakpoints are not deleted after execution. Normal Breakpoints ARE delete. B0=Adr,=Wert : Set counter to Adress of Adr. In ^BC0 it is counted upwards to see how often the Address was reached. B0=Adr,?Term : Causes BKPT, Interuption when Term<>0 example: B0=Adr,?^D0=4711 => Interuption when PC=Adr GO [Adr] Start program from Adr or PC TRACE Like F1 SHOWMEMORY Term Show 16 Bytes of(from) Term UNTRACE [Adr] 1.1 Turbo-Ass Introduction 11 Trace until the condition is fullfiled IF Term Condition for UNTRACE OBSERVE Trapno,Funkno Stop when Trapno(Function) is executed as an example: OBSERVE 14,8 => Stop when XBIOS(8) = Floprd() CLS Clear 2. Screen MOUSEON / MOUSEOFF VDI-Mouse on/off |Instruction Execute Instruction (great for testing) LEXECUTE "Filename"[,"Commandline"] Load relocatable program (=>Pexec()) then start with GO. LOAD "Filename"[,Adress] Load File but does not relocate. SAVE ["Filename"[,Address[,Endaddress]]] Save File DIR "[Drive:][Path][Mask]" Example: DIR "D:\Assembler\*.SRC" P Command (PRN) Example: Pd10,10100" <= Disassembles a program from $10 to $10100 and prints it out on the printer. FOPEN Filename, F command, FCLOSE Output of a command into a File ERASE, KILL Filename Delete File (with wildcards!) FREE Show free memory FREE Drive Shows amount of storage left on the Disk/Harddrive MKDIRECTORY Name Create Folder RMDIRECTORY Name Delete Folder NAME oldname,newname Change Filename 1.1 Turbo-Ass Introduction 12 FATTRIBUT Filename,attribut Change/set File-Attribut FORMAT DS/SS,Drive Format Disk TYPE Filename Display ASCII File (SPACE will pause the output) READSECTOR Track,Sector,Side,Adress,Drive(0 or 1) Read Sector with XBIOS(8) WRITESECTOR same as above Write Sector with XBIOS(9) All of the following given commands allow the same Syntax as in the parameters thus only Parameters are represented. This means: [Parameter] = [From][[,]#[Line]|,To|[,][Bytes[]]] The setting of parameter is not necessarry. The Debugger takes the given values automatically. If the expression "From" is missing the disassembling accours from the current address. The current Address is the number at the beginnning of the line, if however this is also missing the last used Address is recognized. The End-Address ("To") must not be necessarilly put in. If a "#" is entered instead of "To" a single line is put out. If "#" followed by a number thus is considered a Linenumber to output. It is possible to output 8 lines, however a max. of 99 are possible. If the End output is missing completely than (usually) only 16 lines are printed out. The number is changeable and can be modified with the Variable "Lines". The last option is the statement of the Bytenumber in square brackets. The square brackets can be ignort. Example: "d text #5" Disassembles 5 lines from the beginning of the loaded program. Example: "m data[30]" Memorydump of the DATA-Segment (48 Bytes long). 1.1 Turbo-Ass Introduction 13 Disassemble [Parameter] Disassemble with Dump, hoewever Dump can be changed! List [Parameter] Disassemble with Symbols but without Dump, Opcodes can be changed (Don't forget the RETURN) SYMBOLTABLE [Parameter] Display Symboltable MEMORY[.B|.W|.L][Parameter] Memorydump with output width (changeable) ASCII [Parameter] ASCII Dump (changeable FIND [From,To], Terms{,Term} Search a loaded program or memory for Terms HUNT (see above) Identical to Find however works on even Addresses ASCFIND [From,To],String Search for a ASCII string (with wildcards) in the Disassembler listing. Slow but practical. CONTINUE Continue Hunt, Find or ASCFIND when aborted through ESC INFO Try it SYSINFO Try this one out too MOVE, COPY From, To, After Copy Memoryblock FILL From, To, Term {,Term} Fill Memoryblock CLR [From, To] Delete Memoryblock (or everything) COMPARE From, To, Adr Compare From, To area from Adr EXIT, QUIT, SYSTEM Leave Debugger 1.1 Turbo-Ass Introduction 14 RESIDENT Keep Debugger Resident SET, LET, ~ See above RESET ALL Coldboot Debugger HELP Gives out all commands (as you'll see, a few more than described here) Table of contents Turbo-Assembler 1 General .. 1 1.1 Introduction .# 1 1.2 Turbo-Ass Features . 1 1.3 What is Shareware? . 2 1.4 Hardware requirements . 3 1.5 Installation .$ 3 1.6 About the Authors . 3 1.7 Copyright .& 3 2 The Assembler 2.1 User Guide to the Assembler . 4 2.2 The Mouse in Turbo-Assembler . 4 2.3 The Editor .% 4 2.4 Special Features . 4 2.5 Optimization .# 5 2.6 Formulas .' 5 2.7 Keyboard Commands . 5 2.8 Editor Footnotes . 6 2.9 The Assembler ." 6 2.10 Assembler Pseudo-Opcodes . 7 3 The Debugger .( 7 3.1 Foreword .' 7 3.2 General .( 7 3.3 The Usage of the Debugger . 8 3.4 The Commands .# 9