|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 23808 (0x5d00) Types: TextFile Names: »PROMBR1.NAS«
└─⟦122ca995a⟧ Bits:30005902 Move-IT arbejdsdiskette └─ ⟦this⟧ »PROMBR1.NAS«
0001 ; PROGRAM TIL BITS & P.C.s PROM BLOWER 0002 ; AF OZ4RV VIGGO BO JENSEN 820130 0003 ; 0004 8000 ORG 08000H 0005 ; MEM $ 0006 ; 0007 ; CNTR PORT ER PORT B OG ER SOM FØLGER 0008 ; 0009 0000 ACLOCK: EQU 0 ;ADR COUNT CLOK LOW TO CLOK 0010 0001 RESET: EQU 1 ;RESET ADR COUNTER HIGH TO RES. 0011 0002 RP2708: EQU 2 ;READ / PROG 2708 LOW TO READ 0012 0003 MROM: EQU 3 ;MARSTER ROM SEL LOW TO SELECT 0013 0004 TRIG: EQU 4 ;TRIG PROGRAM PULS HIGH TO TRIG 0014 0005 RW2716: EQU 5 ;READ / WRITE 2716 LOW READ 0015 0006 STATE3: EQU 6 ;ACTIVATE 2708 DESELECT 0016 0007 B2732: EQU 7 ;BIT IS SET TO HIGH IF 2732 0017 ; 0018 000E ADATA: EQU 14 ;DATA TIL OG FRA COMPUT 0019 0010 ACTRL: EQU 16 ;CTRL FOR DATAPORT 0020 000F BDATA: EQU 15 ;CTRL PORT FOR BRÆNDER 0021 0011 BCTRL: EQU 17 ;CTRL FOR CTRL PORT 0022 ; 0023 0007 TBIT: EQU 7 ;PROM LOW = 2708, HIGH = 2716 0024 ; 0025 ; MONITORRUTINER. 0026 ; 0027 0060 ARGS: EQU 60H ;GET ARGUMENTS 0028 0063 INLIN: EQU 63H ;HENT INPUTLINJE 0029 0066 TBCD3: EQU 66H ;DISPLAY HL I ASCII 0030 006B ERRM: EQU 6BH ;ERROR MSG. 0031 005B MRET: EQU 5BH ;RETUR TIL NASSYS 0032 005D TDEL: EQU 5DH ;DELAY CA. 1 SEK VED 4Mhz 0033 0028 PRS: EQU 28H ;PRINT STRING 0034 0068 B2HEX: EQU 68H ;OUTPUT A I ASCII 0035 0069 SPACE: EQU 69H ;OUTPUT EN SPACE 0036 0008 RIN: EQU 08H ;VENT PAA TAST 0037 0079 RLIN: EQU 79H ;HENT ARG. TIL ARGS ADR. 0038 0062 KEY: EQU 62H ;CHECK FOR TAST 0039 001B ESC: EQU 1BH ;ASCII ESCAPE 0040 ; 0041 0C0C ARG1: EQU 0C0CH ;ARGUMENT 1 0042 0C0E ARG2: EQU 0C0EH ;ARGUMENT 2 0043 0C10 ARG3: EQU 0C10H ;ARGUMENT 3 0044 0BCA CFP: EQU 0BCAH ;CURSER FIRST POSS. 0045 0C29 CLP: EQU 0C29H ;CURSER LAST POSS. 0046 ; S 0047 ; 0048 ; 0049 8000 EF0C00 START: DB 0EFH,0CH,0 ;CLS 0050 8003 11D30B LD DE,0BD3H ;START ADR FOR TEXT 0051 8006 211080 LD HL,MESS ;OVERSKRIFT 0052 8009 011B00 LD BC,MESS1-MESS 0053 800C EDB0 LDIR 0054 800E 181B JR MENU▶8a◀0055 ; 0056 8010 4550524F MESS: DB "EPROM PROGRAMMER TIL 2 MHz." 0057 8014 4D205052 0058 8018 4F475241 0059 801C 4D4D4552 0060 8020 2054494C 0061 802B MESS1: EQU $ 0062 ; 0063 802B 310010 MENU: LD SP,1000H ;RESET SP 0064 802E 3EFF LD A,0FFH 0065 8030 D310 OUT (ACTRL),A ;DATAPORT=INPORT 0066 8032 D310 OUT (ACTRL),A ;ALLE 8=INPUT 0067 8034 3ECF LD A,0CFH 0068 8036 D311 OUT (BCTRL),A ;CONTR.PORT=BITCONTR. 0069 8038 3E80 LD A,80H 0070 803A D311 OUT (BCTRL),A 0071 803C 3EFF LD A,0FFH 0072 803E D30F OUT (BDATA),A ;INIT.CONTR.PORT 0073 ; 0074 ; HER UDSKRIVES MENUEN 0075 ; 0076 8040 EF RST PRS 0077 8041 0D0D DB 0DH,0DH 0078 8043 42203A20 DB 'B : BLOW FULLY ERASED PROM: ' 0079 8047 424C4F57 0080 804B 2046554C 0081 804F 4C592045 0082 8053 52415345 0083 805F 54595045 DB 'TYPE, D OR ADR.' 0084 8063 2C204420 0085 8067 4F522041 0086 806B 44522E 0087 806E 0D DB 0DH 0088 806F 45203A20 DB 'E : BLOW NOT ERASED PROM: ' 0089 8073 424C4F57 0090 8077 204E4F54 0091 807B 20455241 0092 807F 53454420 0093 8089 54595045 DB 'TYPE, D OR ADR.' 0094 808D 2C204420 0095 8091 4F522041 0096 8095 44522E 0097 8098 0D DB 0DH 0098 8099 56203A20 DB 'V : VERIFICER PROM: ' 0099 809D 56455249 0100 80A1 46494345 0101 80A5 52205052 0102 80A9 4F4D3A20 0103 80AD 54595045 DB 'TYPE, D OR ADR.' 0104 80B1 2C204420 0105 80B5 4F522041 0106 80B9 44522E 0107 80BC 0D DB 0DH 0108 80BD 52203A20 DB 'R : READ DONOR: TYPE, TO ADR.' 0109 80C1 52454144 ▶8a◀0110 80C5 20444F4E 0111 80C9 4F523A20 0112 80CD 54595045 0113 80DA 0D DB 0DH 0114 80DB 4B203A20 DB 'K : CHECK PROM FULLY ERASED: ' 0115 80DF 43484543 0116 80E3 4B205052 0117 80E7 4F4D2046 0118 80EB 554C4C59 0119 80F8 54595045 DB 'TYPE' 0120 80FC 0D DB 0DH 0121 80FD 46203A20 DB 'F : FF I BUFFER (4K): ADR:' 0122 8101 46462049 0123 8105 20425546 0124 8109 46455220 0125 810D 28344B29 0126 8117 0D DB 0DH 0127 8118 4D203A20 DB 'M : MODIFY: ADR.' 0128 811C 4D4F4449 0129 8120 46593A20 0130 8124 4144522E 0131 8128 0D DB 0DH 0132 8129 43203A20 DB 'C : COPY FROM, TO, BYTE: ' 0133 812D 434F5059 0134 8131 2046524F 0135 8135 4D2C2054 0136 8139 4F2C2042 0137 8142 41524720 DB 'ARG 1, ARG 2, ARG 3' 0138 8146 312C2041 0139 814A 52472032 0140 814E 2C204152 0141 8152 472033 0142 8155 0D DB 0DH 0143 8156 54203A20 DB 'T : DISPLAY FROM,TO,LINES: ' 0144 815A 44495350 0145 815E 4C415920 0146 8162 46524F4D 0147 8166 2C544F2C 0148 8171 41524720 DB 'ARG 1, ARG 2, ARG 3' 0149 8175 312C2041 0150 8179 52472032 0151 817D 2C204152 0152 8181 472033 0153 8184 0D51203A DB 0DH,'Q : RETURN TO MONITOR.' 0154 8188 20524554 0155 818C 55524E20 0156 8190 544F204D 0157 8194 4F4E4954 0158 819B 0D0D00 DB 0DH,0DH,0 0159 ; 0160 819E DF63 SCAL INLIN ;HENT KOMMANDO KARAKTER 0161 81A0 1A LD A,(DE) ;IND I A 0162 81A1 FE41 CP 'A' ;<A? 0163 81A3 DA8E83 JP C,ERROR0 ;ELLER 0164 81A6 FE5B CP 'Z'+1 ;>A?▶8a◀0165 81A8 D28E83 JP NC,ERROR0 0166 81AB FE42 CP 'B' 0167 81AD CA6A82 JP Z,ROMBLO 0168 81B0 FE45 CP 'E' 0169 81B2 CA6282 JP Z,NEBLOW 0170 81B5 FE56 CP 'V' 0171 81B7 CA4483 JP Z,VERIF1 0172 81BA FE52 CP 'R' 0173 81BC CA2983 JP Z,INPUT 0174 81BF FE51 CP 'Q' 0175 81C1 281C JR Z,MONRET 0176 81C3 FE4B CP 'K' 0177 81C5 CA2083 JP Z,ERASE 0178 81C8 FE46 CP 'F' 0179 81CA CA5C84 JP Z,FFIRAM 0180 81CD FE4D CP 'M' 0181 81CF CA7384 JP Z,MODIFY 0182 81D2 FE43 CP 'C' 0183 81D4 CA7B84 JP Z,COPY 0184 81D7 FE54 CP 'T' 0185 81D9 CA8584 JP Z,TAB 0186 81DC C38E83 JP ERROR0 0187 ; 0188 81DF DF5B MONRET: SCAL 5BH 0189 ; 0190 ;RUTINE TIL AT HENTE ARGUMENTER TIL ARGS ADR. 0191 ; 0192 81E1 13 INARGS: INC DE 0193 81E2 DF79 SCAL RLIN 0194 81E4 C9 RET 0195 ; 0196 81E5 3E7F INBYTE: LD A,7FH 0197 81E7 D310 OUT (ACTRL),A 0198 81E9 79 LD A,C 0199 81EA D30F OUT (BDATA),A 0200 81EC DB0E IN A,(ADATA) 0201 81EE C9 RET 0202 ; 0203 ; DENNE RUTINE KONTROLLERER OM DET ER EN 2708, 0204 ; OG SETTER TESTBIT HVIS DET ER EN SÅDAN. 0205 ; 0206 81EF ED5B0C0C ROMCHK: LD DE,(ARG1) 0207 81F3 3E27 LD A,27H 0208 81F5 BA CP D ;ER DET EN 27XX ? 0209 81F6 C28E83 JP NZ,ERROR0 ;NÅ IKKE SÅ ER DER FEJL 0210 81F9 3E08 LD A,08H 0211 81FB BB CP E ;ER DET EN 2708 ? 0212 81FC 2008 JR NZ,ROMT1 ;IKKE 2708, MEN 2716 ? 0213 81FE 110004 LD DE,1024 ;LOKATIONER I EN 2708 0214 8201 79 LD A,C ;HENT CTRL ORD 0215 8202 CBBF RES TBIT,A 0216 8204 4F LD C,A ;GEM CTRL ORD 0217 8205 C9 RET 0218 ; 0219 ; DENNE RUTINE KONTROLLERER OM DET ER EN 2716.▶8a◀0220 ; OG SETTER TESTBIT HVIS DET ER EN SÅDAN. 0221 ; 0222 8206 3E16 ROMT1: LD A,16H 0223 8208 BB CP E ;ER DET EN 2716 ? 0224 8209 C21482 JP NZ,ROMT2 ;IKKE 2716, MEN 2732 ? 0225 820C 110008 LD DE,2048 ;LOKATIONER I EN 2716 0226 820F 79 LD A,C ;HENT CTRL ORD 0227 8210 CBFF SET TBIT,A 0228 8212 4F LD C,A ;GEM CTRL ORD 0229 8213 C9 RET 0230 ; 0231 ; DENNE RUTINE KONTROLLERER OM DET ER EN 2732, 0232 ; OG SETTER TESTBIT HVIS DET ER EN SÅDAN. 0233 ; 0234 8214 3E32 ROMT2: LD A,32H 0235 8216 BB CP E ;ER DET SÅ EN 2732 ? 0236 8217 C28E83 JP NZ,ERROR0 ;EJ 2732 SÅ ER DER FEJL 0237 821A 110010 LD DE,4096 ;LOKATIONER I EN 2732 0238 821D 79 LD A,C ;HENT CTRL ORD 0239 821E CBFF SET TBIT,A 0240 8220 4F LD C,A ;GEM CTRL ORD 0241 8221 C9 RET 0242 ; 0243 8222 3E0F INIT: LD A,0FH 0244 8224 D311 OUT (BCTRL),A 0245 8226 3E6F LD A,6FH 0246 8228 D30F OUT (BDATA),A 0247 822A CB8F RES RESET,A 0248 822C D30F OUT (BDATA),A 0249 822E 4F LD C,A 0250 822F C9 RET 0251 ; 0252 ; CHECK OM DET ER DONOR ELLER RAM DER SKAL 0253 ; BRUGES, OG SELEKT DONOR HVIS DONOR 0254 ; 0255 8230 2A0E0C DONRAM: LD HL,(ARG2) 0256 8233 3E0D LD A,0DH 0257 8235 BD CP L ;ER DET DONOR ELLER RAM 0258 8236 2007 JR NZ,MBRAM ;HVIS DONOR SÅ RETURN 0259 8238 79 LD A,C ;HENT CTRL ORD 0260 8239 CB9F RES MROM,A ;SELEKT DONOR 0261 823B 4F LD C,A ;GEM CTRL ORD 0262 823C 210000 LD HL,0 0263 823F C9 MBRAM: RET 0264 ; 0265 ;DENNE RUTINE INC ADDRESSE COUNTEREN OG DEC DE 0266 ;KLAR TIL TEST, SAMT INC HL TIL NESTE BYTE 0267 ; 0268 8240 79 INCADD: LD A,C ;HENT CTRL ORD 0269 8241 CB87 RES ACLOCK,A 0270 8243 D30F OUT (BDATA),A ;SET CK PULS LAV 0271 8245 00 NOP 0272 8246 CBC7 SET ACLOCK,A 0273 8248 D30F OUT (BDATA),A ;SET CK PULS HØJ 0274 824A 4F LD C,A ;GEM CTRL ORD▶8a◀0275 824B 23 INC HL ;GØR KLAR TIL NESTE BYT 0276 824C 1B DECDE: DEC DE 0277 824D 7A LD A,D 0278 824E B3 OR E ;SET FLAF HVIS ZER0 - 0279 824F C9 RET ;TEST FL I HOVED RUTINE 0280 ; 0281 ; RUTINE DER SKRIVER LOOP NR. OG ADR NR. VED 0282 ; BLOWING PÅ CRT NÅR PROG RUNNES 0283 ; 0284 8250 78 PNTHEX: LD A,B 0285 8251 3D DEC A 0286 8252 DF68 SCAL B2HEX ;OUTPUT A I ASCII 0287 8254 3E07 LD A,7 0288 8256 85 ADD A,L 0289 8257 6F LD L,A 0290 8258 22290C LD (CLP),HL 0291 825B 7A LD A,D 0292 825C DF68 SCAL B2HEX 0293 825E 7B LD A,E 0294 825F DF68 SCAL B2HEX 0295 8261 C9 RET 0296 ; 0297 ;BLOW RUTINE UDEN CHECK FOR AT PROM ER ERASED 0298 ; 0299 8262 CDE181 NEBLOW: CALL INARGS 0300 8265 CDEF81 CALL ROMCHK 0301 8268 1806 JR BLOW 0302 ; 0303 ;BLOW RUTINE MED CHECK FOR AT PROM ER ERASED 0304 ; 0305 826A CDE181 ROMBLO: CALL INARGS 0306 826D CD0183 CALL ALSET1 ;CHEK FOR ERASED 0307 8270 210084 BLOW: LD HL,MES1 ;HENT TEXT 0308 8273 CD4E84 CALL TLINE ;SKRIV TEXT LINIE 0309 8276 79 LD A,C 0310 8277 CB7F BIT TBIT,A ;TESTBIT 0311 8279 C28082 JP NZ,CYCL16 0312 827C 0664 LD B,100 ;ANTAL LOOP FOR 2708 0313 827E 1802 JR ROMBL4 0314 8280 0602 CYCL16: LD B,2 ;ANTAL LOOP FOR 2716 0315 8282 CD2282 ROMBL4: CALL INIT 0316 8285 CDEF81 CALL ROMCHK ;HVILKEN PROM TYPE ? 0317 8288 CD3082 CALL DONRAM ;DONOR ELLER RAM ? 0318 828B 79 LD A,C 0319 828C CBB7 RES STATE3,A ;DESELEKT 2708 0320 828E 4F LD C,A 0321 828F CB5F BIT MROM,A ;SELEKT MARSTER PROM 0322 8291 C49882 CALL NZ,ROMBL1 0323 8294 3E7F LD A,7FH 0324 8296 1802 JR ROMBL2 0325 0326 ;I THIS MODE IT WILL NOT EFFECT THE DATA BUS ON 0327 ;THE PROM BLOWER SLAVE IN PROG. MODE FROM INIT. 0328 ; 0329 8298 3E0F ROMBL1: LD A,0FH ;SET PORT TIL OUTPUT▶8a◀0330 829A D310 ROMBL2: OUT (ACTRL),A ;SET TO CHOSEN MODE 0331 829C 79 LD A,C ;HENT CTRL 0332 829D D30F OUT (BDATA),A ;OUTPUT CTRL ORD 0333 829F 7E ROMBL3: LD A,(HL) ;DATA FRA RAM TIL A 0334 82A0 D30E OUT (ADATA),A ;SEND DATA TIL PORTEN 0335 82A2 79 LD A,C ;HENT CTRL ORD IGEN 0336 82A3 CBE7 SET TRIG,A 0337 82A5 D30F OUT (BDATA),A ;SEND TRIG PULS 0338 82A7 D5 PUSH DE 0339 82A8 54 LD D,H 0340 82A9 5D LD E,L 0341 82AA E5 PUSH HL 0342 82AB 212408 LD HL,0824H ;TEXT POS ON CRT. 0343 82AE 22290C LD (CLP),HL 0344 82B1 CD5082 CALL PNTHEX ;SEND TEXT 0345 82B4 E1 POP HL 0346 82B5 D1 POP DE 0347 82B6 79 LD A,C ;HENT CTRL ORD 0348 82B7 D5 PUSH DE ;GEM COUNT LOCATION 0349 82B8 CB7F BIT TBIT,A ;ER DET 2708 ELLER 2716 0350 82BA CAC582 JP Z,NODEL ;2708 SÅ HOP TIL NODEL 0351 ; 0352 ;DELAY FOR 2716 PR. PULS, 333 VED 2Mhz CPU CLOK 0353 ;DELAY FOR 2716 PR. PULS, 555 VED 4Mhz CPU CLOK 0354 ; 0355 82BD 113303 LD DE,333H 0356 ; 0357 82C0 CD4C82 GODEL: CALL DECDE 0358 82C3 20FB JR NZ,GODEL 0359 82C5 D1 NODEL: POP DE 0360 82C6 79 LD A,C 0361 82C7 D30F OUT (BDATA),A 0362 82C9 CD4082 CALL INCADD 0363 82CC 20D1 JR NZ,ROMBL3 0364 82CE 05 DEC B 0365 82CF C28282 JP NZ,ROMBL4 0366 82D2 00 NOP 0367 82D3 00 NOP 0368 82D4 00 NOP 0369 82D5 EF0C DB 0EFH,0CH 0370 82D7 57414954 DB 'WAITING 5 Secs ',0 0371 82DB 494E4720 0372 82DF 35205365 0373 82E3 63732020 0374 82E7 20202020 0375 82F6 DF5D SCAL TDEL ;DELAYET ER VED 4 Mhz - 0376 82F8 DF5D SCAL TDEL ;CA. 1 SEK. 0377 82FA DF5D SCAL TDEL 0378 82FC DF5D SCAL TDEL 0379 82FE CD4483 CALL VERIF1 0380 ; 0381 ; RUTINE TIL AT SETTE CTRL MED 0382 ; 0383 8301 EF0C00 ALSET1: DB 0EFH,0CH,00H 0384 8304 CD2282 CALL INIT▶8a◀0385 8307 CDEF81 CALL ROMCHK 0386 830A 79 LD A,C 0387 830B CB97 RES RP2708,A ;* 0388 830D CBF7 SET STATE3,A ;*SET CTRL TO READ PROM 0389 830F CBAF RES RW2716,A ;* 0390 8311 4F LD C,A ;GEM CTRL ORD 0391 ; 0392 ; CHECK OM ALLE LOKATIONER I PROM ER FF 0393 ; 0394 8312 CDE581 ALSET2: CALL INBYTE ;HENT EN BYTE 0395 8315 FEFF CP 0FFH ;TEST FOR ALLE BIT = 1 0396 8317 C2AD83 JP NZ,ERROR1 ;HVIS IKKE SÅ ERROR 0397 831A CD4082 CALL INCADD ;OPDATER POINTER 0398 831D 20F3 JR NZ,ALSET2 ;HENT DEN NÆSTE BYTE 0399 831F C9 RET 0400 ; 0401 ; RUTINE TIL CHECK OM PROM ER FULLY ERASE 0402 ; 0403 8320 CDE181 ERASE: CALL INARGS 0404 8323 CD0183 CALL ALSET1 0405 8326 C32B80 JP MENU 0406 ; 0407 ; RUTINE TIL AT LÆSE DONOR IND I RAM BUFFER 0408 ; 0409 8329 CDE181 INPUT: CALL INARGS 0410 832C CD2282 CALL INIT 0411 832F CDEF81 CALL ROMCHK 0412 8332 2A0E0C LD HL,(ARG2) 0413 8335 CB9F RES MROM,A 0414 8337 4F LD C,A 0415 8338 CDE581 INPUT2: CALL INBYTE 0416 833B 77 LD (HL),A 0417 833C CD4082 CALL INCADD 0418 833F 20F7 JR NZ,INPUT2 0419 8341 C32B80 JP MENU 0420 ; 0421 ; RUTINE TIL CHECK AF INDHOLD PROM 0422 ; 0423 8344 CDE181 VERIF1: CALL INARGS 0424 8347 212784 LD HL,MES2 ;HENT TEXT 0425 834A CD4E84 CALL TLINE ;SEND TEXT TOL CRT 0426 834D CD2282 VERIFY: CALL INIT 0427 8350 CDEF81 CALL ROMCHK ;PROM TYPE ? 0428 8353 CD3082 CALL DONRAM ;ER DET DONOR ELLER RAM 0429 8356 D5 V1: PUSH DE 0430 8357 79 LD A,C ;HENT CTRL ORD 0431 8358 5F LD E,A 0432 8359 CB97 RES RP2708,A ;* 0433 835B CBF7 SET STATE3,A ;*SET CTRL TO READ PROM 0434 835D CBAF RES RW2716,A ;* 0435 835F CBDF SET MROM,A ;DESELECT DONOR 0436 8361 4F LD C,A ;GEM CTRL ORD 0437 8362 CDE581 CALL INBYTE ;HENT BYTE FRA PROM 0438 8365 57 LD D,A ;GEM BYTE 0439 8366 7B LD A,E▶8a◀0440 8367 CB5F BIT MROM,A ;HVORFRA KOMMER DATA ? 0441 8369 200E JR NZ,VRAM 0442 836B CBEF SET RW2716,A 0443 836D CBD7 SET RP2708,A 0444 836F CBF7 SET STATE3,A 0445 8371 CB9F RES MROM,A ;SELECT DONOR 0446 8373 4F LD C,A ;GEM CTRL ORD 0447 8374 CDE581 CALL INBYTE ;HENT BYTE FRA DONOR 0448 8377 1801 JR V2 0449 0450 8379 7E VRAM: LD A,(HL) ;HENT BYTE FRA RAM 0451 837A BA V2: CP D ;ER DE 2 BYTE ENS ? 0452 837B C4CA83 CALL NZ,ERROR2 ;HVIS IKKE SÅ ERROR 0453 837E D1 POP DE 0454 837F CD4082 CALL INCADD ;HENT NÅSTE BYTE 0455 8382 20D2 JR NZ,V1 0456 8384 C32B80 JP MENU 0457 ; 0458 8387 21CA0B CURPOS: LD HL,CFP 0459 838A 22290C LD (CLP),HL 0460 838D C9 RET 0461 ; 0462 838E EF ERROR0: RST PRS 0463 838F 0C DB 0CH 0464 8390 2A202A20 DB '* * OPTIONS INCORRECT * *',0 0465 8394 4F505449 0466 8398 4F4E5320 0467 839C 494E434F 0468 83A0 52524543 0469 83AA C32B80 JP MENU 0470 ; 0471 83AD EF ERROR1: RST PRS 0472 83AE 0C DB 0CH 0473 83AF 2A202A20 DB '* * PROM NOT ERASED * *',0 0474 83B3 50524F4D 0475 83B7 204E4F54 0476 83BB 20455241 0477 83BF 53454420 0478 83C7 C32B80 JP MENU 0479 ; 0480 83CA 47 ERROR2: LD B,A 0481 83CB 04 INC B 0482 83CC E5 PUSH HL 0483 83CD D5 PUSH DE 0484 83CE 54 LD D,H 0485 83CF 5D LD E,L 0486 83D0 EF0D2045 DB 0EFH,0DH,' ERROR IN LOCATION ' 0487 83D4 52524F52 0488 83D8 20494E20 0489 83DC 4C4F4341 0490 83E0 54494F4E 0491 83E9 20202000 DB ' ',0 0492 83ED 2A290C LD HL,(CLP) 0493 83F0 CD5082 CALL PNTHEX ;SKRIV LOC. UD PÅ CRT 0494 83F3 3E08 LD A,08H▶8a◀0495 83F5 85 ADD A,L 0496 83F6 6F LD L,A 0497 83F7 22290C LD (CLP),HL 0498 83FA D1 POP DE 0499 83FB 7A LD A,D 0500 83FC DF68 SCAL B2HEX ;SKRIV BYTEN UD PÅ CRT 0501 83FE E1 POP HL 0502 83FF C9 RET 0503 ; 0504 8400 2A202A20 MES1: DB '* * BLOWING * * LOOP ' 0505 8404 424C4F57 0506 8408 494E4720 0507 840C 2A202A20 0508 8410 20202020 0509 841F 4C4F4341 DB 'LOCATION' 0510 8423 54494F4E 0511 ; 0512 8427 2A202A20 MES2: DB '* * VERIFYING * * ' 0513 842B 56455249 0514 842F 4659494E 0515 8433 47202A20 0516 8437 2A202020 0517 8445 20202020 DB ' ' 0518 8449 20202020 0519 844D 20 0520 ; 0521 ; SKRIVER TEXT UD I ØVERSTE LINIE PÅ CRT 0522 ; 0523 844E C5 TLINE: PUSH BC 0524 844F EF0C00 DB 0EFH,0CH,0 0525 8452 11CA0B LD DE,CFP 0526 8455 012700 LD BC,39 0527 8458 EDB0 LDIR 0528 845A C1 POP BC 0529 845B C9 RET 0530 ; 0531 ;DENNE RUTINE FYLDER FF I RAM-BUFFER. 0532 ;BRUGES TIL VERIFY AF SLETTET EPROM, OG 0533 ;HVIS KUN DELE AF EPROM SKAL PROGRAMMERES 0534 ; 0535 845C CDE181 FFIRAM: CALL INARGS 0536 845F 2A0C0C LD HL,(ARG1) ;BUFFER START ADR. 0537 8462 1610 LD D,16 ;BLOKKE AF 256 0538 8464 0600 LD B,0 ;BYTETELLER 0539 8466 3EFF LD A,0FFH 0540 8468 77 FFLOOP: LD (HL),A 0541 8469 23 INC HL 0542 846A 05 DEC B 0543 846B 20FB JR NZ,FFLOOP 0544 846D 15 DEC D 0545 846E 20F8 JR NZ,FFLOOP 0546 8470 C32B80 JP MENU 0547 ; 0548 ;MODYFY RUTINE KALDER NASSYS MODIFY 0549 ;▶8a◀0550 8473 CDE181 MODIFY: CALL INARGS 0551 8476 DF4D SCAL 'M' 0552 8478 C32B80 JP MENU 0553 ; 0554 ;COPY COMMAND FLYTTER DATA I MEMORYEN 0555 ;FRA = ARG 1, TIL = ARG 2, ANTAL BYTE = ARG 3 0556 ; 0557 847B CDE181 COPY: CALL INARGS ;GET ARGUMENTS FROM CRT 0558 847E DF60 SCAL ARGS ;GET ARGUMENTS 0559 8480 EDB0 LDIR ;COPY DATA 0560 8482 C32B80 JP MENU 0561 ; 0562 ;TABULERINGS RUTINE KALDER "T"COMANDO I NAS SYS 0563 ; 0564 8485 CDE181 TAB: CALL INARGS ;GET ARGUMENTS FROM CRT 0565 8488 DF60 SCAL ARGS ;GE ARGUMENTS 0566 848A DF54 SCAL 'T' ;KALD T UNDER NAS SYS 0567 848C C32B80 JP MENU 0568 ; 0569 848F END «eof»