mirror of
https://github.com/forth-ev/VolksForth.git
synced 2024-09-29 05:54:59 +00:00
1248 lines
171 KiB
Plaintext
1248 lines
171 KiB
Plaintext
\\ ÄIRECTORY 1OF4 26OCT87RE . 0 .. 0 ÉNHALT 1 ÅDITOR-ÔELEGRAMM 2 ÅRSTES-ÉNFO 3 ÌADE-ÓYSTEM 4 ÌADE-ÄEMO 5 LOADFROM 6 EINFACHE-ÄATEI 8 HELP &10 ÆÏÒÔÈ-ÇRUPPE &11 ÚAHLENSPIEL &12 BUFFERS &13 DUMP &14 ÄISASSEMBLER &16 ÔÅÓÔ.ÄÉÒ &23 SAVESYSTEM &26 FORMATDISK &27 COPYDISK &28 COPY2DISK &29 \\ ÉNHALT ULTRAÆÏÒÔÈ 1OF4 26OCT87RE ÄIRECTORY 0 ÉNHALT 1 ÅDITOR ÔELEGRAMM 2 ÅRSTES ÉNFO 3 ÌADE ÓYSTEM 4 EINFACHE ÄATEI 8 HELP &10 LOKALE ÆÏÒÔÈ-ÇRUPPE &11 ÚAHLENSPIEL &12 RELOCATE THE SYSTEM &13 DUMP &14 - &15 6502-ÄISASSEMBLER &16 - &22 ÔEST-ÏRDNER &23 - &25 SAVESYSTEM &26 BAMALLOT FORMATDISK &27 COPYDISK &28 2DISK COPY2DISK &29 - &30 FREI &31 - &36 PRG-FILES &37 - &84 ÓHADOWS &85 - &121 PRG-FILES &122 - &169 ÆÏÒÔÈ-ÇÅÓÅÌÌÓÃÈÁÆÔ (C) BP/KS/RE/WE/CLV *** ULTRAÆÏÒÔÈ ÅÄÉÔÏÒ ËÏÍÍÁÎÄÏÓ *** BESONDERE ÆUNKTIONEN: ÃTRL O ÏVERWRITE ÃTRL I ÉNSMODE ÃTRL $ .STAMP ÃTRL # .SCR# ÃTRL ' SEARCH ÃURSOR ËONTROLLE: NORMALE ÆUNKTION, ANDERE: Æ7 +TAB Æ8 -TAB ÃÌÒ >TEXT-END ÒÅÔÕÒÎ ÃÒ ÚEICHEN-ÂEHANDLUNG: Æ5 BUF>CHAR Æ6 CHAR>BUF ÄÅÌ BACKSPACE ÉÎÓÔ INSERT ÃTRL D ÄELETE ÃTRL @ COPYCHAR ÚEILEN-ÂEHANDLUNG: Æ1 NEWLINE Æ2 KILLINE Æ3 BUF>LINE Æ4 LINE>BUF ÃTRL E ÅRASELINE ÃTRL R CLRÒIGHT ÃTRL ^ COPYLINE ÂLAETTERN: ÃTRL N >ÎEXT ÃTRL B >ÂACK ÃTRL A >ÁLTERNATE ÃTRL W >SHADO× ÁUSSTIEG AUS ÅDITOR: ÃTRL C ÃANCELED ÃTRL X UPDATED ÃTRL F ÆLUSHED ÃTRL L ÌOADING ÆÏÒÔÈ-ÇÅÓÅÌÌÓÃÈÁÆÔ (C) BP/KS/RE/WE/CLV ÄU BIST IM ÅDITORMODUS ÓCREEN # 3 ÚURUECK INS ÆÏÒÔÈ MIT ÒÕÎ/ÓÔÏÐ *** ULTRAÆÏÒÔÈ-83 *** ÅINSTIEG IN DEN ÅDITOR MIT "L ( N -- )" ODER MIT "R ( -- )" ÁÃÈÔÕÎÇ! ÏHNE ÅRFAHRUNG NUR MIT ÓCHREIBSCHUTZ AUF DEN ÄISKETTEN ARBEITEN! ÅINIGE ÆÏÒÔÈ-×ORTE ZUM ÐROBIEREN AUSSERHALB DES ÅDITORS: ×ÏÒÄÓ ÏÒÄÅÒ ÖÉÅ× ÈÅÌÐ UND DIE Ã= -ÔASTE ÓEITE ZURUECK MIT "ÃTRL B" ÚUM ×EITERGEBEN BITTE DIE GANZE ÄISKETTE KOPIEREN (ÂACK-ÕP) !!! ÆÏÒÔÈ-ÇÅÓÅÌÌÓÃÈÁÆÔ (C) BP/KS/RE/WE/CLV\ ÌADE EIN ÁRBEITSSYSTEM 05NOV87RE ÏNLYFORTH 2 +LOAD \ LOADFROM &46 C: LOADFROM \ .BLK 4 C: LOADFROM \ ÔRANSIENT ÁSSEMB &19 C: LOADFROM \ ÅDITOR &26 A: LOADFROM \ SAVESYSTEM OLDSAVE 2 +LOAD \ LOADFROM 5 C: LOADFROM \ ÁSSEMBLER &47 C: LOADFROM \ ÔRACER + ÔOOLS &13 A: LOADFROM \ ÂUFFERS OLDSAVE \\ ÆÏÒÔÈ-ÇÅÓÅÌÌÓÃÈÁÆÔ (C) BP/KS/RE/WE/CLV \ ÌADE DIE Ã64 ÄEMO 21OCT87RE (16 .( ÎICHT FUER Ã16!) \\ Ã) ÏNLYFORTH 1 +LOAD \ LOADFROM LIMIT FIRST @ - B/BUF 8 * - ?\ 8 BUFFERS \NEEDS DEMOSTART : DEMOSTART ; 90 ALLOT \NEEDS TASKS $39 Ã: LOADFROM \NEEDS HELP $Á Á: LOADFROM \NEEDS SLIDE &6 Ä: LOADFROM 1 SCR ! 0 R# ! ÏNLYFORTH OLDSAVE \\ ÆÏÒÔÈ-ÇÅÓÅÌÌÓÃÈÁÆÔ (C) BP/KS/RE/WE/CLV \ GETDISK LOADFROM 20OCT87RE HERE $200 HALLOT HEAP DP ! : GETDISK ( DRV -- ) CR ." ÂITTE ÄISKETTE " 1+ . ." EINLEGEN! " KEY DROP .STATUS CR ; : LOADFROM ( BLK DRV -- ) ?DUP 0= ÉÆ LOAD EXIT ÔÈÅÎ FLUSH GETDISK LOAD FLUSH 0 GETDISK ; 0 ÃONSTANT Á: 1 ÃONSTANT Â: 2 ÃONSTANT Ã: 3 ÃONSTANT Ä: : ?\ ( F -- ) ?EXIT [COMPILE] \ ; --> ÆÏÒÔÈ-ÇÅÓÅÌÌÓÃÈÁÆÔ (C) BP/KS/RE/WE/CLV \ ÎEUES SAVE EMPTY CLEAR 20OCT87RE ' SAVE ÁLIAS OLDSAVE ' CLEAR ÁLIAS OLDCLEAR ' EMPTY ÁLIAS OLDEMPTY : SAVE STATE @ ÉÆ COMPILE SAVE ÔÈÅÎ ; IMMEDIATE : CLEAR STATE @ ÉÆ COMPILE CLEAR ÔÈÅÎ ; IMMEDIATE : EMPTY STATE @ ÉÆ COMPILE EMPTY ÔÈÅÎ ; IMMEDIATE DP ! \\ ÆÏÒÔÈ-ÇÅÓÅÌÌÓÃÈÁÆÔ (C) BP/KS/RE/WE/CLV \ EINFACHES ÄATEISYSTEM 20OCT87RE \NEEDS (SEARCH .( (SEARCH FEHLT! ) \\ ' WORD >BODY 2+ @ ÁLIAS (WORD 0 ÃONSTANT ORDNER ' ORDNER >BODY Ü ÃONSTANT >ORDNER : WURZEL >ORDNER OFF ; WURZEL : KATALOG ( -- ADDR LEN ) ORDNER BLOCK B/BLK ; : (SUCHE ( ADR LEN -- N ) KATALOG (SEARCH 0= ABORT" NICHT GEFUNDEN" ORDNER BLOCK - >IN PUSH >IN ! ÂÅÇÉÎ BL KATALOG (WORD CAPITALIZE DUP C@ 0= ABORT" EXHAUSTED" NUMBER? ?DUP NOT ×ÈÉÌÅ DROP ÒÅÐÅÁÔ 0< ?EXIT DROP ; --> \ EINFACHES ÄATEISYSTEM 20OCT87RE : SPLIT ( ADR LEN CHAR -- ADR2 LEN2 ADR1 LEN1 ) >R 2DUP R@ SCAN R> OVER >R SKIP 2SWAP R> - ; : LIES ( -- N ) \ /PATH/FILE BL WORD COUNT DUP 0= ABORT" ×AS DENN?" PAD PLACE PAD COUNT ÂÅÇÉÎ ÁSCII / SPLIT DUP ÉÆ (SUCHE ÅÌÓÅ NIP WURZEL ÔÈÅÎ OVER ×ÈÉÌÅ >ORDNER +! ÒÅÐÅÁÔ -ROT 2DROP ORDNER + ; : LD LIES LOAD ; \ ÌOAÄ : SH LIES LIST ; \ ÓÈOW : ED LIES L ; \ ÅÄIT : CD LIES >ORDNER ! ; \ ÃHANGE ÄIR : LS ORDNER LIST ; \ ÌIÓT ÄIR ÆÏÒÔÈ-ÇÅÓÅÌÌÓÃÈÁÆÔ (C) BP/KS/RE/WE/CLV \ HELP 14OCT85RE) ÏNLYFORTH : HELP ( --) 3 L \ LIST ÓCR # 3 CR ." ÐROBIER' RUHIG WEITER!" CR CR ." ÁBER OHNE ÈANDBUCH" CR ." UND DIE ÈILFE DER" CR ." ÆÏÒÔÈ-ÇESELLSCHAFT" CR ." BLEIBT ÆÏÒÔÈ EIN ÁÄÖÅÎÔÕÒÅ!" CR ; \ PRINT SILLY TEXT \\ ÆÏÒÔÈ-ÇÅÓÅÌÌÓÃÈÁÆÔ (C) BP/KS/RE/WE/CLV \\ ÈIER IST ... \\ \ ... ÄEINE LOKALE ... \ \ ... ÆÏÒÔÈ-ÇRUPPE : \ \ \ \ \ \ \ \ ËONTAKTADRESSE : \ \ \ \ BERND PENNEMANN \ \ ÔREITSCHKESTR 20 \ \ \ \ 1000 ÂERLIN 41 \ \ \ \ \ \ ÃLAUS ÖOGT \ \ ÂUELOWSTR. 67 \ \ \ \ 1000 ÂERLIN 30 \ \ \ \ \ \ \ \ \ \ \ \ \ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\\ NUMBERS 05JUL85RE) DECIMAL \ SORRY, BUT THIS \ IS FOR ÙÏÕ ! : ALPHABETIC ( --) &36 BASE ! ; HEX \ ÁH, MUCH BETTER \ ÌOOK AT THIS: 31067Å6. ALPHABETIC D. HEX 19211Ä5. ALPHABETIC D. HEX -123. ALPHABETIC D. HEX \ ÔRY TO EXPLAIN ! \\ ÆÏÒÔÈ-ÇÅÓÅÌÌÓÃÈÁÆÔ (C) BP/KS/RE/WE/CLV \ RELOCATING THE SYSTEM 20OCT87RE Ü : RELOCATE-TASKS ( NEWÕÐ -- ) UP@ DUP ÂÅÇÉÎ 1+ UNDER @ 2DUP - ×ÈÉÌÅ ROT DROP ÒÅÐÅÁÔ 2DROP ! ; : RELOCATE ( STACKLEN RSTACKLEN -- ) SWAP ORIGIN + 2DUP + B/BUF + 2+ LIMIT U> ABORT" BUFFERS?" DUP PAD $100 + U< ABORT" STACK?" OVER UDP @ $40 + U< ABORT" RSTACK?" FLUSH EMPTY UNDER + ORIGIN $Á + ! \ R0 DUP RELOCATE-TASKS UP@ 1+ @ ORIGIN 1+ ! \ TASK 6 - ORIGIN 8 + ! COLD ; \ S0 : BYTES.MORE ( N -- ) UP@ ORIGIN - + R0 @ UP@ - RELOCATE ; : BUFFERS ( +N -- ) B/BUF * 2+ LIMIT R0 @ - SWAP - BYTES.MORE ; \ DUMP UTILITY 30NOV85RE \ ADAPTED FROM Æ83 ÌAXEN/ÐERRY Ü : .2 ( N --) 0 <# # # #> TYPE SPACE ; Ü : Ä.2 ( ADR LEN --) BOUNDS ?ÄÏ É C@ .2 ÌÏÏÐ ; : DLN ( ADR --) \ ÄUMPÌIÎE CR DUP 4 U.R SPACE DUP 8 Ä.2 ." Z " 8 BOUNDS ÄÏ É C@ EMIT ÌÏÏÐ ; Ü : ?.N ( N0 N1 -- N0) 2DUP = ÉÆ RVSON ÔÈÅÎ 2 .R RVSOFF SPACE ; Ü : ?.A ( N0 N1 -- N0) 2DUP = ÉÆ RVSON ÔÈÅÎ 1 .R RVSOFF ; --> ÆÏÒÔÈ-ÇÅÓÅÌÌÓÃÈÁÆÔ (C) BP/KS/RE/WE/CLV \ DUMP UTILITY 30NOV85RE \ ADAPTED FROM Æ83 ÌAXEN/ÐERRY Ü : .HEAD ( ADR LEN -- ADR' LEN') SWAP DUP $ÆÆÆ0 AND SWAP $Æ AND 2 0 ÄÏ CR 5 SPACES É 8 * 8 BOUNDS ÄÏ É ?.N ÌÏÏÐ 2 SPACES É 8 * 8 BOUNDS ÄÏ É ?.A ÌÏÏÐ ÌÏÏÐ ROT + ; : DUMP ( ADR LEN --) BASE PUSH HEX .HEAD BOUNDS ?ÄÏ É DLN STOP? ÉÆ ÌÅÁÖÅ ÔÈÅÎ 8 +ÌÏÏÐ CR ; : Z ( ADR N0 ... N7 --) ROW 2- >R UNLINK 8 PICK 7 + -7 BOUNDS ÄÏ É C! -1 +ÌÏÏÐ R> 0 AT DLN QUIT ; CLEAR \ DISASSEMBLER 6502 LOADSCR 06MAR86RE ÏNLYFORTH \NEEDS ÔOOLS ÖOCABULARY ÔOOLS ÔOOLS ALSO DEFINITIONS HEX Ü : TABELLE ( +N -- ) ÃREATE 0 ÄÏ BL WORD NUMBER DROP , ÌÏÏÐ ÄOES> ( 8B1 -- 8B2 +N ) + COUNT SWAP C@ ; --> \ DIS SHORTCODE0 20OCT87RE BASE @ HEX $80 Ü TABELLE SHORTCODE0 0Â10 0000 0000 0341 2510 0320 0000 0332 0ÁÃ1 0000 0000 03Á1 0Å10 0000 0000 0362 1Ä32 0000 0741 2841 2710 2820 0732 2832 08Ã1 0000 0000 28Á1 2Ä10 0000 0000 2862 2Á10 0000 0000 2141 2410 2120 1Ã32 2132 0ÃÃ1 0000 0000 21Á1 1010 0000 0000 2162 2Â10 0000 0000 2941 2610 2920 1ÃÄ2 2932 0ÄÃ1 0000 0000 29Á1 2Æ10 0000 0000 2962 0000 0000 3241 3141 1710 3610 3232 3132 04Ã1 0000 32Á1 31Â1 3810 3710 0000 0000 2051 1Æ51 2041 1Æ41 3410 3310 2032 1Æ32 05Ã1 0000 20Á1 1ÆÂ1 1110 3510 2062 1Æ72 1451 0000 1441 1541 1Â10 1610 1432 1532 09Ã1 0000 0000 15Á1 0Æ10 0000 0000 1562 1351 0000 1341 1941 1Á10 2210 1332 1932 06Ã1 0000 0000 19Á1 2Å10 0000 0000 1962 BASE ! --> \ DIS SCODE ADRMODE 20OCT87RE Ü ÃREATE SCODE $23 C, $02 C, $18 C, $01 C, $30 C, $1E C, $12 C, $2C C, Ü ÃREATE ADRMODE $81 C, $41 C, $51 C, $32 C, $91 C, $A1 C, $72 C, $62 C, Ü : SHORTCODE1 ( 8B1 - 8B2 +N) 2/ DUP 1 AND ÉÆ 0= 0 EXIT ÔÈÅÎ 2/ DUP $7 AND ADRMODE + C@ SWAP 2/ 2/ 2/ $7 AND SCODE + C@ ; Ü ÖARIABLE MODE Ü ÖARIABLE LENGTH --> \ DIS SHORTCODE TEXTTAB 06MAR86RE Ü : SHORTCODE ( 8B1 -- +N ) DUP 1 AND ( UNGERADE CODES) ÉÆ DUP $89 = ÉÆ DROP 2 ÔÈÅÎ SHORTCODE1 ÅÌÓÅ SHORTCODE0 ( GERADE CODES) ÔÈÅÎ SWAP DUP 3 AND LENGTH ! 2/ 2/ 2/ 2/ MODE ! ; Ü : TEXTTAB ( CHAR +N 8B -- ) ÃREATE DUP C, SWAP 0 ÄÏ >R DUP WORD 1+ HERE R@ CMOVE R@ ALLOT R> ÌÏÏÐ 2DROP ÄOES> ( +N -- ) COUNT >R SWAP R@ * + R> TYPE ; --> \ DIS TEXT-TABELLEN 06MAR86RE BL $39 3 Ü TEXTTAB .MNEMONIC *BY ADC AND ASL BCC BCS BEQ BIT BMI BNE BPL BRK BVC BVS CLC CLD CLI CLV CMP CPX CPY DEC DEX DEY EOR INC INX INY JMP JSR LDA LDX LDY LSR NOP ORA PHA PHP PLA PLP ROL ROR RTI RTS SBC SEC SED SEI STA STX STY TAX TAY TSX TXA TXS TYA ( +N -- ) ÁSCII / $Å 1 Ü TEXTTAB .VOR / /A/ /Z/#/ / /(/(/Z/Z/ /(/ ÁSCII / $Å 3 Ü TEXTTAB .NACH / / / / / /,X /,Y /,X)/),Y/,X /,Y / /) / --> \ DIS 2U.R 4U.R 06MAR86RE : 4U.R ( U -) 0 <# # # # # #> TYPE ; : 2U.R ( U -) 0 <# # # #> TYPE ; --> \ DIS 20OCT87RE ÆORTH DEFINITIONS : DIS ( ADR -- ) BASE PUSH HEX ÂÅÇÉÎ CR DUP 4U.R SPACE DUP C@ DUP 2U.R SPACE SHORTCODE >R LENGTH @ DUP ÉÆ OVER 1+ C@ 2U.R SPACE ÔÈÅÎ DUP 2 = ÉÆ OVER 2+ C@ 2U.R SPACE ÔÈÅÎ 2 SWAP - 3 * SPACES R> .MNEMONIC SPACE 1+ MODE @ DUP .VOR $à = ÉÆ DUP C@ DUP $80 AND ÉÆ $100 - ÔÈÅÎ OVER + 1+ 4U.R ÅÌÓÅ LENGTH @ DUP 2 SWAP - 2* SPACES ?DUP ÉÆ 2 = ÉÆ DUP @ 4U.R ÅÌÓÅ DUP C@ 2U.R ÔÈÅÎ ÔÈÅÎ ÔÈÅÎ MODE @ .NACH LENGTH @ + STOP? ÕÎÔÉÌ DROP ; ÏNLYFORTH CLEAR \\ ÓUBDIRECTORY TEST.DIR 26OCT87RE . 0 .. -&23 ALL-WORDS 1 FREE 2 \ PRETTY WORDS 26OCT87RE : .TYPE ( CFA -- ) DUP @ SWAP 2+ CASE? ÉÆ ." ÃODE" EXIT ÔÈÅÎ ['] : @ CASE? ÉÆ ." :" EXIT ÔÈÅÎ ['] BASE @ CASE? ÉÆ ." ÕSER" EXIT ÔÈÅÎ ['] FIRST @ CASE? ÉÆ ." ÖAR" EXIT ÔÈÅÎ ['] LIMIT @ CASE? ÉÆ ." ÃON" EXIT ÔÈÅÎ ['] ÆORTH @ CASE? ÉÆ ." ÖOC" EXIT ÔÈÅÎ ['] R/W @ CASE? ÉÆ ." ÄEF" EXIT ÔÈÅÎ DROP ." ????" ; : (WORDS ( LINK -- ) ÂÅÇÉÎ STOP? ABORT" STOPPED" @ DUP ×ÈÉÌÅ CR DUP 2- @ 3 .R SPACE DUP 2+ DUP NAME> .TYPE SPACE .NAME ÒÅÐÅÁÔ DROP ; : ALL-WORDS ( -- ) VOC-LINK ÂÅÇÉÎ @ ?DUP ×ÈÉÌÅ DUP 6 - >NAME CR CR .NAME ." WORDS:" CR ." ÂLK ÔYPE ÎAME " DUP 4 - (WORDS ÒÅÐÅÁÔ ; \ SAVESYSTEM 23OCT87RE Ü : (SAVSYS ( ADR LEN -- ) [ ÁSSEMBLER ] ÎEXT [ ÆORTH ] ['] PAUSE DUP PUSH ! \ SINGLETASK I/O PUSH I/O OFF BUSTYPE ; : SAVESYSTEM \ NAME MUSS FOLGEN \ ÆORTH-ËERNAL VORBEREITEN: SCR PUSH 1 SCR ! R# PUSH R# OFF \ ÅDITOR VORBEREITEN: [ ÅDITOR ] STAMP$ DUP PUSH OFF (PAD DUP PUSH OFF \ NUN GEHT'S LOS: SAVE 8 2 BUSOPEN 0 PARSE BUSTYPE " ,P,W" COUNT BUSTYPE BUSOFF 8 2 BUSOUT ORIGIN $17 - DUP $100 U/MOD SWAP BUS! BUS! HERE OVER - (SAVSYS BUSOFF 8 2 BUSCLOSE 0 (DRV ! DERROR? ABORT" SAVE-ERROR" ; ÏNLYFORTH \ BAMALLOCATE, FORMATDISK 16FEB91PZ : BAMALLOCATE ( --) DISKOPEN ?EXIT PAD &18 0 READSECTOR 0= ÉÆ PAD 4 + $8à ERASE PAD &18 0 WRITESECTOR DROP ÔÈÅÎ DISKCLOSE (DRV @ 8 + &15 BUSOUT " I0" COUNT BUSTYPE BUSOFF ; : FORMATDISK ( --) \ ÎAME MUSS FOLGEN (DRV @ 8 + &15 BUSOUT " N0:" COUNT BUSTYPE 0 PARSE BUSTYPE BUSOFF DERROR? ?EXIT BAMALLOCATE ; \ Z.Â.: FORMATDISK ULTRAÆÏÒÔÈ,ID ÆÏÒÔÈ-ÇÅÓÅÌÌÓÃÈÁÆÔ (C) BP/KS/RE/WE/CLV \ COPYDISK 06JUN85WE) Ü ÖARIABLE DISTANCE LIMIT FIRST @ - B/BUF / Ü ÃONSTANT BUFS Ü : BACKUPBUFS ( FROM COUNT --) CR ." ÉNSERT ÓOURCE-ÄISK" KEY DROP CR BOUNDS 2DUP ÄÏ É BLOCK DROP ÌÏÏÐ CR ." ÉNSERT ÄESTINATION-ÄISK" KEY DROP CR DISTANCE @ ?DUP ÉÆ >R SWAP 1- OVER R> + CONVEY ÅÌÓÅ ÄÏ É BLOCK DROP UPDATE ÌÏÏÐ SAVE-BUFFERS ÔÈÅÎ ; : COPYDISK ( BLK1 BLK2] [TO.BLK --) 2 PICK - DISTANCE ! 1+ OVER - DUP 0> NOT ÁBORT" ÒÁÎÇÅ ÅÒÒÏÒ!" BUFS /MOD ?DUP ÉÆ SWAP >R 0 ÄÏ DUP BUFS BACKUPBUFS BUFS + ÌÏÏÐ R> ÔÈÅÎ ?DUP ÉÆ BACKUPBUFS ÅÌÓÅ DROP ÔÈÅÎ ; \ 2DISK COPY2DISK.. CLV14JUL87 $165 Ü ÃONSTANT 1.T $1ÅÁ Ü ÃONSTANT 2.T $256 Ü ÃONSTANT 3.T Ü : (S#>S+T ( SECTOR# -- SECT TRACK) DUP 1.T U< ÉÆ $15 /MOD EXIT ÔÈÅÎ ( 3+) DUP 2.T U< ÉÆ 1.T - $13 /MOD $11 + EXIT ÔÈÅÎ DUP 3.T U< ÉÆ 2.T - $12 /MOD $18 + EXIT ÔÈÅÎ 3.T - $11 /MOD $1Å + ; Ü : S#>T+S ( SECTOR# -- TRACK SECT ) (S#>S+T 1+ SWAP ; --> \ ..2DISK COPY2DISK CLV04AUG87 Ü : ?E ( FLAG--) ?DUP ÉÆ ." ÄRV " (DRV @ . DISKCLOSE ABORT" " ÔÈÅÎ ; Ü : OP ( DRV#--) (DRV ! DISKOPEN ?E ; : COPYSECTOR \ ADR SEC# -- 2DUP 0 OP S#>T+S READSECTOR ?E DISKCLOSE 1 OP S#>T+S WRITESECTOR ?E DISKCLOSE ; : COPY2DISK \ -- \ FUER 2 ÆLOPPYS PAD DUP $110 + SP@ U> ABORT" NO ROOM" CR ." ÓOURCE=0, ÄEST=1" KEY DROP CR BASE PUSH DECIMAL 0 &682 ÄÏ É . É S#>T+S . . CR $91 CON! DUP É COPYSECTOR -1 +ÌÏÏÐ DROP ; : 2DISK1551 \ -- STELLT EINE 1551 AUF #9 FLUSH 8 &15 BUSOPEN " %9" COUNT BUSTYPE BUSOFF DERROR? DROP ; ES KOMMT NICHTS MEHR ES KOMMT NICHTS MEH R ES KOMMT NICHTS MEHR ES KOMMT NICHTS M EHR ES KOMMT NICHTS MEHR ES KOMMT NICHTS MEHR ES KOMMT NICHTS MEHR ES KOMMT NICH TS MEHR ES KOMMT NICHTS MEHR ES KOMMT NI CHTS MEHR ES KOMMT NICHTS MEHR ES KOMMT NICHTS MEHR ES KOMMT NICHTS MEHR ES KOMM T NICHTS MEHR ES KOMMT NICHTS MEHR ES KO MMT NICHTS MEHR ES KOMMT NICHTS MEHR ES KOMMT NICHTS MEHR ES KOMMT NICHTS MEHR E S KOMMT NICHTS MEHR ES KOMMT NICHTS MEHR ES KOMMT NICHTS MEHR ES KOMMT NICHTS ME HR ES KOMMT NICHTS MEHR ES KOMMT NICHTS MEHR ES KOMMT NICHTS MEHR ES KOMMT NICHT S MEHR ES KOMMT NICHTS MEHR ES KOMMT NIC HTS MEHR ES KOMMT NICHTS MEHR ES KOMMT N ICHTS MEHR ES KOMMT NICHTS MEHR ES KOMMT NICHTS MEHR ES KOMMT NICHTS MEHR ES KOM MT NICHTS MEHR ES KOMMT NICHTS MEHR ES K OMMT NICHTS MEHR ES KOMMT NICHTS MEHR ES KOMMT NICHTS MEHR ES KOMMT NICHTS MEHR ES KOMMT NICHTS MEHR ES KOMMT NICHTS MEH R ES KOMMT NICHTS MEHR ES KOMMT NICHTS M EHR ES KOMMT NICHTS MEHR ES KOMMT NICHTS MEHR ES KOMMT NICHTS MEHR ES KOMMT NICH Æ ±<1C>ȱ ‘L |