|
DataMuseum.dkPresents historical artifacts from the history of: RegneCentralen RC3600/RC7000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RegneCentralen RC3600/RC7000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 42496 (0xa600) Types: TextFile Names: »PAM86«
└─⟦324a87938⟧ Bits:30001794 SG0014 Floppy └─⟦this⟧
; 'PAM86' 20.8.85 SIDSTE RETTELSE ; SIDSTE VERSION AF PAM85: ; 'PAM85' MED AUTOMATISK DISKETTEIDENTIF OG PARAMETEROPTION OG SMAL SKRIFT ; ETABL 20.8.85 ; PARAM 0 ELLER 1 GIVER STRAX KORTLÆGN AF DISKETTE I DRIVE $FD1 ; (0 HVIS SMALT PAPIR, 1 HVIS BREDT) ; INGEN PARAMETER GIVER MENUVALG HVOR MAN NORMALT BLOT SKAL VÆLGE 'M' ; (HVIS 'M' ER PAPIRBREDDE LÅST FAST EFTER PRG.LOAD) ;==================================================================== ; 20.8.85 RETTELSER (BLA UDELADE TTYOUTPUT UNDERVEJS) ; ÆNDRET MED AUTOMAP + JUST 19.8.85 ; 'PAM8' FÆRDIGVERSION 15.3.85 (== PAM84) ; KAN NU KLARE FLERE FEJL OG UDSKRIVER OSSE $-ENTRIES ; RETT 15.8.85 (TILFØJ LDA 3,CUR PGA NYE SPRING!) ; RETT 15.8.85 ; RETTELSER TIL NY VERSION 'PAM8' UD FRA 'PAM6' PÅBEG 14.8.85 ; ************* ; 'PAM6': ; 12.6.84 NAT ; 12.6.84 AFTEN IGEN ; 12.6.84 IGEN ; JUSTERINGER TIL NÆSTE VERSION PÅBEG 12.6.84 ; FØRSTE FÆRDIGVERSION: ; 7.6.84 IGEN KL 13 ; 7.6.84 IGEN ; 7.6.84 IGEN ; 7.6.84 GENINDTASTN AF SIDSTE RETTELSER & RETTELSER IØVR , FORM ; 6.6.84 KL 1530 (LIGNER SIDSTE FEJL RETTES, MEN STADIG UAFPUDSET PRG) ; 6.6.84 KL 1330 ; 6.6.84 ; 6.6.84 FORM REGN ; 5.6.84 KL 1435 ; 5.6.85 KL 14 ; 5.6.84 LAYOUT & AUTOMAP ETABL ; 2.6.84 KL 15 ; LAYOUTJUSTERING 2.6.84 KL 14 ; 2.6.84 KL 13 ; 1.6.84 ; 1.6.84 KL CA 18 / BEGYNDER AT VIRKE! ; 1.6.84 RETTET ; 1.6.84 ; 30.5.84 MINDRE RETTELSE ; 30.5.84 NU MED LOOKUP & TITELBLOCK-UDSKRIFT ; IGEN DD ; 29.5.84 NU BEDRE!! 148/2468 ; 28.5.84 ; 27.5.84 ; 23.5.84 145/2420 ; 23.5.84 FORM ; 22.5.84 ; RETTELSER PÅBEG 21.5.84 ; UDVIKL AF PLMAP-PROGRAM PÅ BASIS AF AED8 (S.D.) PÅBEG 20.5.84 .TITL MAPPG .MSG SIDE 1 182/3330 MAP8 (CFR FD/AED8) .NREL .RDXO 16 .RDX 10 .TXTM 1 .TXTN 1 PGDS: 1B0+1B5+1B15 ;PROGRAMDESCRIPTOR (7 WORDS) LAB00 0 PCDS-PGDS .TXT 'FD1MP' .NOLOC 1 LAB00: .TXT "<12><10>DISKETTE KORTLÆGNINGSPROGRAM<13><10>PL AUG 85 /VERS 8.05<10><10><0>" FUT0: FUT1: .TXT "<13><10> *** IKKE IMPL ***<13><10><0>" FUT2: .TXT "<13><10> *** BUFFER FULD ***<13><10><0>" FUT3: .TXT "<13><10> *** IKKE FUNDET ***<13><10><0>" FUT4: .TXT "<13><10> *** GAL SLICE SIZE ***<13><10><0>" FUT5: .TXT "<13><10> *** NY FEJL ***<13><10><0>" FUT6: .TXT "<13><10> *** ILLEGAL BUFFER SIZE ***<13><10><0>" FUT7: .TXT "<13><10> *** UDEF. TRACK/SECTOR ***<13><10><0>" FUT8: FUT9: .TXT "<13><10> *** ??? ***<13><10><0>" FFUT1: .TXT " *** FILSTATUS = <0>" FFUT2: .TXT " DI OF BU . . . IL EF BL DL PA EM PO DM TI REJ<10><0>" FTXT: FUT0*2 FUT1*2 FUT2*2 FUT3*2 FUT4*2 FUT5*2 FUT6*2 FUT7*2 FUT8*2 FUT9*2 FUT9*2 FUT9*2 TEKSM: .TXT %<13><10> <13><10> @A: ASCII-FORMAT <13><10> @B: ASCII-HEX-FORMAT <13><10> @C: HEX-FORMAT <13><10> @D: SLICESIZE * EX: @D03 <13><10> @E: KVÆL $LPT-LOGNING <13><10> @F: START $LPT-LOGNING <13><10> @G: VÆLG LINIEBREDDE * EX: @G02, @G10, @G18, @G20, @G30 <13><10> @J: JSR TIL ADR. * EX: @J7005 (FARLIGT!!!) <13><10> @K: OUTPUT SIDE TIL COREADR * EX: @K7005 (FARLIGT) <13><10> @L: LÆS SIDE FRA COREADR * EX: @L7005 <13><10> @M: LAV SKRIFT (INDEXSKRIFT) <13><10> *** BUFFER W-ADR = <0>% ;PAS PÅ SLUTTEGN! .NOLOC 0 ; === FEJL === ; CALL: FEJLNR . . (CUR) FEJL8: FTXT FEJL9: FTXT FEJL0: 0 CHAN1: FEJL1: INC 0,1 LDA 3,.10 SL 1,3 MOV 3,1 STA 1,FEJL0 LDA 3,FEJL8 STA 3,FEJL9 ISZ FEJL9 DSZ FEJL0 JMP .-2 LDA 3,CUR LDA 0,.3 GOP LDA 0,FEJL9 @ OUTTEXT LDA 1,.32 OUTEND LDA 3,CUR OPERA FFEJ8: FFUT2*2 FFEJ9: FFUT1*2 FFE00:0 FFE01:0 FFE02:0 FFE03:0 FFEJ1: STA 0,FFE00 STA 1,FFE01 STA 2,FFE02 STA 3,FFE03 LDA 0,.3 LDA 3,CUR GOP ONL LDA 0,FFE02 ; FILZONE! MOVZL 0,0 OUTXT LDA 0,FFEJ9 OUTXT LDA 1,FFE01 ; STATUS MOVS 1,1 OUTHX MOVS 1,1 OUTHX OSP ONL ;? LDA 0,FFEJ8 OUTXT ONL OPERA HELP1: LDA 0,.3 LDA 3,CUR GOP LDA 0,TEKSH OUTXT OPERA TEKSH: TKSH*2 LPAD2: LPZON TEKST: LAB00*2 COUN9: COUN0 PARAD: 0 ;SIDE 1 SLUT «ff» .MSG SIDE 2 210/2864 15.8.85 MAPPRG BIPA: 0 BUADR: BIRTH: MOV 1,2 LDA 1,5,2 STA 1,BIPA LDA 1,7,2 ; LOAD PARAM ELLER 0 HVIS INGEN MOV 1,1,SNR ISZ @ BIVLG ; Ø ISTF O NÅR RUTINE M KØRES LDA 2,LPAD2 ; LPT LOGZONE LDA 0,.3 LDA 3,CUR OPEN LDA 3,CUR LDA 0,.3 GOP LDA 0,TEKST OUTXT LDA 0,TEKSH OUTXT LDA 2,BILPA LDA 0,TEKST OUTXT ;MAPPRG: LDA 2,SKADR LDA 0,SKTGN STA 0,0,2 INC 2,2 DSZ SKS12 JMP .-3 LDA 1,.32 STA 1,SKS12 SUB 1,1 STA 1,0,2 INC 2,2 DSZ SKS11 JMP .-10 LDA 2,BIPA SZ 2,2 JMP @ BIAU1 ; HVIS LOADPARAMETER OPERA ; HVIS IKKE LOADPARAMETER SKADR: PCDS+128 SKTGN: .TXT !. ! SKS11: 157 SKS12: 32 BILPA: LPZON BIVLG: AUVL3 BIAU1: AUVL1 .NOLOC 1 .TXT "IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII" .TXT "IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII" .TXT "IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII" TKSH: .TXT " ?: <13><10> M: AUTOMATISK KORTLÆGNING <13><10> B: RESET SKEMA <13><10> O: NORMAL AUTO MED LÆSN <13><10> Ø: NORMAL AUTO UDEN LÆSN <13><10> X: FØRSTE SECTOR I SYS <13><10> V: ALLEDERE VALGT SYSSECTOR <13><10> W: ANAL AF VALG T/S * EX: W0F12 (TTSS) <13><10> E: ALLE EFTERF. SECTORER OG UDSKRIFT <13><10> F: EFTERF SECTOR <13><10> U: UDSKRIFT <13><10> T: TYPE BUFFER <13><10> H: HOME <13><10> HS, HB, HM, HY, HO: SÆDV HARDOPERATIONS <13><10> BEMÆRK HM NØDV FØR SYS PÅ UNIT 1 <13><10> BEMÆRK HM@ NØDV FØR SYS PÅ UNIT 0/3 (DOG IKKE 1. GANG) <13><10> I: INIT BIT <13><10> G: EXEKVER BITUDSKRIFT * EX: G10 <13><10> @@: YDERL. FORKL <13><10> BREAK MAPPG (FRA S) VIL STOPPE IGANGVÆRENDE KØRSEL <13><10><0>" .NOLOC 0 BI5: OPER1: ISZ OPER4 STA 3,OPER3 LDA 3,CUR INTK MAP1 FNR1 FNR SKUD1 TYPE1 IBIT1 GBIT1 FEJL1 ;HARA1 FEJL1 ;HARS1 FEJL1 ;HARZ1 FNR2 FNR3 DEAD1 ; EVT HMM1 ELLER BLOC1 (SE DEAD1 ELLER HMM1) MAP2 ; Ø HELP1 WKTR1 ; 2.03 MRES1 MAP4 AUVL1 ; NY 19.8.85 VERSION 8.05 FEJL1 FEJL1 -1 ; DER JMP'ES TIL DISSE RUTINER, ALLE ACC UDEF, DER RETURNERES TIL OPER1 OPER3: 0 OPER4: 0 -3 DEAD5: HMM1 ; HS - HB - RUTINERNE DEAD8: 72 DEAD9: .+1*2 .TXT "DEAD?<0>" DEAD1: LDA 3,CUR LDA 0,.3 INT LDA 0,.32 SLE 1,0 JMP DEAD5 @ ; HARD SELECT LDA 0,.3 GOP LDA 0,DEAD9 OUTTEXT LDA 3,CUR LDA 0,.1 GOP INCHA LDA 0,DEAD8 SUB # 0,1,SZR JMP OPER1 JMP DEAD ; -1 TTAD: TTZON LPAD: LPZON -2 DEAD: ; STANDARD-AFSLUTNINGSRUTINE STA 0,D0 STA 1,D1 STA 2,D2 STA 3,D3 LDA 2,TTAD CLOSE LDA 2,LPAD LDA 1,.1 LDA 3,CUR CLOSE LDA 1,SLUT1 LDA 2,SLUT2 SENDMESSAGE ; LDA 2,CUR STOPP ; JMP .-1 D0: 0 ; HER SIKRES INFO OM DEAD (AHT EVT CORE-DUMP) D1: 1 D2: 2 D3: 3 SLUT1: .+1 1B8 0 0 0 SLUT2: .+1 .TXT 'S<0><0><0><0><0>' MRES1: JSR MRE1 OPERA MRE1: STA 3,SS03 LDA 2,SSADR LDA 0,SS13 STA 0,SS11 LDA 0,SSTGN STA 0,0,2 INC 2,2 DSZ SS12 JMP .-3 LDA 1,.32 STA 1,SS12 SUB 1,1 STA 1,0,2 INC 2,2 DSZ SS11 JMP .-10 LDA 3,CUR SUB 0,0 STA @ 0,SS15 IBIT JMP @ SS03 SS03:0 SS11:0 SS12: 32 SS13: 157 SS15: FORSK SSADR: PCDS+128 SSTGN: .TXT !. <0>! ;SIDE 2 SLUT «ff» .MSG SIDE 3 130/1539 29.5.84 MAPPRG ; === HY === HY98: 89 ; Y HY1: LDA 2,HY98 SE 1,2 FEJL HARDY SUBZL 0,0 TYPE OPERA ; === HM === HMC97: FNRBL HMC98: 77 ; M HMCC1: LDA 2,HMC98 SE 1,2 JMP HY1 INT SUB 0,0 LDA 2,.64 SNE 1,2 LDA 0,BLO97 ; OFFSET 70 FOR DEV 0 ELLER 3 STA 0,BLO01 STA 0,HMC97 @ OPERA ; === HO === HOU98: 79 ; O HOUT1: LDA 2,HOU98 SE 1,2 JMP HMCC1 LDA 3,CUR HARDO SUBZL 0,0 ; OULREQ TYPE OPERA ; === HB === BLO97: 70 BLO98: 66 BLO99: 61 BLO00: 0 ; BLOCK BLO01: 0 ; UNIT 0/3 OFFSET BLO11: 0 ; SECTOR BLO10: 0 ; TRACK BLOC1: LDA 2,BLO98 SE 1,2 JMP HOUT1 INTHX STA 1,BLO00 ; BLOCK MOV 2,2,SNR FEJL ; INGEN PARAM INTHX ; EVT 2. BYTE MOV 2,2,SNR JMP BLOC2 LDA 0,BLO00 MOVS 0,0 ADD 0,1 STA 1, BLO00 ; (PYH) BLOCK NU MED 2 BYTES BLOC2: LDA 0,.3 GOP OSP OSP OSP LDA 1,BLO00 ; BLOCK MOVS 1,1 OUTHX MOVS 1,1 OUTHX LDA 1,BLO99 OCH ; = OSP OSP LDA 0,BLO00 LDA 1,BLO01 ; OFFSET ADD 1,0 ; BLOCKFORSKUDT! EVT! BLB STA 0,BLO10 STA 1,BLO11 ; P Y H SUB 2,2 ; INPUT HARD ; AC0=TR AC1=SEC AC2=0 (READ) SUBZL 0,0 TYPE OPERA ; === HS === HMM8: 83 ; S HMM98: 79 ; O HMM00:0 HMM01:0 HMM1: LDA 3,CUR LDA 2,HMM8 SUB 0,0 SE 1,2 JMP BLOC1 LDA 0,.6 INTHX STA 1,HMM00 MOV 2,2,SNR FEJL ; PARAM NØDV. (FEJL 6) INTHX STA 1,HMM01 MOV 2,2,SNR FEJL ; AC0 = 6 INT LDA 2,HMM98 SE 1,2 SUB 2,2,SKP SUBZL 2,2 LDA 0,HMM00 LDA 1,HMM01 HARD ; AC0=TR AC1=SECT AC2=I/O=0/1 SUBZL 0,0 TYPE ; UDSKRIFTER LAVES I HARD!! OPERA ;SIDE 3 SLUT «ff» .MSG SIDE 4A 187/2499 19.8.85 MAPPG ; TEKSTER TIL KORTLÆGNINGSRUTINERNE SIDE 4: ; ========================================= .NOLOC 1 FNTXT: .TXT "<13><10> DISKETTE LOOKUP <13><10> ATTR. USED START RES ANT BLOCK ANT BLOCK REV 8.05 /PL <13><10> TR SC TR SC TR SC<13><10><10><0>" SKU91: .TXT "<12> D I S K E T T E C A T A L O G REV 8.05/PL<13><10><10> SLIC BLOCK TRAC/SECT MAP<13><10> SS = BB BB = TT SS ! FILALLOCATIONS:<13><10> ----------------------+---------------------<13><10><10><0>" .NOLOC 0 MAP5: AUVL1: LDA 1,AUV94 STA @ 1,AUV95 SUBZL 1,1 STA 1,AUVL5 AUVL2: LDA 3,CUR LDA 0,.6 LDA 1,AUV95 @ ADD 1,0 BLB HARD LDA 2,AUV96 LDA 0,0,2 OUTW SUBZL 1,1 ; SYSSLIZE-ANTAL SE 0,1 JMP AUVL4 LDA 2,AUV96 LDA 0,2,2 OUTW LDA 1,.32 ; SYSBLOCKNR SE 0,1 JMP AUVL4 LDA 0,.8 LDA 1,AUV95 @ ADD 1,0 BLB HARD LDA 2,AUV96 LDA 0,1,2 OUTW LDA 1,.2 LDA 2,.10 SLE 0,1 SL 0,2 JMP AUVL4 ; RIMELIG SLIZESIZE STA @ 0,AUV97 SUB 0,0 AUVL3: JMP @ 1,1 ; EVT JMP @ 2,1 MAP1 MAP2 AUVL4: LDA 3,CUR DSZ AUVL5 OPERA SUB 0,0 STA 0,AUV95 @ JMP AUVL2 AUVL5: 1 AUV94: 70 AUV95: FNRBL AUV96: BUADR AUV97: SLISI ;SLICESIZE MRE1I: MRE1 MAP97: SKUFL ; FLAG FOR UDSKRIFT AF SECTORINDH. (FØRSTE) FNTX: FNTXT*2 FNLP: LPZON MAP4: SUBZL 0,0 JSR FNR ; 14.8.85 JMP .-1 ; DENNE RUTINE JMP @ 1,1 SKUD1 MAP2: SUBZL 0,0 MAP1: STA 0,MAP97 @ JSR @ MRE1I SUBZL 0,0 JSR FNR1 JSR FNR JMP .-1 JMP @ 1,1 SKUD1 ; üüü EOUD: LDA 1,SPA98 @ ; PWADR (NYT ENTRY 14.8.85) SUB 0,0 ; 'ENTRY ONLY UDSKRIFT' KONTROLBETINGELSE LDA 3,CUR ;! LENTR ; LENTS LDA 2,FNLP ONL JMP @ 1,1 PG4G ; ENTRY IKKE TIL MAPKORT ; --------- SUBR TIL NSLI2: ; SPA1 * LAV <0> TIL <32> ;CALL: 2BY . . . ;RETU: JUST % = (=) SPA98: PWADR SPA03: 0 SPA02:0 SPA00:0 SPA1: STA 0,SPA00 STA 2,SPA02 STA 3,SPA03 LDA 3,.255 LDA 1,.32 AND # 3,0,SNR ADD 1,0 MOVS 3,3 MOVS 1,1 AND # 3,0,SNR ADD 1,0 LDA 2,SPA02 LDA 3,SPA98 @ JMP @ SPA03 ;--------------- SUBR SLUT FNR2: STA 0,FN000 STA 3,FN003 LDA 3,CUR ; LDA 0,.3 ; GOP LDA 2,PWADJ STA 2,PWADR JMP G4G FNR3: STA 0,FN000 STA 3,FN003 LDA 3,PWADJ STA 3,PWADR LDA 3,CUR INTHX MOV 1,0 INTHX HARD ; LDA 0,.3 ; GOP LDA 0,FNTX ; AC 1 ELLER 0 ???? LDA 2,FNLP OUTXT JMP G4G TMAP: 1B0+1B11 ; 80 10 TDOLL: 91*256 ; 0101 1011 (36=0010 0100) FNRBL: 70 ; ÆNDRES EVT AF HM/HM@ FNR1: STA 0,FN000 STA 3,FN003 LDA 3,PWADJ STA 3,PWADR LDA 3,CUR ; LDA 0,.3 ; GOP ; DISSE GOP'ER ER SIDSTE DER ER FJERNET 20.8.85 LDA 0,FNTX ; OUTXT LDA 2,FNLP OUTXT LDA 1,FNRBL LDA 0,.32 ADD 1,0 BLB SUB 2,2 HARD JMP G4G ;SIDE 4A SLUT «ff» .MSG SIDE 4B * MAPPRG 206/2909 14.8.85 MAPPRG FNR: STA 0,FN000 STA 3,FN003 LDA 3,CUR ; LDA 0,.3 ; GOP HARDY ; OUTW ; OUTHX ; OSP ; OSP ; LDA 1,.63 ; OCH ; OCH ; OCH LDA 2,PWADJ LDA 0,0,2 LDA 1,.32 SGE 0,1 SNZ 0,0 JMP .+3 ISZ FN003 JMP FNSLU STA 2,PWADR G4G: LDA 2,PWADR LDA 0,0,2 SNZ 0,0 JMP PG4G LDA 1,TDOLL AND 0,1,SNR ; MINDST ET BIT <> 36 I 1. BYTE JMP EOUD1 @ ; 14.8.85 EOUD ENTRY ONLY UDSKRIFT LDA 0,8,2 LDA 3,CUR ; OUTW ;000 LDA 1,FNRBL ADD 1,0 BLB LDA 2,FN76 SG 0,2 SNZ 1,1 ; RETTET 19.8.85 JMP EOUD1 @ ; EOUD OSSE HER LDA 2,.0 HARDA LDA 1,PWADJ LDA 2,.64 ; IKKE 128!! INC 2,2 ADD 1,2 STA 2,SLIEN ; ADR PÅ DATA VEDR BLOCKSTRIBE (.+0 .+1) MOV 2,0 LDA 1,PWADR LENTR ; UDSKRIFT AF SYSENTRY & TITELBLOCK (AC0, AC1) LENTS ; UDSKRIFT AF TILSV. TRACK/SECTORS MOV 1,2 LDA 1,6,2 LDA 3,TMAP SE 1,3 JMP .+5 LDA 1,7,2 ;! LDA 3,.2 SNE 1,3 JMP PG4G ; MAPENTRY IKKE TIL BLOCKSKEMA LDA 3,CUR MOV 0,2 LDA 0,-1,2 STA 0,FBLAN ; ANTAL BLOCKSTRIBER (NÆPPE NØDV) ;000TESTUDSKR SNZ 0,0 JMP PG4G ; FEJLSITUATION!!?? JMP FBL2 FN000:0 FN003:0 PWADJ: BUADR ; FAST PWADR: 0 ;OPDATERET ADR SYSENTRY / .+16 SPA2: SPA1 FN76: 76 EOUD1: EOUD ;****** ; UDSKRIFT TIL SKEMA *** FBL2: LDA 2,SLIEN LDA 0,0,2 INC 0,0 LDA 1,SLISI DIVIDE MOVZR 3,3,SZR JMP FEJL3 STA 0,SLIAN ; ANTAL SLICES I BLOKRÆKKE LDA 3,CUR LDA 2,SLIEN LDA 0,1,2 ; FØRSTE BLOCK I DO LDA 1,.32 SUB 1,0 ; !!!! LDA 1,SLISI DIVID LDA 1,.32 INC 1,1 MULTI LDA 2,SKGR9 SL 1,2 JMP PG4G LDA 2,SK2DR ; SKEMAADR ADD 1,2 ; W.ADR FOR NAVN I SKEMA LDA 1,FORSK ADD 1,2 ; INDRYKNING !! STA 2,SKEDR NSLI2: LDA 3,PWADR ; PCC W.ADR LDA 0,0,3 JSR SPA2 @ ; SE FORAN LDA 2,SKEDR STA 0,0,2 LDA 0,1,3 JSR SPA2 @ STA 0,1,2 LDA 0,2,3 LDA 3,.64 LDA 1,.32 ADD 3,1 ADD 1,0 JSR SPA2 @ STA 0,2,2 LDA 2,SKEDR ; SKEMAADR LDA 1,.32 INC 1,1 ADD 1,2 STA 2,SKEDR ; OPDATERES LDA 3,CUR DSZ SLIAN ; NÆSTE SLICE MRK FOR SAMME BLOCKSTRIBE JMP NSLI2 ISZ SLIEN ISZ SLIEN ; NÆSTE BLOCKSTRIBEDATA ADR I BUFFER LDA 2,SLIEN LDA 0,1,2 SNZ 0,0 ; FOREG NUL => JMP .+3 ; FEJLSITUATION ??!! DSZ SLINO ; LÆS NÆSTE BLOCKSTRIBEDATA ETC. JMP FBL2 ISZ FORSK PG4G: LDA 3,FORSK LDA 1,.32 SUBZL 0,0 SUB 0,1 SUB 0,1 SUB 0,1 SL 3,1 STA 0,FORSK LDA 3,PWADR LDA 1,.16 ADD 3,1 STA 1,PWADR DSZ G4GA JMP G4G LDA 0,.4 STA 0,G4GA FNSLU: LDA 3,CUR LDA 0,FN000 SZ 0,0 JMP @ FN003 OPERA FORSK:0 ; INDRYKNING I SKEMA FOR HVER FIL G4GA:4 SLIEN:0 ; ADR SLICE ENTRY INFO I TITELBLOCK SLISI:3 ; FAST, REDEF VED @D, EVT SLINO:0 SLICO: 12 ; DOWN (OPR= SLISIZE*4) FBLAN: 0 ; ANTAL BLOCKSTRIBER SLIAN:0 ; ANTAL SLICES I BLOCKSTRIBE (AKT) SK2DR: PCDS+128 SKEDR: 0 ; LØBENDE ADR I TITELBLOCK FOR ENTRY SKLIN: 157 BLONO:0 SKLI1: 0 ; DOWN VED UDSKRIFT SKLI2: 0 SKU99: FNRBL SKGR9: SKGR8-PCDS FEJL4: LDA 0,.2 LDA 3,CUR FEJL FEJL3: LDA 3,CUR LDA 0,.3 FEJL ;SIDE 4B SLUT «ff» .MSG SIDE 4C 194/2071 12.6.84 SKUD1: LDA 0,SK2DR STA 0,SKLI2 ; AKT. LINE W-ADR I OUTPUTSKEMA LDA 0,SKLIN STA 0,SKLI1 ; LINE COUNTER I OUTPUTSKEMA LDA 3,CUR IBIT ; 14.8.85 ; LDA 0,.3 ; GOP ; 20.8.85 OSSE FJERNET HER LDA 1,SLINO LDA 0,.9 LDA 1,SKU99 @ ADD 1,0 BLB SUB 2,2 HARD MOVS 0,0 ADD 1,0 SUBS 1,0 ; ?????? / FLG ER TILFØJET SENERE LDA 2,SKU96 LDA 0,SKU97 OUTXT ONL LDA 1,.1 STA 1,SLINO LDA 0,.32 STA 0,BLONO SKUD2: LDA 1,SLINO LDA 0,BLONO OULHX OSP OSP OULW LDA 1,SKU99 @ ADD 1,0 BLB OULW OSP OULHX OSP STA 0,SKTR0 STA 1,SKSC0 LDA 1,.32 INC 1,1 OCH OSP OSP OSP ISZ SLINO LDA 0,BLONO LDA 1,SLISI ADD 1,0 STA 0,BLONO ; JMP SKUMI ; LDA 2,SLISI MOVZL 2,2 MOVZL 2,2 LDA 1,.16 INC 1,1 SLE 2,1 MOV 1,2 STA 2,SLICO ; ; LDA 0,BLONO ; BLB ; ; HARDS ; STATUSUDSKRIFT ONLY ; HARDZ ; - AF FLG REC ; DSZ SLICO ; JMP .-2 SKUMI: GBIT ; UDSKRIFT AF NÆSTE BIT I BUFFER (MAP) LDA 2,SKU96 OSP OSP LDA 0,SKLI2 MOVZL 0,0 OUTXT ;---------- SKU3: SUB 0,0 STA 0,SKUF0 LDA 0,SKTR0 LDA 1,.1B6 ADD 1,0 LDA 1,.1B7 ADD 1,0 DOAS 0,FD1 SKPBZ FD1 JMP .-1 SKU4: LDA 1,SKSC0 DOAS 1,FD1 SKPBZ FD1 JMP .-1 LDA 3,CUR DIA 0,FD1 DIC 1,FD1 LDA 2,.255 AND 2,1 LDA 2,SKU51 SUB # 2,1,SNR SZ 0,0 JMP .+2 JMP .+4 OULW ; NU OSSE TEST DIC FOR UREGELMÆSSIGHEDER! OULHX JMP SKU4F LDA 1,SKUF0 ; =0 NØDV UDSKR LDA 0,SKUFL ; =0 NØDV UDSKR LDA 2,SKU96 SZ 0,0 SNZ 1,1 JMP .+2 JMP .+7 SKU4F: DIB 1,FD1 OULA DIB 1,FD1 OULA DIB 1,FD1 OULA LDA 1,.32 STA 1,SKUF0 INC 1,1 OCH ISZ SKSC0 LDA 2,SKT26 LDA 1,SKSC0 SG 1,2 JMP SKU5 SUBZL 1,1 STA 1,SKSC0 ISZ SKTR0 LDA 2,SKT76 LDA 0,SKTR0 SLE 0,2 JMP SKU6 DSZ SSICO @ JMP SKU3 JMP .+3 SKU5: DSZ SSICO @ JMP SKU4 ;---------- LDA 2,SKU96 ONL LDA 0,SKL22 @ LDA 1,.32 INC 1,1 ADD 1,0 STA 0,SKL22 @ DSZ SSLI1 @ JMP SKUD2 OPERA SSLI1: SKLI1 SSICO: SLICO SKL22: SKLI2 SKU96: LPZON SKU97: SKU91*2 SKTR0:0 SKSC0:0 SKT26: 26 SKT76: 76 SKUFL: 0 ; FLAG FOR SECT UDSKRIFT DEF I MAP1/2 ; 0 : LÆS ALTID 3 BYTE VED KORTUDSKRIFT ; 1 : LÆS IKKE ALTID DE TRE BYTE SKUF0:0 SKU51: 251 SKU6: LDA 2,SKU96 ONL ONL OPERA ;SIDE 4 SLUT «ff» .MSG SIDE 5 200/2315 22.5.84 MAPPRG ; @, OG BUFFERDATA ETC ; ********************************* EDITOR-FUNKTIONER ********** ; === @ === WKTR1: LDA 3,CUR INT LDA 2,.64 SUB 2,1 LDA 2,.16 SG 1,2 MOVZL # 1,1,SZC FEJL INC 1,2 JSR 1,1 ADD 3,2 LDA 3,CUR ; UDGANGSADR (LIGGER I AC2) JMP @ 2,2 WWW0 ; @@ => AC2+2 = DENNE ADR WWW1 ; @A-ADR WWW1 ; @B-ADR WWW1 WWW4 WWW5 ; @E-ADR = AC2+2 /AC2 PEGER PÅ WWW3 WWW5 WWW7 WWW8 WWW9 WWW10 WWW11 WWW12 ; @L-ADR WWW13 ; @M SMAL SKRIFT 20.8.85 WWW14 WWW15 WWW16 OUTA1 WT WTHX WTD OULA1 ; OULA (WA) WL ; OUL (WB) WLHX ; OULHX(WC) WLD ; OULD (WD) .TXT "<0><0>" .TXT "LP" ; 5+14 WWWBA: BUADR WWW0: LDA 0,.3 GOP LDA 0,TXTMF OUTXT LDA 0,WWWBA OUTW OPERA TXTMF: TEKSM*2 ;(SIDE 1B) WWW1: LDA 0,18,2 STA 0,34,3 ; OUT REDEF LDA 0,22,2 STA 0,35,3 ; OUL REDEF OPERA WWW41: SLISI WWW4: INTHX STA 1,WWW41 @ OPERA LPADW: LPZON WWW51: 0 WWW5: LDA 1,22,2 STA 1,WWW51 LDA 2,LPADW LDA 1,.1 CLOSE LDA 3,CUR ;!! LDA 0,WWW51 STA 0,0,2 ; LPTZONENAVN SZ 0,0 JMP WWW9 OPERA WWW71: O2LG WWW7: INTHX STA 1,WWW71 @ OPERA WWW81: COUN0 WWW8: INTW LDA 1,.256 SG 0,1 STA 0,WWW81 @ OPERA WWW9: LDA 2,LPADW LDA 0,.3 OPEN LDA 3,CUR OPERA WWW10: INTW MOV 0,2 JSR 0,2 LDA 3,CUR OPERA ;!!?? WW111: ARBA0 WW222: COUN0 WW223: COUN2 WW333: 0 ;DOWN WWW11: INTW LDA 3,WW111 @ MOVZR 3,3 MOV 0,2 LDA 1,WW223 @ JMP WWFLT WWW12: INTW LDA 2,WW111 @ MOVZR 2,2 MOV 0,3 LDA 1,WW222 @ STA 1,WW223 @ WWFLT: MOVZR 1,1 STA 1,WW333 LDA 0,0,3 STA 0,0,2 INC 2,2 INC 3,3 DSZ WW333 JMP .-5 LDA 3,CUR MOVZL 0,0 TYPE OPERA ;---------------- ; NOT IMPL: WTD: WLD: LMV9: .+1 WWW13: LDA 2,LPAD9 LDA 0,WW999 LDA 3,CUR OUTXT OPERA WW999: .+1*2 .TXT "<27>3<16><27>S0<0>" ;INDEXSKRIFT+SMAL LINIEAFST WWW14: WWW15: WWW16: LDA 0,.0 FEJL ;---------------- .NOLOC 1 YSID9: .+1*2 .TXT "<13><10><10>INPUT - - - - <0>" PSID9: .+1*2 .TXT "<13><10><10>OUTPUT <0>" .NOLOC 0 ;::::::::::::: TTAD9: TTZON LPAD9: LPZON ;::::::::::::: COUN0: 128 ; ORIG DEF I INPUT (EVT) COUN1: 0 ; DEF I Y, DOWN I Y COUN2: 0 ; DEF I Y, ÆNDR V K,I,C, BRUGES I P,T,F PCC: 0 ; POINTER = 0 - COUN2 PCADR: BUADR*2 ; DEF I Y, REDEF I M,S,C,L,I PCAD1: BUADR*2 ; DEF I F & T OG UPDATERET I SAMME ARBA0: BUADR*2 ; FAST !!!! ARBA1: BUADR*2 ; DEF I Y OG P OG UPDATERET I Y OG P ;::::::::::::: ;----------------- SUBRUTINER TIL Y OG P SLUT ;SIDE 5 SLUT «ff» .MSG SIDE 6 70/627 27.5.84 MAPPRG ; === T === TYPE1: LDA 3,CUR INT LDA 0,.3 GOP LDA 2,.32 SLE 1,2 SUBZL 0,0 TYPE OPERA ; === === IBIT1: LDA 3,CUR IBIT OPERA GBI11: 16 GBIT1: INTHX STA 1,GBI11 LDA 0,.3 GOP GBIT DSZ GBI11 JMP .-2 OPERA HARA1: INTW MOV 0,1 LDA 0,.3 GOP MOV 1,0 LDA 2,.255 AND 2,1 MOVS 2,2 ANDS 2,0 HARDA OPERA HAM00:HM000 HAM01:HM001 HARS1: LDA 0,.3 GOP LDA 0,HAM00 @ LDA 1,HAM01 @ STA 0,HAS00 STA 1,HAS01 HARDS OPERA HAS00: 0 HAS01: 0 ; FLG DUR HELT ENKELT IKKE!!!! HARZ1: LDA 0,.3 GOP ISZ HAS00 ISZ HAS01 LDA 0,HAS00 LDA 1,HAS01 HARDZ OPERA ; SIDE 6 SLUT «ff» .MSG SIDE 7 88/1272 22.5.84 MAPPRG ; ************** GENERELLE ELEMENTÆRE FUNKTIONER DEF I CUR-TABEL * ; ***** ALLE KALD OG RETURN MED VELDEFINEREDE ACC (SÆDV.UÆNDREDE!) ;--------------------------------- ; INTK * INPUT KOMMANDO FRA TTY ; CALL: ? ? ? CUR ; RETU: 0 0 RETURNP CUR ; RETURNPOINT DEF IN AC2 .NOLOC 1 INTK8: .+1*2 .TXT " MAP-COMMAND (M/?): <0>" INTK9: .+1 .TXT "<0>O<0>X<0>F<0>U<0>T<0>I<0>G<0>A<0>S<0>Z<0>V<0>W<0>H<0>Ø<0>?<0>@<0>B<0>E<0>M<0><0><0><0><0>" .NOLOC 0 ;X FØRSTE, F NÆSTE, U UDSKRIFT ;T TYPE, I INITBIT, G GETBIT ;A HARDA, S HARDS, Z HARDZ INTK0: 0 INTK1: STA 3,INTK0 INTO2: LDA 0,.3 LDA 3,CUR GOP LDA 0,INTK8 OUTTEXT LDA 1,.32 OUTEND LDA 3,CUR LDA 0,.1 GOP INTO1: INCHA LDA 3,.32 SG 1,3 JMP INTO2 LDA 3,INTK9 INTK2: LDA 0,0,3 SUB # 0,1,SNR JMP INTK4 MOV # 0,0,SNR JMP INTK4 INC 3,3 ISZ INTK0 JMP INTK2 INTK4: LDA 3,CUR LDA 0,.3 GOP ; P Y H ! ! (PROBL DA ØVR GOP BLEV FJERNET, RETTELSE PAM86) LDA 2,INTK0 SUB 0,0 SUB 1,1 JMP @ 0,2 ; RETURNPOINT DEF IN ACC 2 ;-------------------------- ; GOP * OPEN FILE TTY (MODE) ;CALL: MODE . . CUR ;RETU: = = TTZON CUR OP00:0 OP01:0 OP02:0 OP03:0 OP9: TTZON OP1: STA 0,OP00 STA 1,OP01 STA 2,OP02 STA 3,OP03 LDA 2,OP9 LDA 1,.0 CLOSE LDA 0,OP00 OPEN LDA 0,OP00 LDA 3,CUR LDA 1,.3 SNE 0,1 ONL LDA 1,OP01 JMP @ OP03 ;SIDE 7 SLUT «ff» .MSG SIDE 8A 322/4204 ; GEN RUTINER FORTSAT ;-------------------------- ; INTW * INPUT WORD FRA TTY I HEXKODE (4 TEGN) (TTY ÅBNET FORUDS) ;CALL: . . . CUR ;RETU: WORD HØJRBY = CUR IW02:0 IW03:0 IW1: STA 2,IW02 STA 3,IW03 LDA 3,CUR INTHX MOVS 1,0 INTHX ADD 1,0 LDA 2,IW02 JMP @ IW03 ;-------------------------- ; INTHX * INPUT FRA TTY (EVT HEXKODE, EVT SPACETASTKODE, EVT TASTKODE) ; INT * INPUT FRA TTY (TASTKODE) ; INI * INPUT FRA INPUTFIL ;CALL: . . . CUR ;RETU: = BYTE ZON/0 CUR ; 0 HVIS HX 1.BY < 32 ONLY RTH00:0 RTH01:0 RTH02:0 RTH03:0 RTHFL: 0 ; SÆTTES VED I_ OG RESETTES RTHFG: 95 ; PIL LEFT RTHG1: 70 RTHG2: 9 RTHG3: 27 RTHD: 0 RTHC: 3 RTH1: STA 0,RTH00 STA 1,RTH01 STA 2,RTH02 STA 3,RTH03 LDA 2,TTADR LDA 3,RTHFL MOV 3,3,SZR JMP RTH4 LDA 2,.2 STA 2,RTHC RTH3: LDA 2,TTADR INCHAR LDA 0,.32 SGE 1,0 JMP RTH5 LDA 0,RTHFG SUB # 1,0,SZR JMP .+3 ISZ RTHFL JMP RTH4 LDA 0,.48 LDA 3,RTHG1 SG 1,3 SGE 1,0 JMP RTH4 SUB 0,1 ; !! LDA 3,.9 LDA 0,.7 SLE 1,3 SUB 0,1 LDA 0,RTHC LDA 3,.2 SNE 0,3 STA 1,RTHD DSZ RTHC JMP RTH3 LDA 0,RTHD MOVZL 0,0 MOVZL 0,0 MOVZL 0,0 MOVZL 0,0 ADD 0,1 RTH2: LDA 0,RTH00 LDA 3,CUR JMP @ RTH03 RTH4: LDA 2,TTADR INCHA LDA 0,RTHG3 SUB 1,0,SNR SUB 2,2 JMP RTH2 RTH5: LDA 0,RTH00 SUB 2,2 ; AC2=0 IF CONTROL I 1.HEXTEGN AF BYTE LDA 3,CUR JMP @ RTH03 RT: LDA 2,TTADR JMP R1 RI: JMP R1 R00:0 R01:0 R02:0 R03:0 R1: STA 0,R00 STA 3,R03 INCHA LDA 0,R00 LDA 3,CUR JMP @ R03 ;::::::: TTADR: TTZON LPADR: LPZON ;::::::: ;--------------------------- ; OULHX * OUTPUT BYTE TIL LPT UDEN TEXTOPTION ; OUTHX * OUTPUT BYTE TIL TTY UDEN TEXTOPTION ; OUT * OUTPUT BYTE TIL TTY EVT HEXKODE, EVT SPACETASTKODE "HH ", " A ", "A" ; OUL * OUTPUT BYTE TIL LPT EVT HEXKODE, EVT SPACETASTKODE ; OUO * OUTPUT BYTE TIL OUTPUTFIL ; OUT & OUL KAN ÆNDRES VED KOMMANDO @A, @C ;CALL: . BYTE . CUR ;RETU: = = ZON CUR WLHX: STA 0,W00 STA 1,W01 STA 2,W02 STA 3,W03 LDA 2,LPADR JMP WHX2 WTHX: STA 0,W00 STA 1,W01 STA 2,W02 STA 3,W03 LDA 2,TTADR JMP WHX2 WHX1: STA 0,W00 STA 1,W01 STA 2,W02 STA 3,W03 WHX2: LDA 3,.255 AND 3,1 SNZ 1,1 JMP W5 JMP W3 WT: LDA 2,TTADR JMP W2 WL: LDA 2,LPADR JMP W2 WO: JMP W1 W00:0 W01:0 W02:0 W03:0 W93: 93 W1: STA 0,W00 STA 1,W01 STA 2,W02 STA 3,W03 W21: OUTCH W22: LDA 0,W00 ; LPDW SÆTTER LPTDEAD ADR HER LDA 1,W01 LDA 3,CUR JMP @ W03 W2: STA 0,W00 STA 1,W01 STA 2,W02 STA 3,W03 LDA 3,.255 AND 3,1 LDA 3,W93 LDA 0,.32 SG 1,3 SGE 1,0 JMP W3 LDA 3,CUR OSP OUTCH LDA 3,CUR JMP W4 W3: LDA 3,.15 MOV 1,0 AND 3,1 MOVZR 0,0 MOVZR 0,0 MOVZR 0,0 MOVZR 0,0 AND 3,0 LDA 3,CUR OH ; AC2=TT EL. LP MOV 1,0 OH W4: DSZ -2,2 JMP .+2 ONL OSP JMP W22 W5: LDA 3,CUR OSP OSP JMP W4 ; OUTA * OUTPUT TIL TTY SOM ALM ASCIIFIL ; OULA * OUTPUT TIL LPT SOM ALM ASCIIFIL üüüü SPECIALVERSION TIL MAPPRG üüüü OUA91: 125 ; (LILLE Å) OUA96: 96 OUTA1: LDA 2,TTADR JMP .+2 OULA1: LDA 2,LPADR STA 0,W00 STA 1,W01 STA 2,W02 STA 3,W03 LDA 0,.32 LDA 3,OUA91 ; (Å) SG 1,3 SGE 1,0 JMP OUA3 LDA 3,CUR OSP JMP W21 ; OUTCHAR & RETURN OUA3: LDA 3,.127 SE 1,0 SNZ 1,1 LDA 1,OUA96 ; TIDL: JMP W22 ; IGN <0> OG <127> LDA 3,.13 LDA 0,.10 SE 1,0 ;TIDL: SE 1,3 SNE 1,3 ;TIDL: JMP .+4 LDA 1,.32 ;TIDL: LDA 3,CUR ; OCH ; EVT UDELADES ?! ; MOV 0,1 ; SNE 1,0 ; JMP W21 ; NORMAL NL LDA 3,.127 LDA 0,.9 SE 1,3 SNE 1,0 LDA 1,.32 ;TIDL: JMP W21 ; <9>, <127> LDA 3,.12 SNE 1,3 LDA 1,.32 ;TIDL: JMP OUA4 ; SÆRL. <12> ;-------ÆNDRET HELT: LDA 0,.32 LDA 3,OUA91 SG 1,3 SGE 1,0 JMP .+4 LDA 3,CUR OSP JMP W21 LDA 3,.15 MOV 1,0 MOVZR 0,0 MOVZR 0,0 MOVZR 0,0 MOVZR 0,0 AND 3,0 LDA 3,CUR OH MOV 1,0 OH JMP W22 ;-------- ;--------------------- ; OUTW * OUTPUT WORD TIL TTY /HEX ; OULW * OUTPUT WORD TIL LPT /HEX ;CALL: WORD . . CUR ;RETU = = ZON CUR OWW00:0 OWW01:0 OWW03:0 OUTW1: LDA 2,TTAD8 JMP .+2 OULW1: LDA 2,LPAD8 STA 0,OWW00 STA 1,OWW01 STA 3,OWW03 LDA 3,.255 MOVS 0,1 AND 3,0 AND 3,1 LDA 3,CUR WHX MOV 0,1 WHX LDA 0,OWW00 LDA 1,OWW01 LDA 3,CUR JMP @ OWW03 ;:::::::::::: TTAD8: TTZON LPAD8: LPZON ;:::::::::::: ;SIDE 8A SLUT «ff» .MSG SIDE 8B+9 379/4467 14.8.85 MAPPRG ;---------------------- ; GBIT * HENT NÆSTE BIT I BUFFER OG UDSKRIV DET ;CALL: . . . CUR ;RETU: = = = = GBIN: 1B0 ; BITMASK GBIA: BUADR ; OPDATERES LØBENDE GBI00:0 GBI01:0 GBI02:0 GBI03:0 GBI04:0 GBI1: STA 0,GBI00 STA 1,GBI01 STA 2,GBI02 STA 3,GBI03 LDA 3,GBIA LDA 1,GBIN MOV 1,1,SZR JMP .+4 ISZ GBIA LDA 1,.1B0 STA 1,GBIN LDA 3,GBIA LDA 0,0,3 AND 1,0 LDA 1,.48 SZ 0,0 INC 1,1 STA 1,GBI04 ; LDA 2,TTAD8 ; OUTCH ; LDA 1,GBI04 LDA 2,LPAD8 OUTEND JMP .+3 INC 1,1 OUL LDA 0,GBIN MOVZR 0,0 STA 0,GBIN LDA 0,GBI00 LDA 1,GBI01 LDA 2,GBI02 LDA 3,CUR JMP @ GBI03 ;-------------------------- ; IBIT * INITIER BITRUTINE ;CALL: . . . CUR ;RETU: 1B0 BUADR = CUR IBIBU: BUADR IBI03:0 IBI1: LDA 0,.1B0 LDA 1,IBIBU STA 0,GBIN STA 1,GBIA STA 3,IBI03 LDA 3,CUR JMP @ IBI03 ;-------------------------- ; FLG. OUTPUTRUTINER FORUDSÆTTER FORUDG. DEF AF ZONE ;-------------------------- ; OH * OUTPUT HEXTEGN ;CALL: TGN . ZON CUR ;RETU: = = = CUR H00: 0 H01: 0 H02: 0 H03: 0 H1: STA 0,H00 STA 1,H01 STA 2,H02 STA 3,H03 LDA 1,.15 AND 1,0 LDA 1,H9 ADD 0,1 GETBYTE LDA 2,H02 MOV 0,1 LDA 3,CUR OCH LDA 0,H00 LDA 1,H01 JMP @ H03 H9: .+1*2 .TXT "0123456789ABCDEFG" ;------------------------- ; OSP * OUTPUT SPACE (ZON) ; ONL * OUTPUT NL (ZON) ; OCH * OUTPUT CHAR (ZON) ; OCH0 * OUTPUT CHAR DEF I AC0 !! ;CALL: . . ZON(!) CUR ; BY HVIS OCH ; BY HVIS OCH0 (BY EVT TIL SPACE) ;RETU: = = = CUR O00:0 O01:0 O02:0 O03:0 O2TTA: TTZON O2LG: 64 ; EVT ÆNRES AF @D O1: STA 0,O00 STA 1,O01 LDA 1,.32 JMP O3 O2: STA 0,O00 STA 1,O01 LDA 1,O2LG LDA 0,O2TTA SE 0,2 JMP O2F LDA 0,.24 SLE 1,0 MOVZR 1,1 O2F: STA 1,-2,2 LDA 1,.10 JMP O3 O3: STA 2,O02 STA 3,O03 LDA 3,CUR OUTEND LDA 3,CUR LDA 0,O00 LDA 1,O01 LDA 3,CUR JMP @ O03 O4: STA 0,O00 STA 1,O01 JMP O3 O5: STA 0,O00 STA 1,O01 LDA 1,.32 SL 0,1 ; ÆNDRE CTRL TIL SPACE MOV 0,1 ; SPECIAL TIL BRUG VED GETBY/ ETC JMP O3 .TXT "OCH0" ;------------------- ; OUTXT **** NY ;CALL: BYAD . ZON CUR ;RETU: = = = CUR OUX00:0 OUX01:0 OUX02:0 OUX03:0 OUTX1: STA 0,OUX00 STA 1,OUX01 STA 2,OUX02 STA 3,OUX03 LDA 3,CUR OUTTEXT ; !! LDA 0,OUX00 LDA 1,OUX01 LDA 2,OUX02 LDA 3,CUR JMP @ OUX03 ;SIDE 8B SLUT / SIDE 9 BEG ;------------------ ; TYPE * SKRIV SIDEN TIL TTY/ EVT OSSE LPT ;CALL: 1=LPT . . CUR ;RETU: = = = CUR TYP91: COUN2 TYP92: ARBA0 TYP00:0 TYP01:0 TYP02:0 TYP03:0 TYP70:0 TYP80:0 TYP90:0 TYP1: STA 0,TYP00 STA 1,TYP01 STA 2,TYP02 STA 3,TYP03 LDA 0,TYP91 @ ; MOVZL 0,0 ; ??? HVORFOR EVT DETTE? /14.8.85 LDA 3,CUR MOV 0,0,SNR JMP TYP3 STA 0,TYP90 LDA 0,.3 GOP LDA 1,TYP92 @ STA 1,TYP80 TYP2: LDA 1,TYP80 GETBY LDA 3,CUR MOV 0,1 OUT LDA 2,TYP00 SZ 2,2 OUL ISZ TYP80 DSZ TYP90 JMP TYP2 ONL TYP3: LDA 0,TYP00 LDA 1,TYP01 LDA 2,TYP02 LDA 3,CUR JMP @ TYP03 ;:::::::::::::: LPA99: LPZON ; ------------------------------ ; LENTR * LIST ENTRY- & TITELBLOCK ; LENTS * LIST ENTRY- & TITELSECTORNR ;CALL: TITBL SYSENT . CUR AC0=0 : SIDSTE DEL UDELADES!! ; WADR WADR (RETTET 14.8.85) ;RETU: = = = CUR LEN95: FNRBL LEN33: 40 LEN00:0 LEN01:0 LE000:0 LE001:0 LEN02:0 LEN03:0 LEN04:0 LEN05:0 LEN1: STA 0,LE000 STA 1,LE001 STA 0,LEN00 STA 1,LEN01 STA 2,LEN02 STA 3,LEN03 MOVZL 1,1 LDA 2,.5 STA 2,LEN05 GETBY LDA 3,CUR LDA 2,LPA99 OCH0 INC 1,1 DSZ LEN05 JMP .-6 ; TIL GETBY OSP LDA 1,.4 STA 1,LEN05 LDA 2,LEN01 LDA 0,6,2 ISZ LEN01 OULW DSZ LEN05 JMP .-5 OSP ; 15.8.85 3 FLG: LDA 0,LEN00 MOV 0,0,SNR JMP LEN3 LDA 0,LEN33 OCH0 OSP LDA 2,LEN00 LDA 1,-1,2 OULHX INC 0,0 OCH0 OSP LDA 1,.12 LDA 2,LEN00 LDA 1,-1,2 MOVZL 1,1 LDA 2,.10 MOVZL 2,2 SLE 1,2 MOV 2,1 STA 1,LEN05 LDA 2,LEN00 LDA 0,0,2 OULW ISZ LEN00 DSZ LEN05 JMP .-5 LEN3: LDA 2,LPA99 LDA 3,CUR ONL LDA 2,LEN02 LDA 1,LE001 LDA 0,LE000 JMP @ LEN03 LEN2: STA 0,LE000 STA 0,LEN00 STA 1,LE001 STA 1,LEN01 STA 2,LEN02 STA 3,LEN03 LDA 3,CUR LDA 1,.15 STA 1,LEN05 LDA 2,LPA99 OSP DSZ LEN05 JMP .-2 LDA 2,LE001 LDA 0,8,2 LDA 1,LEN95 @ ADD 1,0 BLB OULW OULHX LDA 1,.16 LDA 0,.1 ADD 0,1 STA 1,LEN05 LDA 2,LPA99 OSP DSZ LEN05 JMP .-2 LDA 2,LEN00 MOV 2,2,SNR JMP LEN3 LDA 1,-1,2 LDA 2,.10 SLE 1,2 MOV 2,1 STA 1,LEN05 LEN2F: LDA 2,LEN00 LDA 0,1,2 LDA 1,LEN95 @ ADD 1,0 BLB OULW OULHX OSP OSP OSP ISZ LEN00 ISZ LEN00 DSZ LEN05 JMP LEN2F ONL JMP LEN3 ;SIDE 9 SLUT «ff» .MSG SIDE 10 339/4114 5.6.84 MAPPRG ; MEGET KAN EVT FJERNES FRA ASCIIFILEN ; GEN RUTINER FORTSAT (3) HARDRUTINER ; HM4FJ TILFØJET 14.5.85 ; HANDS, HARDZ VIRKER IKKE .TXT " HARD " ;--------------- ; HARDS * SECTOR STATUS ; HARDZ * NÆSTE SECTOR STATUS HST00:0 HST03:0 HST1: DIA 0,FD1 LDA 3,CUR OULW OUTW ; VÆK IGEN ; IØVR SKAL TRACK FØRST SELECTES!! JMP @ HST03 HST5: ; RUTINE IKKE LAVET, MEN JFR HM7 STA 3,HST03 LDA 3,CUR JMP @ HST03 ;---------------------------- ; HARD * HARDMODE INPUT ELLER OUTPUT ; HARDA * APPEND SECTOR I BUFFER, BYADR 128-255 ;CALL: TRACK SECT 1/0 CUR ;RETU: = = = CUR HM1A: STA 0,HM00 STA 1,HM01 STA 2,HM02 STA 3,HM03 LDA 0,HM66 @ SUBZL 1,1 STA 1,HMGFL LDA 1,.128 ADD 1,0 MOVZL 1,1 JMP HM1F HFLAG: 0 ; HARDMODE FLAG * FILFORBUD PÅ FD1 * HFLAT: 0 HM777: LPZON HM778: YSID9 ; INPUT HM779: PSID9 ; OUTPUT HM26: 26 HM76: 76 HM88: 83 ; S HM1: STA 0,HM00 STA 1,HM01 STA 2,HM02 STA 3,HM03 LDA 0,HM66 @ SUB 1,1 STA 1,HMGFL LDA 1,.128 HM1F: STA 0,HM67 STA 1,HM77 @ ; KONTROL AF PARAM / UDSKRIFTER: LDA 3,CUR ; LDA 0,HM778 @ ; SZ 2,2 ; LDA 0,HM779 @ ; LDA 2,HM777 ; OUTXT LDA 3,CUR ;KONTROLUDSKRIFTER ; LDA 0,.3 ; GOP ; LDA 1,HM88 ; INC 1,1 ; OUL ; T ;; OSP ;; OUT LDA 0,.6 ; FEJLNR LDA 1,HM00 ; OULHX ; OSP ; OUTHX ; OSP LDA 2,HM76 SLE 1,2 JMP HM4FJ ; LDA 1,HM88 ; S ; OUL ; OSP ; OUT LDA 1,HM01 ; OUTHX ; ONL ; OSP ; OULHX ; LDA 0,HM72 ; OUTXT ; OSP LDA 0,.6 LDA 2,HM26 SG 1,2 SNZ 1,1 JMP HM4FJ ; TRACK SELECT .DUSR FD1=52 HM2: LDA 3,CUR ; LDA 0,.3 ; GOP LDA 1,.1B6 DOAS 1,FD1 LDA 0,HM00 ADD 1,0 LDA 1,.1B7 ADD 1,0 SKPBZ FD1 JMP .-1 DOAS 0,FD1 ISZ HFLAG SUB 0,0 LDA 2,HM02 ; SNZ 2,2 JMP HM3 ; INPUT ; ; STATUS & RESET FØR OUTPUT ; ; LDA 1,.63 ; OUL ; LDA 1,.63 ; OUT ; OSP ; SKPBZ FD1 JMP .-1 ; JMP HM2F ;::: HMGFL: 0 ; 1 IF NOT ACTIV HM00:0 HM01:0 HM02:0 HM03:0 HM04:0 HM55: 0 ; DOWNCOUNT HM66: ARBA0 HM67: 0 ; LØBENDE ADR HM77: COUN2 ; SIDESTØRR HM71: FFUT2*2 HM72: .+1*2 .TXT " // STATUS: <0>" ;::: ;HM2F: ; ; DIA 1,FD1 ; FORB. OUTPUT ; LDA 3,CUR ; MOVS 1,1 ; OULHX ; OUTHX ; STATUS FØR OUTP ; MOVS 1,1 ; OULHX ; OSP ; OSP ; OUTHX ; LDA 0,HM71 ; OUTXT ; ONL ; OSP ; LDA 1,.120 ; OCH ; OSP ; DIC 1,FD1 ; MOVS 1,1 ; OULHX ; OUTHX ; MOVS 1,1 ; OULHX ; OSP ; OSP ; OSP ; OUTHX ; LDA 1,.120 ; OCH ; LDA 0,HM71 ; OUTXT ; ONL ; OSP ; ; ; LDA 0,.5 ; FEJL ; SUB 1,2,SZR ; FEJL ; BUFFER SIZE ; ; ; OUTPUT TIL HARDBUFFER ; ; LDA 0,.128 ; STA 0,HM55 ;HM25: LDA 1,HM67 ; GETBYTE ; DOB 0,FD1 ; ISZ HM67 ; DSZ HM55 ; JMP HM25 ; LDA 0,.1B7 HM3: LDA 3,CUR LDA 1,.64 ; OUL ; OSP ; LDA 1,HM01 ; SECTOR COMMAND & STATUSUDSKRIFT ADD 1,0 SKPBZ FD1 JMP .-1 DOAS 0,FD1 SKPBZ FD1 JMP .-1 LDA 3,CUR DIA 1,FD1 ; MOVS 1,1 ; OUTHX ; OULHX ; MOVS 1,1 ; OUTHX ; ONL ; OSP ; OULHX ; LDA 0,HM71 ; OUTXT ; ONL ; OSP ; LDA 1,HM02 ; MOV 1,1,SZR ; JMP HM4 ; OUT SLUT LDA 0,HMGFL SZ 0,0 ; GEM IF 0 JMP .+5 ; INPUT FRA HARD BUFFER LDA 0,HM00 STA 0,HM000 LDA 0,HM01 STA 0,HM001 ; GEMMES TIL HO ELLER HR LDA 0,.128 STA 0, HM55 ; DOWN LDA 1,HM67 DIB 0,FD1 PUTBYTE INC 1,1 DSZ HM55 JMP .-4 HM4: LDA 0,HM00 LDA 1,HM01 LDA 2,HM02 LDA 3, CUR JMP @ HM03 HM4FJ: MOV 1,0 ; NYT 14.4.85 ISTF FEJL-RUTINEN OULW LDA 0,HM4F9 OUTXT LDA 0,HM00 OULW LDA 0,HM01 OULW DSZ HM4F8 JMP HM4 LDA 0,.8 STA 0,HM4F8 OPERA ;------------------ ; HARDO * OUTPUT SAMME SECTOR SOM SIDST ER LÆST ; HARDR * OUTPUT (HARDO) OG INPUT NÆSTE SECTOR ; HARDY * READ NÆSTE SECTOR ;CALL: . . . CUR ;RETU: TRACK SECT 1/0 CUR HM000:0 HM001:6 ;(RET UFARLIGT STED!) HM600: 0 HM603: 0 HM626: 26 HM222: HM1 HM5: LDA 0,HM000 LDA 1,HM001 LDA 2,.1 JMP @ HM222 HM6: STA 3,HM603 JSR HM5 STA 0,HM600 LDA 0,.1 LDA 3,CUR TYPE LDA 0,HM600 HM65: INC 1,1 LDA 2,HM626 SG 1,2 JMP .+3 SUBZL 1,1 INC 0,0 SUB 2,2 JSR @ HM222 JMP @ HM603 HM7: LDA 0,HM000 LDA 1,HM001 STA 3,HM603 JMP HM65 HM4F8: 10 HM4F9: .+1*2 .TXT "TRACSECTORFEJL <0>" ;------------------------- ; BLB * BLOCKBEREGNING AF TRACK/SECTOR ;CALL: BLOCK . . CUR ;RETU: TRACK SECT = CUR BLB00:0 BLB01:0 BLB02:0 BLB03:0 BLB1: STA 0,BLB00 STA 1,BLB01 STA 2,BLB02 STA 3,BLB03 LDA 3,CUR MOVZL 0,0 MOVZL 0,0 LDA 1,.3 SUB 1,0 LDA 1,.25 INC 1,1 DIVID MOV 3,1 LDA 2,BLB02 LDA 3,CUR JMP @ BLB03 ;SIDE 10 SLUT «ff» .MSG SIDE 11 252/2893 7.6.84 MAPPRG ; ZONER, BUFFERE, PRCD OG FKT-TABEL 24 0 TTZON:.TXT 'TTY<0><0><0>' ;ZNAME Z ;SIZE 0 ;ZMODE 1 ;ZKIND 65535 ;ZMASK FFEJ1 ;GIVE 1 ;ZFILE 1 ;ZBLOC 0 ;ZCONV TTS0 ;ZBUFF 117 ;ZSIZE (132/2+SSIZE) 0 ;ZFORM 0 ;ZLENG TTB0*2 ;ZFIRS TTB0*2 ;ZTOP TTS0 ;ZUSED 220 ;ZSHAR 0 ;ZREM .BLK ZAUX ;AUXILIARY WORDS IN ZONE TTS0: 0 ;SOPER 0 ;SCOUN 0 ;SADDR 0 ;SSPEC TTS0 ;SNEXT 0 ;SSTAT TTB0*2 ;S TTB0: .BLK 110 ;DATA BUFFER 24 0 LPZON:.TXT 'LPT<0><0><0>' ;ZNAME Z ;SIZE 0 ;ZMODE 1 ;ZKIND 65535 ;ZMASK LPTD9: FFEJ1 ;GIVE IGNOREOPTION 1 ;ZFILE 1 ;ZBLOC 0 ;ZCONV LPS0 ;ZBUFF 117 ;ZSIZE (132/2+SSIZE) 0 ;ZFORM 0 ;ZLENG LPB0*2 ;ZFIRS LPB0*2 ;ZTOP LPS0 ;ZUSED 220 ;ZSHAR 0 ;ZREM .BLK ZAUX ;AUXILIARY WORDS IN ZONE LPS0: 0 ;SOPER 0 ;SCOUN 0 ;SADDR 0 ;SSPEC LPS0 ;SNEXT 0 ;SSTAT LPB0*2 ;SFIRS LPB0: .BLK 110 ;DATA BUFFER ; BUFFERE DER ER NØDV NÅR FX. DOMUS-FIL-FUNKTIONER BRUGES! BUFF1: .+0 .-1 BUFF2 10 PCDS 0 0 0 0 0 BUFF2: .+0 .-1 BUFF3 10 PCDS 0 0 0 0 0 BUFF3: . .-1 BUFF4 10 PCDS 0 0 0 0 0 BUFF4: . .-1 0 10 PCDS 0 0 0 0 0 0 ; PROCES-DESCRIPTOR: PCDS: .+0 .-1 0 0 .TXT 'MAPPG' .+0 .-1 BUFF1 PGDS 0 0 33 BI5 0 0 0 0 BIRTH*2 0 1 2 3 4 5 6 7 8 9 .DUSR GOP = JSR @ 30,3 OP1 .DUSR INTHX= JSR @ 31,3 RTH1 .DUSR INT = JSR @ 32,3 RT .DUSR INI = JSR @ 33,3 RI .DUSR OUT = JSR @ 34,3 WT .DUSR OUL = JSR @ 35,3 WL .DUSR OUO = JSR @ 36,3 WO .DUSR OH = JSR @ 37,3 H1 .DUSR OSP = JSR @ 38,3 O1 .DUSR ONL = JSR @ 39,3 O2 .DUSR OCH = JSR @ 40,3 O4 .DUSR INTK = JSR @ 41,3 INTK1 .DUSR OPERA= JSR @ 42,3 OPER1 .DUSR LPD = JSR @ 43,3 FEJL1 .DUSR LPDW = JSR @ 44,3 FEJL1 .DUSR FEJL = JSR @ 45,3 FEJL1 .DUSR OUTXT= JSR @ 46,3 OUTX1 .DUSR SEBYT= JSR @ 47,3 FEJL1 .DUSR INTFI= JSR @ 48,3 FEJL1 .DUSR OUTFI= JSR @ 49,3 FEJL1 .DUSR OULFI= JSR @ 50,3 FEJL1 .DUSR OUFI = JSR @ 51,3 FEJL1 .DUSR BLB = JSR @ 52,3 BLB1 .DUSR HARD = JSR @ 53,3 HM1 .DUSR HARDO= JSR @ 54,3 HM5 .DUSR OUTHX= JSR @ 55,3 WTHX .DUSR OULHX= JSR @ 56,3 WLHX .DUSR FLYT = JSR @ 57,3 FEJL1 .DUSR TYPE = JSR @ 58,3 TYP1 .DUSR HARDR= JSR @ 59,3 HM6 .DUSR HARDY=JSR @ 60,3 HM7 .DUSR LMV = JSR @ 61,3 FEJL1 .DUSR INTW = JSR @ 62,3 IW1 .DUSR OUTW = JSR @ 63,3 OUTW1 .DUSR OULW = JSR @ 64,3 OULW1 .DUSR LTL = JSR @ 65,3 FEJL1 .DUSR WHX = JSR @ 66,3 WHX1 .DUSR GBIT = JSR @ 67,3 GBI1 .DUSR IBIT = JSR @ 68,3 IBI1 .DUSR HARDS= JSR @ 69,3 HST1 .DUSR HARDZ= JSR @ 70,3 HST5 .DUSR HARDA= JSR @ 71,3 HM1A .DUSR OCH0 = JSR @ 72,3 O5 .DUSR LENTR= JSR @ 73,3 LEN1 .DUSR LENTS= JSR @ 74,3 LEN2 .DUSR OULA = JSR @ 75,3 OULA1 .DUSR OUTA = JSR @ 76,3 OUTA1 -1 .BLK 5500 SKGR8: . . . .BLK 128 -1 -1 -1 .END PCDS ;SIDE 11 SLUT / FIL SLUT «ff» «nul»