|
|
DataMuseum.dkPresents historical artifacts from the history of: CR80 Hard and Floppy Disks |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CR80 Hard and Floppy Disks Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: 8 B C I L M O S T
Length: 339456 (0x52e00)
Description: Bits:30005203 8" Zilog MCZ/1 Floppy CR80FD_0030 ( BB LTU TEST BACK UP! BB VD1 821220 )
Types: 8" Floppy Disk
Notes: MCZ_Fs
| reserved | file_id | dirsect | firstsect | lastsect | type | rec.cnt | rec.len | blk.len | prop | address | lastbytes | created | modified | name | artifact |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 00000000 | 0000 | (22, 0, 25) | (50, 0, 5) | (50, 0, 10) | B | 2 | 128 | 128 | -------- | 0x0 | 128 | 791101 | 791101 | BUFFER.OBJ | ⟦7c9a35a4e⟧ MCZFile |
| 00000000 | 0000 | (22, 0, 25) | (19, 0, 9) | (43, 0, 8) | A | 19 | 128 | 128 | -------- | 0x0 | 7 | 791101 | 791101 | BUFFER.S | ⟦51b759f08⟧ MCZFile, TextFile |
| 00000000 | 0000 | (22, 0, 1) | (51, 0, 5) | (51, 0, 25) | B | 5 | 128 | 128 | -------- | 0x0 | 128 | 791101 | 791101 | CHX.PROC.OBJ | ⟦a23f30fde⟧ MCZFile |
| 00000000 | 0000 | (22, 0, 25) | (3, 0, 5) | (54, 0, 28) | A | 31 | 128 | 128 | -------- | 0x0 | 55 | 791101 | 791101 | CHX.PROC.S | ⟦f12ae0b44⟧ MCZFile, TextFile |
| 00000000 | 0000 | (22, 0, 15) | (10, 0, 7) | (6, 0, 15) | A | 10 | 128 | 128 | -------- | 0x0 | 127 | 791101 | 791101 | CONST.S | ⟦046acdcf5⟧ MCZFile, TextFile |
| 00000000 | 0000 | (22, 0, 6) | (61, 0, 5) | (61, 0, 8) | B | 8 | 128 | 128 | -------- | 0x0 | 128 | 791101 | 791101 | CR80LTU.OBJ | ⟦338d36b2f⟧ MCZFile |
| 00000000 | 0000 | (22, 0, 10) | (31, 0, 7) | (34, 0, 6) | A | 98 | 128 | 128 | -------- | 0x0 | 21 | 791101 | 791101 | CR80LTU.S | ⟦28e661eed⟧ MCZFile, TextFile |
| 00000000 | 0000 | (22, 0, 1) | (52, 0, 5) | (58, 0, 14) | B | 4 | 128 | 128 | -------- | 0x0 | 128 | 791101 | 791101 | CREA.OBJ | ⟦7eb0cf25f⟧ MCZFile |
| 00000000 | 0000 | (22, 0, 5) | (20, 0, 12) | (10, 0, 23) | A | 17 | 128 | 128 | -------- | 0x0 | 12 | 820224 | 791101 | CREA.S | ⟦9ae020a12⟧ MCZFile, TextFile |
| 00000000 | 0000 | (22, 0, 5) | (22, 0, 5) | (22, 0, 21) | D | 10 | 128 | 128 | WELS---- | 0x0 | 128 | 791101 | 791101 | DIRECTORY | «none» |
| 00000000 | 0000 | (22, 0, 6) | (0, 0, 5) | (52, 0, 6) | B | 3 | 128 | 128 | -------- | 0x0 | 128 | 791101 | 791101 | INIT.OBJ | ⟦e6393bd8e⟧ MCZFile |
| 00000000 | 0000 | (22, 0, 5) | (27, 0, 7) | (51, 0, 3) | A | 23 | 128 | 128 | -------- | 0x0 | 124 | 820414 | 791101 | INIT.S | ⟦f74267a74⟧ MCZFile, TextFile |
| 00000000 | 0000 | (22, 0, 15) | (25, 0, 15) | (26, 0, 6) | A | 2 | 128 | 128 | -------- | 0x0 | 97 | 821029 | 791101 | LTUTST.LINK | ⟦d585ff9ae⟧ MCZFile, TextFile |
| 00000000 | 0000 | (22, 0, 15) | (26, 0, 16) | (37, 0, 7) | P | 31 | 128 | 128 | -------- | 0x0 | 128 | 791101 | 791101 | LTUTST.LNK | ⟦16dece1e5⟧ MCZFile |
| 00000000 | 0000 | (22, 0, 20) | (9, 0, 29) | (8, 0, 29) | A | 19 | 128 | 128 | -------- | 0x0 | 0 | 791101 | 791101 | LTUTST.LNK.MAP | ⟦f5a325639⟧ MCZFile, TextFile |
| 00000000 | 0000 | (22, 0, 20) | (37, 0, 14) | (40, 0, 3) | A | 7 | 128 | 128 | -------- | 0x0 | 16 | 791101 | 791101 | LTUTST.LNK.SYM | ⟦63348a8ea⟧ MCZFile |
| 00000000 | 0000 | (22, 0, 25) | (43, 0, 26) | (61, 0, 13) | B | 5 | 128 | 128 | -------- | 0x0 | 128 | 791101 | 791101 | LTUTST.OBJ | ⟦b7d8a5111⟧ MCZFile |
| 00000000 | 0000 | (22, 0, 15) | (9, 0, 13) | (50, 0, 8) | B | 8 | 128 | 128 | -------- | 0x0 | 128 | 791101 | 791101 | OBT.OBJ | ⟦a889e4e81⟧ MCZFile |
| 00000000 | 0000 | (22, 0, 10) | (26, 0, 9) | (42, 0, 14) | A | 33 | 128 | 128 | -------- | 0x0 | 104 | 791101 | 791101 | OBT.S | ⟦d1a632e94⟧ MCZFile, TextFile |
| 00000000 | 0000 | (22, 0, 6) | (62, 0, 7) | (68, 0, 6) | B | 7 | 128 | 128 | -------- | 0x0 | 128 | 791101 | 791101 | OPESYS.OBJ | ⟦56a818a80⟧ MCZFile |
| 00000000 | 0000 | (22, 0, 10) | (28, 0, 7) | (31, 0, 5) | A | 93 | 128 | 128 | -------- | 0x0 | 80 | 791101 | 791101 | OPESYS.S | ⟦09fd81e18⟧ MCZFile, TextFile |
| 00000000 | 0000 | (22, 0, 20) | (8, 0, 15) | (2, 0, 13) | B | 4 | 128 | 128 | -------- | 0x0 | 128 | 791101 | 791101 | SIOTST.OBJ | ⟦8bae86fca⟧ MCZFile |
| 00000000 | 0000 | (22, 0, 15) | (10, 0, 11) | (2, 0, 7) | A | 38 | 128 | 128 | -------- | 0x0 | 36 | 791101 | 791101 | SIOTST.S | ⟦f44eccdc8⟧ MCZFile, TextFile |
| 00000000 | 0000 | (22, 0, 20) | (3, 0, 12) | (1, 0, 6) | B | 2 | 128 | 128 | -------- | 0x0 | 128 | 791101 | 791101 | SYSALL.OBJ | ⟦3fbfcaf01⟧ MCZFile |
| 00000000 | 0000 | (22, 0, 5) | (25, 0, 7) | (26, 0, 5) | A | 29 | 128 | 128 | -------- | 0x0 | 80 | 791101 | 791101 | SYSALL.S | ⟦879946e1a⟧ MCZFile, TextFile |
| 00000000 | 0000 | (22, 0, 16) | (63, 0, 4) | (64, 0, 6) | B | 2 | 128 | 128 | -------- | 0x0 | 128 | 791101 | 791101 | SYSRAM.OBJ | ⟦43d137fb2⟧ MCZFile |
| 00000000 | 0000 | (22, 0, 16) | (43, 0, 23) | (43, 0, 29) | A | 2 | 128 | 128 | -------- | 0x0 | 49 | 791101 | 791101 | SYSRAM.S | ⟦95e5cd245⟧ MCZFile, TextFile |
| 00000000 | 0000 | (22, 0, 6) | (45, 0, 14) | (45, 0, 24) | B | 3 | 128 | 128 | -------- | 0x0 | 128 | 791101 | 791101 | TDMA.OBJ | ⟦60d0ebd97⟧ MCZFile |
| 00000000 | 0000 | (22, 0, 1) | (37, 0, 27) | (40, 0, 31) | A | 18 | 128 | 128 | -------- | 0x0 | 66 | 791101 | 791101 | TDMA.S | ⟦1951822c4⟧ MCZFile, TextFile |
| 00000000 | 0000 | (22, 0, 25) | (43, 0, 6) | (43, 0, 16) | A | 3 | 128 | 128 | -------- | 0x0 | 78 | 791101 | 791101 | TEMPO | ⟦2ed14540e⟧ MCZFile, TextFile |
| 00000000 | 0000 | (22, 0, 25) | (4, 0, 19) | (65, 0, 31) | B | 2 | 128 | 128 | -------- | 0x0 | 128 | 791101 | 791101 | TPIO.OBJ | ⟦3719c8180⟧ MCZFile |
| 00000000 | 0000 | (22, 0, 20) | (36, 0, 16) | (40, 0, 8) | A | 7 | 128 | 128 | -------- | 0x0 | 26 | 791101 | 791101 | TPIO.S | ⟦c84fc3d36⟧ MCZFile, TextFile |
| 00000000 | 0000 | (22, 0, 6) | (45, 0, 4) | (54, 0, 12) | B | 4 | 128 | 128 | -------- | 0x0 | 128 | 791101 | 791101 | TRAM.OBJ | ⟦0cf02ca54⟧ MCZFile |
| 00000000 | 0000 | (22, 0, 1) | (36, 0, 8) | (44, 0, 27) | A | 35 | 128 | 128 | -------- | 0x0 | 33 | 791101 | 791101 | TRAM.S | ⟦7ea12fffb⟧ MCZFile, TextFile |
| 00000000 | 0000 | (22, 0, 1) | (2, 0, 5) | (66, 0, 11) | B | 5 | 128 | 128 | -------- | 0x0 | 128 | 791101 | 791101 | TSIO.OBJ | ⟦13ce831a7⟧ MCZFile |
| 00000000 | 0000 | (22, 0, 25) | (36, 0, 29) | (44, 0, 0) | A | 29 | 128 | 128 | -------- | 0x0 | 10 | 791101 | 791101 | TSIO.S | ⟦d727369d2⟧ MCZFile, TextFile |
| 00000000 | 0000 | (22, 0, 11) | (49, 0, 7) | (51, 0, 11) | B | 4 | 128 | 128 | -------- | 0x0 | 128 | 791101 | 791101 | TSIODMA.OBJ | ⟦15fb83bec⟧ MCZFile |
| 00000000 | 0000 | (22, 0, 1) | (40, 0, 13) | (51, 0, 16) | A | 21 | 128 | 128 | -------- | 0x0 | 4 | 791101 | 791101 | TSIODMA.S | ⟦b5f7f7b10⟧ MCZFile, TextFile |
| 00000000 | 0000 | (22, 0, 1) | (3, 0, 11) | (61, 0, 23) | B | 3 | 128 | 128 | -------- | 0x0 | 128 | 791101 | 791101 | TTIM.OBJ | ⟦a4b766279⟧ MCZFile |
| 00000000 | 0000 | (22, 0, 20) | (9, 0, 11) | (4, 0, 6) | A | 18 | 128 | 128 | -------- | 0x0 | 79 | 791101 | 791101 | TTIM.S | ⟦cf8e52036⟧ MCZFile, TextFile |
0x00000…00088 (0, 0, 0) UnusedSector ┆ IVED CHARACTER INC HL LD A,(HL) ;GET NEXT CHARACTER LD (IY+0EH),L LD (IY+0FH),H ;SAVE NEW CHARACTER POINTER LD E,(IY+12H) =┆
0x00088…00110 (0, 0, 1) UnusedSector ┆ TSIODMA ;DO DMA DATA TRANSFER TEST 184 0100 DB72 185 IN A,(APIO1+2) 0102 CBF7 186 S 1 ┆
0x00110…00198 (0, 0, 2) UnusedSector ┆ SAVE NEW TX BYTECOUNT XOR A CCF RET ;ECHO ;****************************************************************************** ┆
0x00198…00220 (0, 0, 3) UnusedSector ┆ OP HW TESTING 178 00F5 CD0000 X 179 CALL TDMA ;DO DMA TEST 00F8 CDA401 R 180 CALL ERRCHK 00 ┆
0x00220…002a8 (0, 0, 4) UnusedSector ┆ X CHAR.POINTER AND TX BY- ;* TECOUNT IN CHANNEL TABLE AND RX BYTECOUNT IN BUFFER ;* ;* ENTRY : IY = ADDRESS OF CHANNEL TABL P┆
0x002a8…00330 (0, 0, 5) DataSector
0x00330…003b8 (0, 0, 6) UnusedSector ┆ C LD L,(IY+0EH) ;GET CHARACTER POINTER LD H,(IY+0FH) LD E,(HL) ;GET FIRST CHARACTER LOOP3 ;DO OUT (C),E ; TRANSMIT N ┆
0x003b8…00440 (0, 0, 7) UnusedSector ┆ ;* PROCEDURE NAME : NEXTCHA ;* ;* DESCRIPTION : THE ROUTINE SAVES RECEIVED CHARACTER IN BUFFER AND ;* INCREMENTS RX BYTECO WF┆
0x00440…004c8 (0, 0, 8) UnusedSector ┆ LD D,(IY+13H) LD HL,BCOFF ADD HL,DE INC (HL) JR NZ,NEXT1 ;INCREMENT RX BYTECOUNT INC HL INC (HL) NEXT1 LD E,A LD L,(IY+1 4 ~┆
0x004c8…00550 (0, 0, 9) UnusedSector ┆ E ;* ;* EXIT : CY = 0 IF TX BYTECOUNT =< 6 ;* CY = 1 IF TX BYTECOUNT > 6 ;* ;* DESTROY : A,F,B,C,D,E,H,L ;************** ┆
0x00550…005d8 (0, 0, 10) UnusedSector ┆ 168 CALL TTIM1 ;DO TIMER 1 (8253-1) TEST 00DF CD0000 X 169 CALL TTIM2 ;DO TIMER 2 (8253-2) TEST 00E2 CD0000 X 1 ┆
0x005d8…00660 (0, 0, 11) UnusedSector ┆ EXT CHARACTER XOR A ; EI ; LD B,0 ; WAIT3 DJNZ WAIT3 ; LD B,50 ; DELAY 1 MILLI SEC. WAIT4 DJNZ WAIT4 ; DI ; CP E Z ┆
0x00660…006e8 (0, 0, 12) UnusedSector ┆ UNT IN BUFFER, ;* INCREMENTS TX CHAR.POINTER AND DECREMENTS TX BYTE- ;* COUNT IN CHAN.TABLE AND GETS NEXT CHAR. TO TRANS fs┆
0x006e8…00770 (0, 0, 13) DataSector
0x00770…007f8 (0, 0, 14) UnusedSector ┆ *************************************************************** CHINIT LD E,(IY+12H) ;GET BUFFER ADDRESS LD D,(IY+13H) LD HL - ┆
0x007f8…00880 (0, 0, 15) Descriptor {
0x007f8…00880 am = CHS(0, 0, 15, #4) // 0x7f8 @0x0
0x007f8…00880 rsv0 = 00000000 // 0x7fa @0x2
0x007f8…00880 file_id = 0000 // 0x7fe @0x6
0x007f8…00880 dirsect = (22, 0, 6) // 0x800 @0x8
0x007f8…00880 firstsect = (0, 0, 5) // 0x802 @0xa
0x007f8…00880 lastsect = (52, 0, 6) // 0x804 @0xc
0x007f8…00880 type = 0x10 // 0x806 @0xe
0x007f8…00880 reccnt = 0x0003 // 0x807 @0xf
0x007f8…00880 reclen = 0x0080 // 0x809 @0x11
0x007f8…00880 blklen = 0x0080 // 0x80b @0x13
0x007f8…00880 prop = 0x00 // 0x80d @0x15
0x007f8…00880 adr = 0x0000 // 0x80e @0x16
0x007f8…00880 lastbytes = 0x0080 // 0x810 @0x18
0x007f8…00880 created = »791101 « // 0x812 @0x1a
0x007f8…00880 modified = »791101 « // 0x81a @0x22
0x007f8…00880 avail = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // 0x822 @0x2a
0x007f8…00880 prev = (22, 0, 6) // 0x87a @0x82
0x007f8…00880 next = (0, 0, 5) // 0x87c @0x84
0x007f8…00880 crc = 4b30 // 0x87e @0x86
0x007f8…00880 }
0x00880…00908 (0, 0, 16) UnusedSector ┆ ; LD B,2 ; JR NZ,SIOERR ; IF RX CHAR. <> TX CHAR. THEN EXIT CALL NEXTCHA ; SAVE CHARACTER AND GET NEXT CHARACTER JR NZ ^ ┆
0x00908…00990 (0, 0, 17) UnusedSector ┆ MIT ;* ;* ENTRY : A = RECEIVED CHARACTER ;* IY = ADDRESS OF CHANNEL TABLE ;* ;* EXIT : Z = 0 IF MORE CHARACTERS TO TRANSM tD┆
0x00990…00a18 (0, 0, 18) DataSector
0x00a18…00aa0 (0, 0, 19) UnusedSector ┆ ,BCOFF ADD HL,DE LD C,(HL) INC HL ;GET TX BYTECOUNT LD B,(HL) PUSH HL XOR A LD HL,6 SBC HL,BC POP HL RET NC ;IF TX B .┆
0x00aa0…00b28 (0, 0, 20) UnusedSector ┆ 70 CALL TTIM3 ;DO TIMER 3 (Z80-CTC) TEST 00E5 CDA401 R 171 CALL ERRCHK 00E8 201C 172 JR NZ,O3NEXT ;IF TIMER n ┆
0x00b28…00bb0 (0, 0, 21) UnusedSector ┆ ,LOOP3 ;OD LD B,0 ;NO ERROR INDICATION SIOERR LD E,(IY+12H) LD D,(IY+13H) LD HL,BUFFHEAD+ERROFF ADD HL,DE LD (HL),B ;SA -q┆
0x00bb0…00c38 (0, 0, 22) UnusedSector ┆ IT ;* E = CHARACTER TO TRANSMIT ;* ;* Z = 1 IF NO MORE CHARACTERS TO TRANSMIT ;* ;* DESTROY : A,F,D,E,H,L ;************ ┆
0x00c38…00cc0 (0, 0, 23) DataSector
0x00cc0…00d48 (0, 0, 24) UnusedSector ┆ YTECOUNT =< 6 THEN EXIT LD (HL),0 DEC HL LD (HL),6 ;INITIALIZE RX BYTECOUNT := 6 LD HL,BUFFHEAD+DATOFF ADD HL,DE LD (IY+0 q┆
0x00d48…00dd0 (0, 0, 25) UnusedSector ┆ ERRORS THEN STOP HW TESTING 173 00EA CD0000 X 174 CALL TSIO1 ;DO SIO 1 TEST 00ED CD0000 X 17 ┆
0x00dd0…00e58 (0, 0, 26) UnusedSector ┆ VE ERROR CODE IN BUFFER LOOPOUT IN A,(APIO1+1) RES 4,A OUT (APIO1+1),A ;TURN OFF TEST LED RET ;ECHO ;********************** ┆
0x00e58…00ee0 (0, 0, 27) UnusedSector ┆ ****************************************************************** NEXTCHA LD L,(IY+0EH) LD H,(IY+0FH) LD (HL),A ;SAVE RECE 1┆
0x00ee0…00f68 (0, 0, 28) UnusedSector ┆ FB 2009 181 JR NZ,O3NEXT ;IF DMA ERRORS THEN STOP HW TESTING 182 00FD CD0000 X 183 CALL ┆
0x00f68…00ff0 (0, 0, 29) UnusedSector ┆ EH),L LD (IY+0FH),H ;SAVE NEW CHARACTER POINTER DEC BC DEC BC DEC BC DEC BC DEC BC DEC BC LD (IY+10H),C LD (IY+11H),B ; ┆
0x00ff0…01078 (0, 0, 30) UnusedSector ┆ 5 CALL TSIO2 ;DO SIO 2 TEST 00F0 CDA401 R 176 CALL ERRCHK 00F3 2011 177 JR NZ,O3NEXT ;IF SIO ERRORS THEN ST ┆
0x01078…01100 (0, 0, 31) UnusedSector ┆ ****************************************************** ;* PROCEDURE NAME : CHINIT ;* ;* DESCRIPTION : THE ROUTINE INITIALIZES T ┆
0x01100…01188 (1, 0, 0) UnusedSector ┆ R 114 0082 310040 115 LD SP,RAMEND+1 0085 3E55 116 LD A,55H 0087 0600 117 L O┆
0x01188…01210 (1, 0, 1) UnusedSector ┆ 009F B8 131 CP B 00A0 2805 132 JR Z,O2NEXT ;IF ERROR IN STACK THEN DISPLAY 00A2 3E0B 133 LD ┆
0x01210…01298 (1, 0, 2) UnusedSector ┆ 149 LD (HL),A 00BD BE 150 CP (HL) 00BE 20CB 151 JR NZ,O1ERR 00C0 AF 152 XOR A 00 8o┆
0x01298…01320 (1, 0, 3) UnusedSector ┆ LL ERRCHK 00DA 202A 166 JR NZ,O3NEXT ;IF PIO ERRORS THEN STOP HW TESTING 167 00DC CD0000 X E┆
0x01320…013a8 (1, 0, 4) UnusedSector ┆ NPUT 100 ; PORT C (LOWER) : OUTPUT 006E D323 101 OUT (APIO2+3),A ; PORT C (UPPER) : INPUT j┆
0x013a8…01430 (1, 0, 5) UnusedSector ┆ 77 JR OBT ; 78 81 *L ON 005E 1807 82 JR OBT ;ENTRY IF TEST AC ┆
0x01430…014b8 (1, 0, 6) DataSector
0x014b8…01540 (1, 0, 7) UnusedSector ┆ D B,00H 0089 1005 118 O1LOOP DJNZ O12NEXT 008B 3E0B 119 O1ERR LD A,0BH 008D C33201 R 120 JP ERROR 009 I ┆
0x01540…015c8 (1, 0, 8) UnusedSector ┆ A,0BH 00A4 C33201 R 134 JP ERROR 135 00A7 210000 136 O2NEXT LD HL,0 00AA 39 137 -┆
0x015c8…01650 (1, 0, 9) DataSector
0x01650…016d8 (1, 0, 10) UnusedSector ┆ TIVATED 85 *L ON 86 0067 F3 87 OBT DI 88 ;SET ┆
0x016d8…01760 (1, 0, 11) UnusedSector ┆ 102 ;END 103 104 ;RESET OUTPUT PORTS 0070 3E00 105 > ┆
0x01760…017e8 (1, 0, 12) UnusedSector ┆ 0 215555 121 O12NEXT LD HL,5555H ;FIND LAST RAM ADDRESS 0093 E5 122 PUSH HL 0094 E1 123 POP HL N┆
0x017e8…01870 (1, 0, 13) UnusedSector ┆ ADD HL,SP 00AB 2B 138 DEC HL 00AC 060E 139 LD B,0EH ;TEST STACK AREA 00AE 3E55 140 O2LOOP }┆
0x01870…018f8 (1, 0, 14) UnusedSector ┆ C1 77 153 LD (HL),A 00C2 BE 154 CP (HL) 00C3 20C6 155 JR NZ,O1ERR 00C5 2B 156 '┆
0x018f8…01980 (1, 0, 15) UnusedSector ┆ PIO 1 MODE 89 ;BEGIN 0068 3E81 90 LD A,10000001B ; PORT A : OUTPUT 91 ┆
0x01980…01a08 (1, 0, 16) UnusedSector ┆ LD A,0 0072 D320 106 OUT (APIO2),A 0074 D322 107 OUT (APIO2+2),A 0076 3EFF 108 LD A,0FFH 007 O ┆
0x01a08…01a90 (1, 0, 17) UnusedSector ┆ 0095 E5 124 PUSH HL 0096 BC 125 CP H 0097 20F0 126 JR NZ,O1LOOP 0099 BD 127 C S ┆
0x01a90…01b18 (1, 0, 18) UnusedSector ┆ LD A,55H ;FOR N = STACK TOP TO BOTTOM STEP - 1 00B0 77 141 LD (HL),A ; WRITE DATA 00B1 BE 142 CP (H ┆
0x01b18…01ba0 (1, 0, 19) UnusedSector ┆ DEC HL 00C6 10E6 157 DJNZ O2LOOP ;NEXT N 158 00C8 CD0000 X 159 CALL TRAM ;DO RAM TEST s┆
0x01ba0…01c28 (1, 0, 20) UnusedSector ┆ ; PORT B : OUTPUT 92 ; PORT C (LOWER) : INPUT 006A D373 93 OUT (APIO1+3),A ; PORT C ┆
0x01c28…01cb0 (1, 0, 21) UnusedSector ┆ 8 D370 109 OUT (APIO1),A ;SET INTERNAL CLOCK MODE 007A 3E90 110 LD A,90H 007C D371 111 OUT (API ┆
0x01cb0…01d38 (1, 0, 22) UnusedSector ┆ P L 009A 20ED 128 JR NZ,O1LOOP 009C E1 129 POP HL 009D 3EFF 130 LD A,0FFH ┆
0x01d38…01dc0 (1, 0, 23) UnusedSector ┆ L) ; READ DATA 00B2 20D7 143 JR NZ,O1ERR ; LOOP IF ERROR 00B4 3EAA 144 LD A,0AAH 00B6 77 145 r┆
0x01dc0…01e48 (1, 0, 24) UnusedSector ┆ 00CB CD0000 X 160 CALL TPIO1 ;DO PIO1 TEST 00CE CD0000 X 161 CALL TPIO2 ;DO PIO2 TEST 00D1 DB72 162 I i ┆
0x01e48…01ed0 (1, 0, 25) Descriptor {
0x01e48…01ed0 am = CHS(1, 0, 25, #4) // 0x1e48 @0x0
0x01e48…01ed0 rsv0 = 00000000 // 0x1e4a @0x2
0x01e48…01ed0 file_id = 0000 // 0x1e4e @0x6
0x01e48…01ed0 dirsect = (22, 0, 16) // 0x1e50 @0x8
0x01e48…01ed0 firstsect = (63, 0, 4) // 0x1e52 @0xa
0x01e48…01ed0 lastsect = (64, 0, 6) // 0x1e54 @0xc
0x01e48…01ed0 type = 0x10 // 0x1e56 @0xe
0x01e48…01ed0 reccnt = 0x0002 // 0x1e57 @0xf
0x01e48…01ed0 reclen = 0x0080 // 0x1e59 @0x11
0x01e48…01ed0 blklen = 0x0080 // 0x1e5b @0x13
0x01e48…01ed0 prop = 0x00 // 0x1e5d @0x15
0x01e48…01ed0 adr = 0x0000 // 0x1e5e @0x16
0x01e48…01ed0 lastbytes = 0x0080 // 0x1e60 @0x18
0x01e48…01ed0 created = »791101 « // 0x1e62 @0x1a
0x01e48…01ed0 modified = »791101 « // 0x1e6a @0x22
0x01e48…01ed0 avail = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // 0x1e72 @0x2a
0x01e48…01ed0 prev = (22, 0, 16) // 0x1eca @0x82
0x01e48…01ed0 next = (63, 0, 4) // 0x1ecc @0x84
0x01e48…01ed0 crc = 5436 // 0x1ece @0x86
0x01e48…01ed0 }
0x01ed0…01f58 (1, 0, 26) UnusedSector ┆ (UPPER) : OUTPUT 94 ;END 95 96 ;SET PIO 2 MODE ┆
0x01f58…01fe0 (1, 0, 27) UnusedSector ┆ O1+1),A ;TURN ON TEST LED, SET LOOP1,LOOP2 007E 3EDF 112 LD A,0DFH 0080 D372 113 OUT (APIO1+2),A ;SET CLEA o ┆
0x01fe0…02068 (1, 0, 28) UnusedSector ┆ OBT PAGE 2 LOC OBJ CODE M STMT SOURCE STATEMENT ASM 5.9 ┆
0x02068…020f0 (1, 0, 29) UnusedSector ┆ LD (HL),A 00B7 BE 146 CP (HL) 00B8 20D1 147 JR NZ,O1ERR 00BA 3EFF 148 LD A,0FFH 00BC 77 ┆
0x020f0…02178 (1, 0, 30) UnusedSector ┆ N A,(APIO1+2) 00D3 CBEF 163 SET 5,A 00D5 D372 164 OUT (APIO1+2),A ;RESET CLEAR 00D7 CDA401 R 165 CA ` ┆
0x02178…02200 (1, 0, 31) UnusedSector ┆ 97 ;BEGIN 006C 3E8A 98 LD A,10001010B ; PORT A : OUTPUT 99 ; PORT B : I , ┆
0x02200…02288 (2, 0, 0) UnusedSector ┆ } / ~ ) L L / / ? ┆
0x02288…02310 (2, 0, 1) UnusedSector ┆ 72 GLOBAL OBT,ERROR,DETECT,MDELAY 73 EXTERNAL TRAM,TPIO1,TPIO2,TTIM1,TTIM2,TTIM3,TSIO1,TSIO2 ┆
0x02310…02398 (2, 0, 2) UnusedSector ┆ ^ ^ ` ` g g g I h h h L j j j } l l l }(┆
0x02398…02420 (2, 0, 3) UnusedSector ┆ } } } } < ┆
0x02420…024a8 (2, 0, 4) UnusedSector ┆ 74 EXTERNAL TDMA,TSIODMA,INTCTC,EXBEGIN 75 0000 F3 76 DI 0001 1864 G┆
0x024a8…02530 (2, 0, 5) DataSector
0x02530…025b8 (2, 0, 6) UnusedSector ┆ TRY : A = RECEIVED CHARACTER ;* IY = ADDRESS OF CHANNEL TABLE ;* ;* EXIT : Z = 0 IF MORE CHARACTERS TO TRANSMIT ;* E uk┆
0x025b8…02640 (2, 0, 7) DataSector
[…0x1…]
0x026c8…02750 (2, 0, 9) UnusedSector ┆ 3 ┆
0x02750…027d8 (2, 0, 10) UnusedSector ┆ l l L n n n } p p p p L r } t } v L x } z L | } ~ L h┆
0x027d8…02860 (2, 0, 11) UnusedSector ┆ = CHARACTER TO TRANSMIT ;* ;* Z = 1 IF NO MORE CHARACTERS TO TRANSMIT ;* ;* DESTROY : A,F,E,H,L ;************************** ┆
0x02860…028e8 (2, 0, 12) UnusedSector ┆ } O L L e L e " e $ $ ' ' ┆
0x028e8…02970 (2, 0, 13) DataSector
0x02970…029f8 (2, 0, 14) UnusedSector ┆ \ ┆
0x029f8…02a80 (2, 0, 15) UnusedSector ┆ } L L L ' ' VA┆
0x02a80…02b08 (2, 0, 16) UnusedSector ┆ **************************************************** NEXTCHA LD L,(IY+0EH) LD H,(IY+0FH) LD (HL),A ;SAVE RECEIVED CHARACTER ~ ┆
0x02b08…02b90 (2, 0, 17) UnusedSector ┆ ' ( ) , * t - . / H 0 2 2 2 2 2 H 3 4 } 7 L Y ┆
0x02b90…02c18 (2, 0, 18) UnusedSector ┆ t L ! 3 h t * t ? t ! 2 ┆
0x02c18…02ca0 (2, 0, 19) UnusedSector ┆ ┆
0x02ca0…02d28 (2, 0, 20) UnusedSector ┆ L ' L 3 L L t ( t L ┆
0x02d28…02db0 (2, 0, 21) UnusedSector ┆ INC HL LD E,(HL) ;GET NEXT CHARACTER LD (IY+0EH),L LD (IY+0FH),H ;SAVE NEW CHARACTER POINTER LD L,(IY+10H) LD H,(IY+11H) [ ┆
0x02db0…02e38 (2, 0, 22) UnusedSector ┆ 9 e ; = e ? ? L A D G I e K N Q S e U / V X ┆
0x02e38…02ec0 (2, 0, 23) UnusedSector ┆ OBT PAGE 1 LOC OBJ CODE M STMT SOURCE STATEMENT " ┆
0x02ec0…02f48 (2, 0, 24) UnusedSector ┆ m ┆
0x02f48…02fd0 (2, 0, 25) UnusedSector ┆ t ( t L t ( t % t ( t 3 A┆
0x02fd0…03058 (2, 0, 26) UnusedSector ┆ DEC HL ;DECREMENT TX BYTECOUNT LD A,L OR H RET Z ;IF TX BYTECOUNT = 0 THEN EXIT LD (IY+10H),L LD (IY+11H),H ;SAVE NEW T ^@┆
0x03058…030e0 (2, 0, 27) UnusedSector ┆ X [ ^ ^ L ` b e d u f h k m p s u e w z ┆
0x030e0…03168 (2, 0, 28) UnusedSector ┆ ASM 5.9 1 *INCLUDE CONST.S 70 *L ON 71 ┆
0x03168…031f0 (2, 0, 29) UnusedSector ┆ I B ┆
0x031f0…03278 (2, 0, 30) UnusedSector ┆ } } } ┆
0x03278…03300 (2, 0, 31) UnusedSector ┆ X BYTECOUNT RET ;ECHO = ┆
0x03300…03388 (3, 0, 0) Descriptor {
0x03300…03388 am = CHS(3, 0, 0, #4) // 0x3300 @0x0
0x03300…03388 rsv0 = 00000000 // 0x3302 @0x2
0x03300…03388 file_id = 0000 // 0x3306 @0x6
0x03300…03388 dirsect = (22, 0, 1) // 0x3308 @0x8
0x03300…03388 firstsect = (2, 0, 5) // 0x330a @0xa
0x03300…03388 lastsect = (66, 0, 11) // 0x330c @0xc
0x03300…03388 type = 0x10 // 0x330e @0xe
0x03300…03388 reccnt = 0x0005 // 0x330f @0xf
0x03300…03388 reclen = 0x0080 // 0x3311 @0x11
0x03300…03388 blklen = 0x0080 // 0x3313 @0x13
0x03300…03388 prop = 0x00 // 0x3315 @0x15
0x03300…03388 adr = 0x0000 // 0x3316 @0x16
0x03300…03388 lastbytes = 0x0080 // 0x3318 @0x18
0x03300…03388 created = »791101 « // 0x331a @0x1a
0x03300…03388 modified = »791101 « // 0x3322 @0x22
0x03300…03388 avail = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // 0x332a @0x2a
0x03300…03388 prev = (22, 0, 1) // 0x3382 @0x82
0x03300…03388 next = (2, 0, 5) // 0x3384 @0x84
0x03300…03388 crc = f707 // 0x3386 @0x86
0x03300…03388 }
0x03388…03410 (3, 0, 1) DataSector
0x03410…03498 (3, 0, 2) UnusedSector ┆ R, ;* INCREMENTS TX CHAR.POINTER AND DECREMENTS TX BYTE- ;* COUNT IN CHAN.TABLE AND GETS NEXT CHAR. TO TRANSMIT ;* ;* EN % ┆
0x03498…03520 (3, 0, 3) DataSector
[…0x2…]
0x03630…036b8 (3, 0, 6) Descriptor {
0x03630…036b8 am = CHS(3, 0, 6, #4) // 0x3630 @0x0
0x03630…036b8 rsv0 = 00000000 // 0x3632 @0x2
0x03630…036b8 file_id = 0000 // 0x3636 @0x6
0x03630…036b8 dirsect = (22, 0, 25) // 0x3638 @0x8
0x03630…036b8 firstsect = (3, 0, 5) // 0x363a @0xa
0x03630…036b8 lastsect = (54, 0, 28) // 0x363c @0xc
0x03630…036b8 type = 0x20 // 0x363e @0xe
0x03630…036b8 reccnt = 0x001f // 0x363f @0xf
0x03630…036b8 reclen = 0x0080 // 0x3641 @0x11
0x03630…036b8 blklen = 0x0080 // 0x3643 @0x13
0x03630…036b8 prop = 0x00 // 0x3645 @0x15
0x03630…036b8 adr = 0x0000 // 0x3646 @0x16
0x03630…036b8 lastbytes = 0x0037 // 0x3648 @0x18
0x03630…036b8 created = »791101 « // 0x364a @0x1a
0x03630…036b8 modified = »791101 « // 0x3652 @0x22
0x03630…036b8 avail = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // 0x365a @0x2a
0x03630…036b8 prev = (22, 0, 25) // 0x36b2 @0x82
0x03630…036b8 next = (3, 0, 5) // 0x36b4 @0x84
0x03630…036b8 crc = 1a41 // 0x36b6 @0x86
0x03630…036b8 }
0x036b8…03740 (3, 0, 7) Descriptor {
0x036b8…03740 am = CHS(3, 0, 7, #4) // 0x36b8 @0x0
0x036b8…03740 rsv0 = 00000000 // 0x36ba @0x2
0x036b8…03740 file_id = 0000 // 0x36be @0x6
0x036b8…03740 dirsect = (22, 0, 20) // 0x36c0 @0x8
0x036b8…03740 firstsect = (3, 0, 12) // 0x36c2 @0xa
0x036b8…03740 lastsect = (1, 0, 6) // 0x36c4 @0xc
0x036b8…03740 type = 0x10 // 0x36c6 @0xe
0x036b8…03740 reccnt = 0x0002 // 0x36c7 @0xf
0x036b8…03740 reclen = 0x0080 // 0x36c9 @0x11
0x036b8…03740 blklen = 0x0080 // 0x36cb @0x13
0x036b8…03740 prop = 0x00 // 0x36cd @0x15
0x036b8…03740 adr = 0x0000 // 0x36ce @0x16
0x036b8…03740 lastbytes = 0x0080 // 0x36d0 @0x18
0x036b8…03740 created = »791101 « // 0x36d2 @0x1a
0x036b8…03740 modified = »791101 « // 0x36da @0x22
0x036b8…03740 avail = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // 0x36e2 @0x2a
0x036b8…03740 prev = (22, 0, 20) // 0x373a @0x82
0x036b8…03740 next = (3, 0, 12) // 0x373c @0x84
0x036b8…03740 crc = 0006 // 0x373e @0x86
0x036b8…03740 }
0x03740…037c8 (3, 0, 8) DataSector
[…0x17…]
0x04400…04488 (4, 0, 0) UnusedSector ┆ ROUTINE INITIALIZES TX CHAR.POINTER AND TX BY- ;* TECOUNT IN CHANNEL TABLE ;* ;* ENTRY : IY = ADDRESS OF CHANNEL TABLE ;* ; 5@┆
0x04488…04510 (4, 0, 1) UnusedSector ┆ E NAME : NEXTCHA ;* ;* DESCRIPTION : THE ROUTINE SAVES RECEIVED CHARACTER IN BUFFER AND ;* INCREMENTS RX BYTECOUNT IN BUFFE ┆
0x04510…04598 (4, 0, 2) UnusedSector ┆ ),C ;SAVE DATA BYTECOUNT IN CHANNEL TABLE LD (IY+11H),B LD HL,BUFFHEAD+DATOFF ADD HL,DE LD (IY+0EH),L LD (IY+0FH),H ;SAVE D H ┆
0x04598…04620 (4, 0, 3) Descriptor {
0x04598…04620 am = CHS(4, 0, 3, #4) // 0x4598 @0x0
0x04598…04620 rsv0 = 00000000 // 0x459a @0x2
0x04598…04620 file_id = 0000 // 0x459e @0x6
0x04598…04620 dirsect = (22, 0, 1) // 0x45a0 @0x8
0x04598…04620 firstsect = (3, 0, 11) // 0x45a2 @0xa
0x04598…04620 lastsect = (61, 0, 23) // 0x45a4 @0xc
0x04598…04620 type = 0x10 // 0x45a6 @0xe
0x04598…04620 reccnt = 0x0003 // 0x45a7 @0xf
0x04598…04620 reclen = 0x0080 // 0x45a9 @0x11
0x04598…04620 blklen = 0x0080 // 0x45ab @0x13
0x04598…04620 prop = 0x00 // 0x45ad @0x15
0x04598…04620 adr = 0x0000 // 0x45ae @0x16
0x04598…04620 lastbytes = 0x0080 // 0x45b0 @0x18
0x04598…04620 created = »791101 « // 0x45b2 @0x1a
0x04598…04620 modified = »791101 « // 0x45ba @0x22
0x04598…04620 avail = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // 0x45c2 @0x2a
0x04598…04620 prev = (22, 0, 1) // 0x461a @0x82
0x04598…04620 next = (3, 0, 11) // 0x461c @0x84
0x04598…04620 crc = 6188 // 0x461e @0x86
0x04598…04620 }
0x04620…046a8 (4, 0, 4) UnusedSector ┆ A,(APIO1+1) RES 4,A OUT (APIO1+1),A ;TURN OFF TEST LED RET SIOERR PUSH AF PUSH HL PUSH DE LD E,(IY+12H) ;GET BUFFER A ! ┆
0x046a8…04730 (4, 0, 5) UnusedSector ┆ IOERR ; IF NO TX-CLOCK THEN ERROR BIT 0,L ; LD B,6 ; JR Z,SIOERR ; IF CHARACTER NOT RECEIVED THEN ERROR DEC C ; DEC C ┆
0x04730…047b8 (4, 0, 6) DataSector
0x047b8…04840 (4, 0, 7) UnusedSector ┆ HEN ERROR IN L,(C) ; BIT 2,L ; CALL Z,SIOERR ; IF NO TX-CLOCK THEN ERROR BIT 0,L ; LD B,6 ; CALL Z,SIOERR ; IF CHARA 82┆
0x04840…048c8 (4, 0, 8) UnusedSector ┆ 2 O ( 791101 791101 % ┆
0x048c8…04950 (4, 0, 9) UnusedSector ┆ DDRESS LD D,(IY+13H) LD HL,BUFFHEAD+ERROFF ADD HL,DE LD A,(HL) AND A JR NZ,ERROUT ;IF NO ERROR INDICATION ALLREADY THEN L ┆
0x04950…049d8 (4, 0, 10) UnusedSector ┆ ; IN A,(C) ; GET RECEIVED CHARACTER CP E ; LD B,7 ; JR NZ,SIOERR ; IF RX CH AR. <> TX CHAR THEN ERROR ; CALL NEXT ┆
0x049d8…04a60 (4, 0, 11) UnusedSector ┆ * EXIT : Z = 1 IF DATA BYTECOUNT = 0 ;* Z = 0 IF DATA BYTECOUNT > 0 ;* ;* DESTROY : A,F,B,C,D,E,H,L ;******************** ┆
0x04a60…04ae8 (4, 0, 12) UnusedSector ┆ CTER NOT RECEIVED THEN ERROR DEC C ; DEC C ; IN A,(C) ; GET RECEIVED CHARACTER CP E ; LD B,7 ; CALL NZ,SIOERR ; IF | ┆
0x04ae8…04b70 (4, 0, 13) DataSector
0x04b70…04bf8 (4, 0, 14) Descriptor {
0x04b70…04bf8 am = CHS(4, 0, 14, #4) // 0x4b70 @0x0
0x04b70…04bf8 rsv0 = 00000000 // 0x4b72 @0x2
0x04b70…04bf8 file_id = 0000 // 0x4b76 @0x6
0x04b70…04bf8 dirsect = (22, 0, 25) // 0x4b78 @0x8
0x04b70…04bf8 firstsect = (4, 0, 19) // 0x4b7a @0xa
0x04b70…04bf8 lastsect = (65, 0, 31) // 0x4b7c @0xc
0x04b70…04bf8 type = 0x10 // 0x4b7e @0xe
0x04b70…04bf8 reccnt = 0x0002 // 0x4b7f @0xf
0x04b70…04bf8 reclen = 0x0080 // 0x4b81 @0x11
0x04b70…04bf8 blklen = 0x0080 // 0x4b83 @0x13
0x04b70…04bf8 prop = 0x00 // 0x4b85 @0x15
0x04b70…04bf8 adr = 0x0000 // 0x4b86 @0x16
0x04b70…04bf8 lastbytes = 0x0080 // 0x4b88 @0x18
0x04b70…04bf8 created = »791101 « // 0x4b8a @0x1a
0x04b70…04bf8 modified = »791101 « // 0x4b92 @0x22
0x04b70…04bf8 avail = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // 0x4b9a @0x2a
0x04b70…04bf8 prev = (22, 0, 25) // 0x4bf2 @0x82
0x04b70…04bf8 next = (4, 0, 19) // 0x4bf4 @0x84
0x04b70…04bf8 crc = fff4 // 0x4bf6 @0x86
0x04b70…04bf8 }
0x04bf8…04c80 (4, 0, 15) UnusedSector ┆ CHA ; SAVE CHARACTER AND GET NEXT CHARACTER JR Z,TR1NEXT ; IF NO MORE CHARACTERS THEN EXIT ; OUT (C),E ; TRANSMIT NEX ┆
0x04c80…04d08 (4, 0, 16) UnusedSector ┆ D A,(IY+14H) ; GET SIO BASE ADDRESS BIT 0,A ; JR Z,ERRNXT ; IF CHANNEL B THEN ADD A,3 ; ADD 3 TO SIO BASE ADDRESS ERRNXT ┆
0x04d08…04d90 (4, 0, 17) DataSector
[…0x2…]
0x04ea0…04f28 (4, 0, 20) UnusedSector ┆ T CHARACTER JR LOOP2 ;OD TR1NEXT INC C INC C LD L,1 OUT (C),L IN A,(C) AND 70H LD B,7 JR NZ,SIOERR ;IF TRANSMISSION E ┆
0x04f28…04fb0 (4, 0, 21) UnusedSector ┆ RX CH AR. <> TX CHAR THEN ERROR ; CALL NEXTCHA ; SAVE CHARACTER AND GET NEXT CHARACTER JR Z,TR1NEXT ; IF NO MORE CHARAC o┆
0x04fb0…05038 (4, 0, 22) UnusedSector ┆ ADD A,B ; CALCULATE ERROR CODE LD (HL),A ; SAVE ERROR CODE IN BUFFER ;FI ERROUT POP DE POP HL POP AF RET ;ECHO ;* { ┆
0x05038…050c0 (4, 0, 23) DataSector
0x050c0…05148 (4, 0, 24) UnusedSector ┆ ********************************************************* CHINIT LD E,(IY+12H) ;GET BUFFER ADDRESS LD D,(IY+13H) LD HL,BYTOF ┆
0x05148…051d0 (4, 0, 25) UnusedSector ┆ RROR THEN ERROR ;ECHO LD C,(IY+15H) LD A,(IY+16H) LD L,2 OUT (C),L OUT (C),A ;LOAD INTERRUPT VECTOR (LSB) CALL CHIN ^┆
0x051d0…05258 (4, 0, 26) UnusedSector ┆ TERS THEN EXIT ; OUT (C),E ; TRANSMIT NEXT CHARACTER JR LOOP2 ;OD TR1NEXT INC C INC C LD L,1 OUT (C),L IN A,(C) ┆
0x05258…052e0 (4, 0, 27) UnusedSector ┆ *************************************************************************** ;* PROCEDURE NAME : CHINIT ;* ;* DESCRIPTION : THE q ┆
0x052e0…05368 (4, 0, 28) UnusedSector ┆ ATA CHARACTER POINTER RET ;ECHO ;****************************************************************************** ;* PROCEDUR ,┆
0x05368…053f0 (4, 0, 29) UnusedSector ┆ F ADD HL,DE LD C,(HL) INC HL ;GET TX BYTECOUNT LD B,(HL) LD A,C OR B RET Z ;IF DATA BYTECOUNT = 0 THEN EXIT LD (IY+10H ┆
0x053f0…05478 (4, 0, 30) UnusedSector ┆ IT ;INITIALIZE CHAR.POINTER AND BYTECOUNTERS LD A,1 OUT (C),A LD A,00011100B OUT (C),A ;ENABLE RX INTERRUPT DEC C DEC ┆
0x05478…05500 (4, 0, 31) UnusedSector ┆ AND 70H LD B,7 CALL NZ,SIOERR ;IF TRANSMISSION ERROR THEN ERROR LOOPOUT LD E,(IY+12H) ;GET BUFFER ADDRESS LD D,(IY+13H) IN 4┆
0x05500…05588 (5, 0, 0) DataSector
0x05588…05610 (5, 0, 1) UnusedSector ┆ TX DISABLED IN L,(C) BIT 2,L LD B,4 JP Z,SIOERR ;IF TRANSMIT BUFFER NOT EMPTY THEN ERROR LD L,(IY+0EH) LD H,(IY+0FH) ;GE lY┆
0x05610…05698 (5, 0, 2) UnusedSector ┆ * 6 : RECEIVE ERROR ;* 7 : TRANSMISSION ERROR ;* ;* DESTROY : SIO WRITE REGISTERS ;* A,F,B,C,H,L ;******************* ┆
0x05698…05720 (5, 0, 3) UnusedSector ┆ T (C),L ; IN L,(C) ; BIT 0,L ; LD B,5 ; JR Z,SIOERR ; IF CHARACTER NOT SENT THEN ERROR IN L,(C) ; BIT 2,L ; JR Z,S a ┆
0x05720…057a8 (5, 0, 4) UnusedSector ┆ ;DO OUT (C),A ; OUT (C),H ; LOAD INTERRUPT VECTOR OUT (C),A ; IN A,(C) ; READ INTERRUPT VECTOR XOR H ; AND 0F0H ; E┆
0x057a8…05830 (5, 0, 5) UnusedSector ┆ SEC. WAIT2 DJNZ WAIT2 ; LD L,1 ; OUT (C),L ; IN L,(C) ; BIT 0,L ; LD B,5 ; CALL Z,SIOERR ; IF CHARACTER NOT SENT T ┆
0x05830…058b8 (5, 0, 6) DataSector
[…0x2…]
0x059c8…05a50 (5, 0, 9) UnusedSector ┆ 6 . - 791101 791101 &,┆
0x05a50…05ad8 (5, 0, 10) DataSector
[…0x3…]
0x05c70…05cf8 (5, 0, 14) UnusedSector ┆ ;***************************************************************************** ;* PROCEDURE NAME : LOOPTST ;* ;* DESCRIPTION : a┆
0x05cf8…05d80 (5, 0, 15) DataSector
0x05d80…05e08 (5, 0, 16) UnusedSector ┆ ********************************************************** *INCLUDE CONSTANT.S GLOBAL LOOPTST LOOPTST IN A,(APIO1+1) SET 4 n ┆
0x05e08…05e90 (5, 0, 17) DataSector
0x05e90…05f18 (5, 0, 18) UnusedSector ┆ LD E,B ; LD B,1 ; JP NZ,SIOERR ; IF I/O ERROR THEN EXIT LD B,E ; RRC H ; DJNZ LOOP1 ;OD LD A,18H ; OUT (C),A ; ┆
0x05f18…05fa0 (5, 0, 19) UnusedSector ┆ THE ROUTINE LOOPS THE CONTENT OF A MESSAGE BUFFER ON ;* THE Z80 SIO, AND TESTS THE SIO FOR ERRORS ;* ;* ENTRY : DE = ADDRES ┆
0x05fa0…06028 (5, 0, 20) UnusedSector ┆ T POINTER TO FIRST CHARACTER LD E,(HL) ;GET FIRST CHARACTER DEC C DEC C OUT (C),E ;LOAD FIRST CHARACER INC C INC C IN L ┆
0x06028…060b0 (5, 0, 21) UnusedSector ┆ ,A OUT (APIO1+1),A ;TURN ON TEST LED LD (IY+12H),E ;SAVE BUFFER ADDRESS LD (IY+13H),D LD HL,BUFFHEAD+ERROFF ADD HL,DE t:┆
0x060b0…06138 (5, 0, 22) DataSector
0x06138…061c0 (5, 0, 23) UnusedSector ┆ RESET CHANNEL LD L,4 ; OUT (C),L ; LD A,01000111B ;*16 CLOCK ;1 STOP BIT OUT (C),A ;EVEN PARITY LD L,3 ; OUT (C),L ┆
0x061c0…06248 (5, 0, 24) UnusedSector ┆ S OF MESSAGE BUFFER ;* IY = ADDRESS OF CHANNEL TABLE ;* ;* EXIT : DE = ADDRESS OF MESSAGE BUFFER ;* ERROR CODE IN BUFF ┆
0x06248…062d0 (5, 0, 25) UnusedSector ┆ ,(C) BIT 2,L JP NZ,SIOERR ;IF TRANSMIT BUFFER EMPTY THEN ERROR LD L,5 OUT (C),L SET 3,A OUT (C),A ;ENABLE TX DEC C DEC B ┆
0x062d0…06358 (5, 0, 26) UnusedSector ┆ LD (HL),0 INC HL ;CLEAR ERROR WORD LD (HL),0 CALL CHINIT ;INITIALIZE CHAR.POINTER AND BYTECOUNTERS JP NC,LOOPOUT ;IF TX e┆
0x06358…063e0 (5, 0, 27) DataSector
0x063e0…06468 (5, 0, 28) UnusedSector ┆ ; LD A,11000001B ;8 RX BIT/CHAR OUT (C),A ;RX ENABLED LD L,5 ; OUT (C),L ; LD A,01100000B ;8 TX BIT/CHAR OUT (C),A ; }┆
0x06468…064f0 (5, 0, 29) UnusedSector ┆ ER : ;* 0 : NO ERRORS FOUND ;* 1 : I/O ERROR ;* 2 : INTERRUPT ERROR ;* 4 : TRANSMIT ERROR ;* 5 : TX CLOCK ERROR ; X┆
0x064f0…06578 (5, 0, 30) UnusedSector ┆ C LOOP2 INC C ;DO INC C ; LD B,0 ; WAIT1 DJNZ WAIT1 ; LD B,50 ; DELAY 1 MILLI SEC. WAIT2 DJNZ WAIT2 ; LD L,1 ; OU b ┆
0x06578…06600 (5, 0, 31) UnusedSector ┆ BYTECOUNT =< 6 THEN EXIT LD C,(IY+15H) LD A,18H OUT (C),A ;RESET CHANNEL LD B,4 LD H,80H ;FOR BIT 7 TO 4 LOOP1 LD A,2 ┆
0x06600…06688 (6, 0, 0) UnusedSector ┆ TER READ/LOAD LSB FIRST THEN MSB LD A,0B6H OUT (C),A LD B,3 T2LOOP DEC C ;FOR COUNTER = 2 TO 0 LD HL,208 ; SET COUNTER TO r{┆
0x06688…06710 (6, 0, 1) DataSector
0x06710…06798 (6, 0, 2) UnusedSector ┆ ;EVEN PARITY LD L,3 ; OUT (C),L ; LD A,11000001B ;8 RX BIT/CHAR OUT (C),A ;RX ENABLED LD L,5 ; OUT (C),L ; LD A,01 ┆
0x06798…06820 (6, 0, 3) UnusedSector ┆ 3,A OUT (C),A ;ENABLE TX DEC C DEC C LOOP2 INC C ;DO INC C ; LD B,0 ; WAIT1 DJNZ WAIT1 ; LD B,50 ; DELAY 1 MILLI O ┆
0x06820…068a8 (6, 0, 4) UnusedSector ┆ WRITE REGISTERS ;* A,F,B,C,H,L ;***************************************************************************** *INCLUDE CONS ( ┆
0x068a8…06930 (6, 0, 5) UnusedSector ┆ EM EQU 5*08H REC4SEM EQU 7*08H ; MODE0 EQU 01H MODE1 EQU 11H MODE2 EQU 12H BUFEND EQU STA4BUF+(NUM4BUF*BUFFSIZE) ; *L ON ┆
0x06930…069b8 (6, 0, 6) UnusedSector ┆ 791101 791101 ┆
0x069b8…06a40 (6, 0, 7) UnusedSector ┆ *INCLUDE CONSTANT.S GLOBAL TTIM1,TTIM2,T8253 TTIM1 LD C,ATIM1 CALL T8253 AND A RET Z LD B,ATIM1 ADD A,B RET TTIM2 LD ┆
0x06a40…06ac8 (6, 0, 8) DataSector
0x06ac8…06b50 (6, 0, 9) UnusedSector ┆ 9600 HZ OUT (C),L OUT (C),H IN E,(C) IN D,(C) AND A SBC HL,DE LD A,B RET Z ; RETURN IF NO COUNT DJNZ T2LOOP ; NEXT ┆
0x06b50…06bd8 (6, 0, 10) DataSector
0x06bd8…06c60 (6, 0, 11) UnusedSector ┆ & 791101 791101 ┆
0x06c60…06ce8 (6, 0, 12) UnusedSector ┆ C,ATIM2 CALL T8253 AND A RET Z LD B,ATIM2 ADD A,B RET T8253 INC C INC C INC C LD A,10110000B ;DO I/O TEST OUT (C),A ┆
0x06ce8…06d70 (6, 0, 13) DataSector
0x06d70…06df8 (6, 0, 14) UnusedSector ┆ COUNTER LD A,0 RET ;ECHO ┆
0x06df8…06e80 (6, 0, 15) DataSector
0x06e80…06f08 (6, 0, 16) UnusedSector ┆ ;***************************************************************************** ;* PROCEDURE NAME : LOOPTST ;* ;* DESCRIPTION : [┆
0x06f08…06f90 (6, 0, 17) UnusedSector ┆ ; SET COUNTER 2 DEC C ; LD B,7 ; LD HL,80FFH ; FOR BIT = 7 TO 0 T1LOOP OUT (C),L ; OUT (C),H ; OUTPUT COUNTER IN S ┆
0x06f90…07018 (6, 0, 18) DataSector
0x07018…070a0 (6, 0, 19) UnusedSector ┆ T.S GLOBAL LOOPTST LOOPTST IN A,(APIO1+1) SET 4,A OUT (APIO1+1),A ;TURN ON TEST LED LD (IY+12H),E ;SAVE BUFFER ADDRESS ' ┆
0x070a0…07128 (6, 0, 20) UnusedSector ┆ 100000B ;8 TX BIT/CHAR OUT (C),A ;TX DISABLED IN L,(C) BIT 2,L LD B,4 CALL Z,SIOERR ;IF TRANSMIT BUFFER NOT EMPTY THEN E M┆
0x07128…071b0 (6, 0, 21) UnusedSector ┆ THE ROUTINE LOOPS THE CONTENT OF A MESSAGE BUFFER ON ;* THE Z80 SIO, AND TESTS THE SIO FOR ERRORS ;* ;* ENTRY : DE = ADDRES 9 ┆
0x071b0…07238 (6, 0, 22) UnusedSector ┆ E,(C) ; IN D,(C) ; INPUT COUNTER LD A,H ; CP D ; LD A,4 ; RET NZ ; RETURN IF MSB NOT EQUAL RRC H ; DJNZ T1L M┆
0x07238…072c0 (6, 0, 23) DataSector
0x072c0…07348 (6, 0, 24) UnusedSector ┆ LD (IY+13H),D CALL CHINIT ;INITIALIZE CHAR.POINTER AND BYTECOUNTERS JP Z,LOOPOUT ;IF DATA BYTECOUNT = 0 THEN EXIT LD C X ┆
0x07348…073d0 (6, 0, 25) UnusedSector ┆ RROR LD L,(IY+0EH) LD H,(IY+0FH) ;GET POINTER TO FIRST CHARACTER LD E,(HL) ;GET FIRST CHARACTER DEC C DEC C OUT (C),E ;L ┆
0x073d0…07458 (6, 0, 26) UnusedSector ┆ S OF MESSAGE BUFFER ;* IY = ADDRESS OF CHANNEL TABLE ;* ;* EXIT : DE = ADDRESS OF MESSAGE BUFFER ;* ERROR CODE IN BUFF ┆
0x07458…074e0 (6, 0, 27) UnusedSector ┆ OOP ; NEXT BIT INC C ;OD LD A,36H ;SET ALL COUNTERS TO : OUT (C),A ; MODE 3 LD A,76H ; HEX COUNT OUT (C),A ; COUN ┆
0x074e0…07568 (6, 0, 28) DataSector
0x07568…075f0 (6, 0, 29) UnusedSector ┆ ,(IY+15H) LD A,18H ; OUT (C),A ;RESET CHANNEL LD L,4 ; OUT (C),L ; LD A,01000111B ;*16 CLOCK ;1 STOP BIT OUT (C),A .┆
0x075f0…07678 (6, 0, 30) UnusedSector ┆ OAD FIRST CHARACER INC C INC C IN L,(C) BIT 2,L CALL NZ,SIOERR ;IF TRANSMIT BUFFER EMPTY THEN ERROR LD L,5 OUT (C),L SET ┆
0x07678…07700 (6, 0, 31) UnusedSector ┆ ER : ;* 4 : TRANSMIT ERROR ;* 5 : TX CLOCK ERROR ;* 6 : RECEIVE ERROR ;* 7 : TRANSMISSION ERROR ;* ;* DESTROY : SIO o=┆
0x07700…07788 (7, 0, 0) UnusedSector ┆ } '=8┆
0x07788…07810 (7, 0, 1) UnusedSector ┆ * 1CH ; * BSIO1+BCONT VALUE * 1DH ; ********************** ; * TRANSM.INT.OFFSET * 1EH ; * RECEIV.INT.OFFSET * 1 ┆
0x07810…07898 (7, 0, 2) UnusedSector ┆ ** ; * ADDRESS OF (TRA) * 36H ; * ELEMENT ADDRESS * 37H ; ********************** ; * ADDRESS OF TIMER * 38H ; /┆
0x07898…07920 (7, 0, 3) UnusedSector ┆ *************** ; * SEMAPHORE (TRANS) * 0CH ; * VALUE (QHEAD*08H) * 0DH ; ********************** ; * BUSY FLAG (REC) ┆
0x07920…079a8 (7, 0, 4) UnusedSector ┆ ; * ELEMENT ADDRESS * 2BH ; ********************** ; * RECEIVER COUNTER * 2CH ; * (BYXCOU) (RX) * 2DH ; <#┆
0x079a8…07a30 (7, 0, 5) UnusedSector ┆ *L OFF ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ; CHANNEL TABLE DESCRIPTION ;<<<<<<<<<< ┆
0x07a30…07ab8 (7, 0, 6) UnusedSector ┆ F 820414 791101 " ┆
0x07ab8…07b40 (7, 0, 7) UnusedSector ┆ *P 42 GLOBAL BEGIN,SYSRAM ; BEGIN DEFB 00H SYSRAM DEFS 1C0H ; *P 42 GLOBAL EMP1QUE,EMP2QUE,EMP3QUE,EMP4QUE EMP1QUE DEF C.┆
0x07b40…07bc8 (7, 0, 8) UnusedSector ┆ * 0EH ; * SELECTED 8253 CODE * 0FH ; ********************** ; * SELECTED 8253 * 10H ; * COUNTER CODE * y ┆
0x07bc8…07c50 (7, 0, 9) UnusedSector ┆ D ; RSEMOFF EQU 06H ; RETUR SEMAPHORE OFFSET ; ; NUM1BUF EQU 07 NUM2BUF EQU 07 NUM3BUF EQU 07 NUM4BUF EQU 07 ; STA ┆
0x07c50…07cd8 (7, 0, 10) UnusedSector ┆ <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ; ; ;CHANNEL TABLE: ; ; ********************** ; * CHAN ┆
0x07cd8…07d60 (7, 0, 11) UnusedSector ┆ J 791101 791101 Q ┆
0x07d60…07de8 (7, 0, 12) UnusedSector ┆ S 08H EMP2QUE DEFS 08H EMP3QUE DEFS 08H EMP4QUE DEFS 08H ; ;ECHO ┆
0x07de8…07e70 (7, 0, 13) UnusedSector ┆ 11H ; ********************** ; * ADDRESS BUFFER (TX)* 12H ; * POINTER (ADDXBUF) * 13H ; ********************** ; ┆
0x07e70…07ef8 (7, 0, 14) UnusedSector ┆ 1BUF EQU CHA4+010H STA2BUF EQU STA1BUF+NUM1BUF*BUFFSIZE STA3BUF EQU STA2BUF+NUM2BUF*BUFFSIZE STA4BUF EQU STA3BUF+NUM3BUF*BUF H ┆
0x07ef8…07f80 (7, 0, 15) UnusedSector ┆ NEL * 00H ; * STATUS * 01H ; ********************** ; * COMMUNICATION AREA * 02H ; * START ADDRESS ┆
0x07f80…08008 (7, 0, 16) UnusedSector ┆ FH ; ********************** ; * TX-UNDERRUN CONTROL* 20H ; * NEW BUFFER CONTROL * 21H ; ********************** ; * V ┆
0x08008…08090 (7, 0, 17) UnusedSector ┆ ' 791101 791101 ┆
0x08090…08118 (7, 0, 18) UnusedSector ┆ * TRANSMITTER COUN- * 14H ; * TER (TX) (COUXBY) * 15H ; ********************** ; * TRANSMITTER AND * 16H ; * REC Nh┆
0x08118…081a0 (7, 0, 19) UnusedSector ┆ ********************** ; * ADDRESS BUFFER (RX)* 2EH ; * POINTER (BUFXADD * 2FH ; ********************** ; * BASIC TR 5 ┆
0x081a0…08228 (7, 0, 20) UnusedSector ┆ * 03H ; ********************** ; * TRANSMIT BUFFER * 04H ; * ELEMENT ADDRESS * 05H ; ********************** c ┆
0x08228…082b0 (7, 0, 21) UnusedSector ┆ ECTOR INTERRUPT * 22H ; * TABLE ADDRESS * 23H ; ********************** ; * SIO_TABLE * 24H ; * ADDR ┆
0x082b0…08338 (7, 0, 22) UnusedSector ┆ EMP4QU EMP3QU EMP2QU EMP1QU SYSRAM BEGIN 8*┆
0x08338…083c0 (7, 0, 23) UnusedSector ┆ EIVER CHECKSUM * 17H ; ********************** ; * TIMER STATUS * 18H ; * TIMER INTERVAL * 19H ; ********** H┆
0x083c0…08448 (7, 0, 24) UnusedSector ┆ ANSMITTER * 30H ; * SEMAPHORE QUEUE * 31H ; ********************** ; * BASIC RE-TRANSMIT * 32H ; * SEMAPHORE QUE ┆
0x08448…084d0 (7, 0, 25) UnusedSector ┆ ; * RECEIVE ERROR * 06H ; * STATISTIC * 07H ; ********************** ; * EMPTY BUFFER QUEUE * 08H ; * ┆
0x084d0…08558 (7, 0, 26) UnusedSector ┆ ESS * 25H ; ********************** ; * SYNC STATUS * 26H ; * PERMISSION STATUS * 27H ; ***************** | ┆
0x08558…085e0 (7, 0, 27) UnusedSector ┆ FSIZE ; TRA1SEM EQU 0*8H TRA2SEM EQU 2*08H TRA3SEM EQU 4*08H TRA4SEM EQU 6*08H ; REC1SEM EQU 1*08H REC2SEM EQU 3*08H REC3S ┆
0x085e0…08668 (7, 0, 28) UnusedSector ┆ ************ ; * TIMEOUT INDICATOR * 1AH ; * * 1BH ; ********************** ; * BSIO1+BDATA VALUE 3]┆
0x08668…086f0 (7, 0, 29) UnusedSector ┆ UE * 33H ; ********************** ; * BASIC RECEIVER * 34H ; * SEMAPHORE QUEUE * 35H ; ******************** q┆
0x086f0…08778 (7, 0, 30) UnusedSector ┆ HEAD ADDRESS * 09H ; ********************** ; * SEMAPHORE (RECEIVE)* 0AH ; * VALUE (QHEAD*08H) * 0BH ; ******* Kh┆
0x08778…08800 (7, 0, 31) UnusedSector ┆ ***** ; * ADDRESS OF * 28H ; * RECEIVER QUEUE * 29H ; ********************** ; * ADDRESS OF * 2AH H ┆
0x08800…08888 (8, 0, 0) DataSector
[…0x1…]
0x08910…08998 (8, 0, 2) UnusedSector ┆ OFFSET IN BUFFERHEAD ; TSAOFF EQU 08H ; DATAPOINTER OFFSET IN BUFFERHEAD ; STWOFF EQU 04H ; STATUS WORD OFFSET IN BUFFERHEA ┆
0x08998…08a20 (8, 0, 3) UnusedSector ┆ 4012H CHA3 EQU 4022H CHA4 EQU 4032H ; BUFFSIZE EQU 209H ; BUFFERSIZE ; TRAOFF EQU 05H ; TRANSMIT BUFFER DATA OFFSET CHOFF r┆
0x08a20…08aa8 (8, 0, 4) UnusedSector ┆ DATASTART OFFSET ; BUFFHEAD EQU 0AH ; BUFFERHEAD SIZE ; MAXSIZE EQU BUFFSIZE-(BUFFHEAD+TRAOFF+1) ; BCOFF EQU 02H ; BYTECOUNT " ┆
0x08aa8…08b30 (8, 0, 5) UnusedSector ┆ * (RECEIVE TIME_OUT) * 39H ; ********************** *L ON *E ;ECHO - ┆
0x08b30…08bb8 (8, 0, 6) DataSector
[…0x3…]
0x08d50…08dd8 (8, 0, 10) Descriptor {
0x08d50…08dd8 am = CHS(8, 0, 10, #4) // 0x8d50 @0x0
0x08d50…08dd8 rsv0 = 00000000 // 0x8d52 @0x2
0x08d50…08dd8 file_id = 0000 // 0x8d56 @0x6
0x08d50…08dd8 dirsect = (22, 0, 20) // 0x8d58 @0x8
0x08d50…08dd8 firstsect = (8, 0, 15) // 0x8d5a @0xa
0x08d50…08dd8 lastsect = (2, 0, 13) // 0x8d5c @0xc
0x08d50…08dd8 type = 0x10 // 0x8d5e @0xe
0x08d50…08dd8 reccnt = 0x0004 // 0x8d5f @0xf
0x08d50…08dd8 reclen = 0x0080 // 0x8d61 @0x11
0x08d50…08dd8 blklen = 0x0080 // 0x8d63 @0x13
0x08d50…08dd8 prop = 0x00 // 0x8d65 @0x15
0x08d50…08dd8 adr = 0x0000 // 0x8d66 @0x16
0x08d50…08dd8 lastbytes = 0x0080 // 0x8d68 @0x18
0x08d50…08dd8 created = »791101 « // 0x8d6a @0x1a
0x08d50…08dd8 modified = »791101 « // 0x8d72 @0x22
0x08d50…08dd8 avail = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // 0x8d7a @0x2a
0x08d50…08dd8 prev = (22, 0, 20) // 0x8dd2 @0x82
0x08d50…08dd8 next = (8, 0, 15) // 0x8dd4 @0x84
0x08d50…08dd8 crc = 1a7b // 0x8dd6 @0x86
0x08d50…08dd8 }
0x08dd8…08e60 (8, 0, 11) DataSector
[…0x8…]
0x092a0…09328 (8, 0, 20) UnusedSector ┆ 791101 791101 fc┆
0x09328…093b0 (8, 0, 21) DataSector
[…0x3…]
0x09548…095d0 (8, 0, 25) UnusedSector ┆ *L OFF APIO1 EQU 70H APIO2 EQU 20H ATIM1 EQU 10H ATIM2 EQU 30H ATIM3 EQU 60H ASIO1 EQU 40H ASIO2 EQU 50H ADMA EQU 00H RAMEND EQU &┆
0x095d0…09658 (8, 0, 26) DataSector
[…0x3…]
0x097f0…09878 (8, 0, 30) UnusedSector ┆ 3FFFH RAMSTA EQU 1000H SRAMB EQU 4000H SRAME EQU 7FFFH STACEND EQU 7EE0H TESTBI EQU 4 TESTPO EQU 71H CHA1 EQU 4002H CHA2 EQU m┆
0x09878…09900 (8, 0, 31) UnusedSector ┆ EQU 07H ; CHANNEL NO. OFFSET BYTOFF EQU 09H ; DATA BYTECOUNT OFFSET ERROFF EQU 0BH ; ERROR CODE OFFSET DATOFF EQU 0FH ; ! ┆
0x09900…09988 (9, 0, 0) DataSector
[…0x5…]
0x09c30…09cb8 (9, 0, 6) Descriptor {
0x09c30…09cb8 am = CHS(9, 0, 6, #4) // 0x9c30 @0x0
0x09c30…09cb8 rsv0 = 00000000 // 0x9c32 @0x2
0x09c30…09cb8 file_id = 0000 // 0x9c36 @0x6
0x09c30…09cb8 dirsect = (22, 0, 20) // 0x9c38 @0x8
0x09c30…09cb8 firstsect = (9, 0, 11) // 0x9c3a @0xa
0x09c30…09cb8 lastsect = (4, 0, 6) // 0x9c3c @0xc
0x09c30…09cb8 type = 0x20 // 0x9c3e @0xe
0x09c30…09cb8 reccnt = 0x0012 // 0x9c3f @0xf
0x09c30…09cb8 reclen = 0x0080 // 0x9c41 @0x11
0x09c30…09cb8 blklen = 0x0080 // 0x9c43 @0x13
0x09c30…09cb8 prop = 0x00 // 0x9c45 @0x15
0x09c30…09cb8 adr = 0x0000 // 0x9c46 @0x16
0x09c30…09cb8 lastbytes = 0x004f // 0x9c48 @0x18
0x09c30…09cb8 created = »791101 « // 0x9c4a @0x1a
0x09c30…09cb8 modified = »791101 « // 0x9c52 @0x22
0x09c30…09cb8 avail = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // 0x9c5a @0x2a
0x09c30…09cb8 prev = (22, 0, 20) // 0x9cb2 @0x82
0x09c30…09cb8 next = (9, 0, 11) // 0x9cb4 @0x84
0x09c30…09cb8 crc = 64f2 // 0x9cb6 @0x86
0x09c30…09cb8 }
0x09cb8…09d40 (9, 0, 7) UnusedSector ┆ 791101 791101 ┆
0x09d40…09dc8 (9, 0, 8) Descriptor {
0x09d40…09dc8 am = CHS(9, 0, 8, #4) // 0x9d40 @0x0
0x09d40…09dc8 rsv0 = 00000000 // 0x9d42 @0x2
0x09d40…09dc8 file_id = 0000 // 0x9d46 @0x6
0x09d40…09dc8 dirsect = (22, 0, 15) // 0x9d48 @0x8
0x09d40…09dc8 firstsect = (9, 0, 13) // 0x9d4a @0xa
0x09d40…09dc8 lastsect = (50, 0, 8) // 0x9d4c @0xc
0x09d40…09dc8 type = 0x10 // 0x9d4e @0xe
0x09d40…09dc8 reccnt = 0x0008 // 0x9d4f @0xf
0x09d40…09dc8 reclen = 0x0080 // 0x9d51 @0x11
0x09d40…09dc8 blklen = 0x0080 // 0x9d53 @0x13
0x09d40…09dc8 prop = 0x00 // 0x9d55 @0x15
0x09d40…09dc8 adr = 0x0000 // 0x9d56 @0x16
0x09d40…09dc8 lastbytes = 0x0080 // 0x9d58 @0x18
0x09d40…09dc8 created = »791101 « // 0x9d5a @0x1a
0x09d40…09dc8 modified = »791101 « // 0x9d62 @0x22
0x09d40…09dc8 avail = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // 0x9d6a @0x2a
0x09d40…09dc8 prev = (22, 0, 15) // 0x9dc2 @0x82
0x09d40…09dc8 next = (9, 0, 13) // 0x9dc4 @0x84
0x09d40…09dc8 crc = 5a43 // 0x9dc6 @0x86
0x09d40…09dc8 }
0x09dc8…09e50 (9, 0, 9) UnusedSector ┆ SUBDEQ SIOREA RECRES HUNT NO_SYN CONTENh REC_ST RECROU * ┆
0x09e50…09ed8 (9, 0, 10) DataSector
[…0x3…]
0x0a070…0a0f8 (9, 0, 14) UnusedSector ┆ m@ ! N ^#V h N x n f 08 6 ! MD s* r+! q#p! 6 #6 w# u. t/ 6, 6- 6 ┆
0x0a0f8…0a180 (9, 0, 15) DataSector
[…0x3…]
0x0a318…0a3a0 (9, 0, 19) UnusedSector ┆ i m 0 6 N N, F- ! B n* f+ q, p- n. f/w# u. t/ N x 6 6& 2 n$ f% 6 w w w w ┆
0x0a3a0…0a428 (9, 0, 20) DataSector
[…0x2…]
0x0a538…0a5c0 (9, 0, 23) Descriptor {
0x0a538…0a5c0 am = CHS(9, 0, 23, #4) // 0xa538 @0x0
0x0a538…0a5c0 rsv0 = 00000000 // 0xa53a @0x2
0x0a538…0a5c0 file_id = 0000 // 0xa53e @0x6
0x0a538…0a5c0 dirsect = (22, 0, 20) // 0xa540 @0x8
0x0a538…0a5c0 firstsect = (9, 0, 29) // 0xa542 @0xa
0x0a538…0a5c0 lastsect = (8, 0, 29) // 0xa544 @0xc
0x0a538…0a5c0 type = 0x20 // 0xa546 @0xe
0x0a538…0a5c0 reccnt = 0x0013 // 0xa547 @0xf
0x0a538…0a5c0 reclen = 0x0080 // 0xa549 @0x11
0x0a538…0a5c0 blklen = 0x0080 // 0xa54b @0x13
0x0a538…0a5c0 prop = 0x00 // 0xa54d @0x15
0x0a538…0a5c0 adr = 0x0000 // 0xa54e @0x16
0x0a538…0a5c0 lastbytes = 0x0000 // 0xa550 @0x18
0x0a538…0a5c0 created = »791101 « // 0xa552 @0x1a
0x0a538…0a5c0 modified = »791101 « // 0xa55a @0x22
0x0a538…0a5c0 avail = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // 0xa562 @0x2a
0x0a538…0a5c0 prev = (22, 0, 20) // 0xa5ba @0x82
0x0a538…0a5c0 next = (9, 0, 29) // 0xa5bc @0x84
0x0a538…0a5c0 crc = 31b5 // 0xa5be @0x86
0x0a538…0a5c0 }
0x0a5c0…0a648 (9, 0, 24) UnusedSector ┆ N N, F- ! B n* f+ q, p- n. f/w# u. t/ N x 6 6& 2 n$ f% 6 w w w w t ┆
0x0a648…0a6d0 (9, 0, 25) DataSector
[…0x9…]
0x0ab98…0ac20 (10, 0, 3) UnusedSector ┆ RET ; ELSE NOEXC INC A ; INCREMENT NUMBER OF TRANSMITTED LD (IY+21H),A ; SYNC CHARACTERS RET ; FI ;FI END D┆
0x0ac20…0aca8 (10, 0, 4) DataSector
0x0aca8…0ad30 (10, 0, 5) UnusedSector ┆ (IY+15H),D ; INC HL ; INCREMENT CHARACTER POINTER LD (IY+12H),L ; LD (IY+13H),H ; SAVE NEW CHARACTER POINTER RET ;FI ┆
0x0ad30…0adb8 (10, 0, 6) Descriptor {
0x0ad30…0adb8 am = CHS(10, 0, 6, #4) // 0xad30 @0x0
0x0ad30…0adb8 rsv0 = 00000000 // 0xad32 @0x2
0x0ad30…0adb8 file_id = 0000 // 0xad36 @0x6
0x0ad30…0adb8 dirsect = (22, 0, 15) // 0xad38 @0x8
0x0ad30…0adb8 firstsect = (10, 0, 7) // 0xad3a @0xa
0x0ad30…0adb8 lastsect = (6, 0, 15) // 0xad3c @0xc
0x0ad30…0adb8 type = 0x20 // 0xad3e @0xe
0x0ad30…0adb8 reccnt = 0x000a // 0xad3f @0xf
0x0ad30…0adb8 reclen = 0x0080 // 0xad41 @0x11
0x0ad30…0adb8 blklen = 0x0080 // 0xad43 @0x13
0x0ad30…0adb8 prop = 0x00 // 0xad45 @0x15
0x0ad30…0adb8 adr = 0x0000 // 0xad46 @0x16
0x0ad30…0adb8 lastbytes = 0x007f // 0xad48 @0x18
0x0ad30…0adb8 created = »791101 « // 0xad4a @0x1a
0x0ad30…0adb8 modified = »791101 « // 0xad52 @0x22
0x0ad30…0adb8 avail = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // 0xad5a @0x2a
0x0ad30…0adb8 prev = (22, 0, 15) // 0xadb2 @0x82
0x0ad30…0adb8 next = (10, 0, 7) // 0xadb4 @0x84
0x0ad30…0adb8 crc = 20bd // 0xadb6 @0x86
0x0ad30…0adb8 }
0x0adb8…0ae40 (10, 0, 7) DataSector
0x0ae40…0aec8 (10, 0, 8) UnusedSector ┆ ;ECHO ┆
0x0aec8…0af50 (10, 0, 9) Descriptor {
0x0aec8…0af50 am = CHS(10, 0, 9, #4) // 0xaec8 @0x0
0x0aec8…0af50 rsv0 = 00000000 // 0xaeca @0x2
0x0aec8…0af50 file_id = 0000 // 0xaece @0x6
0x0aec8…0af50 dirsect = (22, 0, 15) // 0xaed0 @0x8
0x0aec8…0af50 firstsect = (10, 0, 11) // 0xaed2 @0xa
0x0aec8…0af50 lastsect = (2, 0, 7) // 0xaed4 @0xc
0x0aec8…0af50 type = 0x20 // 0xaed6 @0xe
0x0aec8…0af50 reccnt = 0x0026 // 0xaed7 @0xf
0x0aec8…0af50 reclen = 0x0080 // 0xaed9 @0x11
0x0aec8…0af50 blklen = 0x0080 // 0xaedb @0x13
0x0aec8…0af50 prop = 0x00 // 0xaedd @0x15
0x0aec8…0af50 adr = 0x0000 // 0xaede @0x16
0x0aec8…0af50 lastbytes = 0x0024 // 0xaee0 @0x18
0x0aec8…0af50 created = »791101 « // 0xaee2 @0x1a
0x0aec8…0af50 modified = »791101 « // 0xaeea @0x22
0x0aec8…0af50 avail = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // 0xaef2 @0x2a
0x0aec8…0af50 prev = (22, 0, 15) // 0xaf4a @0x82
0x0aec8…0af50 next = (10, 0, 11) // 0xaf4c @0x84
0x0aec8…0af50 crc = 99d5 // 0xaf4e @0x86
0x0aec8…0af50 }
0x0af50…0afd8 (10, 0, 10) UnusedSector ┆ TRA_END LD BC,0A501H ;RESET TX_CRC_ENABLE CALL SIOREADWRITE ;SIOCON 5,W,R,01H LD BC,6028H ;RESET TX_INTERRUPT_PENDING CALL SI k ┆
0x0afd8…0b060 (10, 0, 11) DataSector
[…0x3…]
0x0b1f8…0b280 (10, 0, 15) UnusedSector ┆ OREADWRITE ;SIOCON 0,W,S,28H LD (IY+1EH),0AH ;NEXT INT.ROUTINE = PSEXTRA LD (IY+21H),0 LD BC,0A508H ;DISABLE TX_INTERRUPT CA c ┆
0x0b280…0b308 (10, 0, 16) DataSector
[…0x3…]
0x0b4a0…0b528 (10, 0, 20) UnusedSector ┆ LL SIOREADWRITE ;SIOCON 5,W,R,08H RET PSEUDO_TRANSMITTER LD BC,6028H ;RESET TX_INTERRUPT_PENDING CALL SIOREADWRITE ;SIOCON ┆
0x0b528…0b5b0 (10, 0, 21) DataSector
[…0x3…]
0x0b748…0b7d0 (10, 0, 25) UnusedSector ┆ 0,W,S,28H RET PRE_START LD A,SYN LD C,(IY+1CH) OUT (C),A ;TRANSMIT SYNC CHARACTER LD A,(IY+21H) CP 2 RET M ;IF NEWBUF "┆
0x0b7d0…0b858 (10, 0, 26) DataSector
[…0x3…]
0x0b9f0…0ba78 (10, 0, 30) UnusedSector ┆ >= 2 THEN CP 5 ; JP M,NOEXC ; IF MINIMUM 4 SYNC CHARACTERS TRANSMITTED THEN LD (IY+1EH),0 ; NEXT INT.ROUTINE = STAXTRA +h┆
0x0ba78…0bb00 (10, 0, 31) DataSector
0x0bb00…0bb88 (11, 0, 0) UnusedSector ┆ EFW 0 DEFW 0 DEFW PSEUDO_TRANSMITTER DEFW 0 DEFW PRE_START ;ECHO START_TRANSMISSION LD (IY+1EH),2 ;NEXT INT.ROUTINE = C ┆
0x0bb88…0bc10 (11, 0, 1) UnusedSector ┆ CALL SRELEA POP IX RTN 0 ; END REST RET ;;ECHO ;;*********************************************************************** ) ┆
0x0bc10…0bc98 (11, 0, 2) UnusedSector ┆ ; RESET TX_UNDERRUN LD (IY+1EH),4 ; NEXT INT.ROUTINE = TRAXEND RET ;ELSE TRACOUN LD (IY+14H),E ; SAVE NEW BYTECOUNT LD Iw┆
0x0bc98…0bd20 (11, 0, 3) UnusedSector ┆ ********************************************************** ; SIGNAL PROCEDURE GLOBAL SIGNAL ; ENTRY SIGNAL: PLZVAR PLZIN Q ┆
0x0bd20…0bda8 (11, 0, 4) UnusedSector ┆ ,DE INC HL LD A,(HL) ;GET NO.OF BUFFERS IN QUEU CP 02 JP P,OVL1 ;IF LESS THAN 3 BUFFERS IN QUEU THEN LD A,NO_OVL ┆
0x0bda8…0be30 (11, 0, 5) UnusedSector ┆ : SEMAPHOR QUEUE NUMBER ;;* ;;* OUTPUTS: NONE ;;* ;;******************************************************************** ┆
0x0be30…0beb8 (11, 0, 6) UnusedSector ┆ *** ;;* PROCEDURE NAME: OVLDET ;;* ;;* FUNCTION: IF MORE THAN 2 BUFFERS IN SPECIFIED QUEU ;;* STATUS O ┆
0x0beb8…0bf40 (11, 0, 7) UnusedSector ┆ 791101 791101 ┆
0x0bf40…0bfc8 (11, 0, 8) UnusedSector ┆ UEU8_NO ENT 0 LD DE,SYSRAM+240H LD H,0H GETBYTE L, QUEU8_NO ;GET QUEU.NO. ADD HL,HL ADD HL,HL ADD HL,HL {n┆
0x0bfc8…0c050 (11, 0, 9) UnusedSector ┆ ; STATUS := NO_OVERLOAD JR OVL2 ;ELSE OVL1: LD A,OVL ; STATUS := OVERLOAD ; ;FI OVL2: PUTBYTE STATUS, A RTN 1 J ┆
0x0c050…0c0d8 (11, 0, 10) UnusedSector ┆ ****** ; WAIT PROCEDURE GLOBAL WAIT ; ENTRY WAIT: PLZVAR PLZIN QUEU7_NO ENT 0 LD DE,SYSRAM+240H LD H,0H GETBYTE ┆
0x0c0d8…0c160 (11, 0, 11) UnusedSector ┆ = OVERLOAD ;;* ELSE ;;* STATUS = NO_OVERLOAD ;;* ;;* INVOCATION: OVLDET (QUEU_NO) ;;* h5┆
0x0c160…0c1e8 (11, 0, 12) UnusedSector ┆ ;****************************************************************************** ;* ;* TX.S ;* ;******************************* ┆
0x0c1e8…0c270 (11, 0, 13) UnusedSector ┆ ;8 * QUEU.NO. ADD HL,DE PUSH IX CALL SIG POP IX RTN 1 ; END SIGNAL RET ;;ECHO ;;*********************** ┆
0x0c270…0c2f8 (11, 0, 14) UnusedSector ┆ ; END OVLDET RET ;END MODULE END e ┆
0x0c2f8…0c380 (11, 0, 15) UnusedSector ┆ L, QUEU7_NO ;GET QUEU.NO. ADD HL,HL ADD HL,HL ADD HL,HL ;8 * QUEU.NO. ADD HL,DE LD (SYSRAM+0E4H),HL i┆
0x0c380…0c408 (11, 0, 16) UnusedSector ┆ ;;* INPUTS: QUEU_NO: SEMAPHOR QUEU NUMBER ;;* ;;* OUTPUTS: STATUS: LTU OVERLOAD STATUS ;;* ;┆
0x0c408…0c490 (11, 0, 17) UnusedSector ┆ *********************************************** *INCLUDE CONSTANT.S GLOBAL TRAROU GLOBAL START_TRANSMISSION GLOBAL XMIT_LOO ┆
0x0c490…0c518 (11, 0, 18) UnusedSector ┆ *************************************************** ;;* PROCEDURE NAME: REST ;;* ;;* FUNCTION: THE CPU IS GIVEN TO ANOTH j┆
0x0c518…0c5a0 (11, 0, 19) UnusedSector ┆ ONXTRA XMIT_LOOP LD BC,0A501H ;RESET TX_CRC_ENABLE CALL SIOREADWRITE ;SIOCON 5,W,R,01H LD L,(IY+12H) ;GET POINTER TO NEXT CHA FW┆
0x0c5a0…0c628 (11, 0, 20) UnusedSector ┆ PUSH IX CALL WAI POP IX RTN 1 ; END WAIT RET ;;ECHO ;;**************************************************************** Z┆
0x0c628…0c6b0 (11, 0, 21) UnusedSector ┆ STATUS = 0 : NO_OVERLOAD ;;* STATUS = %FF: LTU IN OVERLOAD ;;* ;;*************************************** U ┆
0x0c6b0…0c738 (11, 0, 22) UnusedSector ┆ P GLOBAL TRA_END GLOBAL PSEUDO_TRANSMITTER GLOBAL PRE_START EXTERNAL SIOREADWRITE TRAROU LD HL,TRATAB LD C,(IY+1EH) LD B ┆
0x0c738…0c7c0 (11, 0, 23) UnusedSector ┆ ER PROCESS ;;* ;;* INVOCATION: REST ;;* ;;* INPUTS: NONE ;;* ;;* OUTPUTS: NONE ;;* ;;********************* ┆
0x0c7c0…0c848 (11, 0, 24) UnusedSector ┆ RACTER LD H,(IY+13H) LD A,(HL) ;GET NEXT CHARACTER LD C,(IY+1CH) OUT (C),A ;TRANSMIT NEXT CHARACTER LD E,(IY+14H) ;GET CU : ┆
0x0c848…0c8d0 (11, 0, 25) UnusedSector ┆ ********** ;;* PROCEDURE NAME: SIGNAL ;;* ;;* FUNCTION: A SIGNAL IS SEND TO THE SPECIFIED SEMAPHOR ;;* ;;* INVOCATION: $ ┆
0x0c8d0…0c958 (11, 0, 26) UnusedSector ┆ *********************************** ; OVLDET PROCEDURE GLOBAL OVLDET ; ENTRY OVLDET: PLZVAR PLZIN Q_NO PLZOUT STATUS EN |┆
0x0c958…0c9e0 (11, 0, 27) UnusedSector ┆ ,0 ADD HL,BC LD E,(HL) INC HL LD D,(HL) EX DE,HL JP (HL) TRATAB DEFW START_TRANSMISSION DEFW XMIT_LOOP DEFW TRA_END D ┆
0x0c9e0…0ca68 (11, 0, 28) UnusedSector ┆ ***************************************************** ; REST PROCEDURE GLOBAL REST ; ENTRY REST: PLZVAR ENT 0 PUSH IX ┆
0x0ca68…0caf0 (11, 0, 29) UnusedSector ┆ RRENT BYTECOUNT LD D,(IY+15H) DEC DE ;DECREMENT BYTECOUNT LD A,E OR D JR NZ,TRACOUN ;IF LAST CHARACTER THEN LD (IY+2AH),0 ┆
0x0caf0…0cb78 (11, 0, 30) UnusedSector ┆ SIGNAL (QUEU_NO) ;;* ;;* INPUTS: QUEU_NO: SEMAPHOR QUEU NUMBER ;;* ;;* OUTPUTS: NONE ;;* ;;**************** dm┆
0x0cb78…0cc00 (11, 0, 31) UnusedSector ┆ T 0 LD DE, SYSRAM+240H LD H,0 GETBYTE L, Q_NO ;GET QUEU.NO. ADD HL,HL ADD HL,HL ADD HL,HL ;8 * QUEU.NO. ADD HL Uv┆
0x0cc00…0cc88 (12, 0, 0) UnusedSector ┆ EMAPHOR ;;* UNTIL A SIGNAL IS RECEIVED ;;* ;;* INVOCATION: WAIT (QUEU_NO) ;;* ;;* INPUTS: QUEU_NO 2 ┆
0x0cc88…0cd10 (12, 0, 1) UnusedSector ┆ LD E,(HL) ; INC HL ; LD D,(HL) ; GET CURRENT TIMER LD A,D ; OR E ; LD B,0 ; JR NZ,REC2 e ┆
0x0cd10…0cd98 (12, 0, 2) UnusedSector ┆ QUEU_NO: SEMAPHOR QUEU NUMBER ;;* BUF_PTR: POINTER TO MESSAGE BUFFER ;;* ;;* OUTPUTS: NONE ;;* ;;**** W ┆
0x0cd98…0ce20 (12, 0, 3) UnusedSector ┆ L,DE GETWORD D E,MAKS4_DELAY ;GET TIMER DELAY LD (HL),E INC HL LD (HL),D ;PRESET TIMER ; REC0: LD DE,SYSRAM+240H ; 8┆
0x0ce20…0cea8 (12, 0, 4) UnusedSector ┆ ******************************************************* ; GETMES PROCEDURE GLOBAL GETMES ; ENTRY GETMES: PLZVAR PLZIN QUEU E┆
0x0cea8…0cf30 (12, 0, 5) UnusedSector ┆ LAPSED ;;* IF MESSAGE WAS RECEIVED ;;* BUF_PTR WILL CONTAIN POINTER TO BUFFER ;;* ┆
0x0cf30…0cfb8 (12, 0, 6) UnusedSector ┆ ; IF TIMER VALUE = 0 THEN PUTWORD BUF4_PTR,D E ; SET OUTPUT BUFFER = NIL LD B,1 ; FI ; ; FI REC2: B%┆
0x0cfb8…0d040 (12, 0, 7) UnusedSector ┆ ********************************************************************** ; PUTMES PROCEDURE GLOBAL PUTMES ; ENTRY PUTMES: PLZV b┆
0x0d040…0d0c8 (12, 0, 8) UnusedSector ┆ DO LD H,0 ; GETBYTE L,QUEU4_NO ; GET QUEU.NO. ADD HL,HL ; ADD HL,HL ; ADD HL,HL ; 8 * QUEU.NO. ADD HL,DE ┆
0x0d0c8…0d150 (12, 0, 9) UnusedSector ┆ 5_NO PLZOUT BUF5_PTR ENT 0 LD DE,SYSRAM+240H LD H,0H GETBYTE L, QUEU5_NO ;GET QUEU.NO. ADD HL,HL ADD HL,HL ┆
0x0d150…0d1d8 (12, 0, 10) UnusedSector ┆ ELSE ;;* BUF_PTR WILL BE SET TO NILL ;;* ;;* INVOCATION: BUF_PTR := REC (QUEU_NO,DELAY,CH_NO) ; 6 ┆
0x0d1d8…0d260 (12, 0, 11) UnusedSector ┆ LD A,B ; AND A ; JR NZ,REC3 ; IF NO MESSAGE BUFFER AND NO TIMEOUT THEN PUSH IX ; CALL SRELEASE ; SCHEDU | ┆
0x0d260…0d2e8 (12, 0, 12) UnusedSector ┆ AR PLZIN QUEU6_NO BUF6_PTR ENT 0 LD DE,SYSRAM+240H LD H,0H GETBYTE L ,QUEU6_NO ;GET QUEU.NO. ADD HL,HL ADD HL ┆
0x0d2e8…0d370 (12, 0, 13) UnusedSector ┆ ; LD A,(HL) ; GET SEMAPHORE VALUE ADD A,7FH ; JP P,REC1 ; IF SEMAPHORE VALUE = +1 THEN LD (SYSRAM+0E2H),HL S ┆
0x0d370…0d3f8 (12, 0, 14) UnusedSector ┆ ADD HL,HL ;8 * QUEU.NO. ADD HL,DE LD (SYSRAM+0E2H),HL ;SAVE ADDRESS OF SEMAPHORE QUEUHEAD PUSH IX CALL RECI CAL ┆
0x0d3f8…0d480 (12, 0, 15) UnusedSector ┆ ;* ;;* INPUTS: QUEU_NO: NUMBER OF SEMAPHORE QUEUE ;;* DELAY: MAX WAIT TIME IN UNITS OF 12.5 MSEK ;;* ! ┆
0x0d480…0d508 (12, 0, 16) UnusedSector ┆ LE POP IX ; FI JR REC0 ;OD ; REC3: RTN 3 ; ; END REC RET ;;ECHO ;;******************************************** :>┆
0x0d508…0d590 (12, 0, 17) UnusedSector ┆ ,HL ADD HL,HL ;8 * QUEU.NO. ADD HL,DE GETWORD D E , BUF6_PTR ;GET ADDRESS OF MESSAGE BUFFER PUSH IX CALL SUBSEN c┆
0x0d590…0d618 (12, 0, 18) UnusedSector ┆ ; SAVE ADDRESS OF SEMAPHORE QUEUHEAD PUSH IX ; CALL RECI ; POP IX ; CALL MESADD ; GET ADDRESS OF }N┆
0x0d618…0d6a0 (12, 0, 19) UnusedSector ┆ L MESADD ;GET ADDRESS OF MESSAGE BUFFER WHEN RECEIVED POP IX PUTWORD BUF5_PTR, D E RTN 1 ; END GETMES RET ;;ECHO O┆
0x0d6a0…0d728 (12, 0, 20) UnusedSector ┆ CH_NO: NUMBER OF CHANNEL ;;* ;;* OUTPUTS: BUF_PTR: POINTER TO BUFFER ;;* ;;***************************** > ┆
0x0d728…0d7b0 (12, 0, 21) UnusedSector ┆ ****************************** ;;* PROCEDURE NAME: GETMES ;;* ;;* FUNCTION: THE CALLING PROCESS IS DELAYED UNTIL A MESSA *┆
0x0d7b0…0d838 (12, 0, 22) UnusedSector ┆ ;SEND MESSAGE BUFFER TO SPECIFIED QUEU POP IX RTN 2 ; END PUTMES RET ;;ECHO ;;************************************** Z┆
0x0d838…0d8c0 (12, 0, 23) UnusedSector ┆ MESSAGE BUFFER IF ANY LD B,0 ; JR NC,REC2 ; PUTWORD BUF4_PTR,D E ; LD B,1 ; JR REC2 ; REC1: LD H "┆
0x0d8c0…0d948 (12, 0, 24) UnusedSector ┆ ;;************************************************************************** ;;* PROCEDURE NAME: PUTMES ;;* ;;* FUNCTION: k┆
0x0d948…0d9d0 (12, 0, 25) UnusedSector ┆ ********************************************* ; REC PROCEDURE GLOBAL REC ; ENTRY REC: PLZVAR PLZIN QUEU4_NO MAKS4_DELAY CH '┆
0x0d9d0…0da58 (12, 0, 26) UnusedSector ┆ GE IS SEND ;;* TO THE SPECIFIED SEMAPHORE ;;* ;;* INVOCATION: BUF_PTR := GETMES (QUEU_NO) ;;* ;;* INPUTS: !┆
0x0da58…0dae0 (12, 0, 27) UnusedSector ┆ ************************************ ;;* PROCEDURE NAME: WAIT ;;* ;;* FUNCTION: THE PROCESS IS HANGED ON THE SPECIFIED S ┆
0x0dae0…0db68 (12, 0, 28) UnusedSector ┆ ,0 ; ELSE GETBYTE L,CHA4_NO ; GET CH.NO. ADD HL,HL ; 2 * CH.NO. LD DE,RCT1CH-2 ; ADD HL,DE ; i ┆
0x0db68…0dbf0 (12, 0, 29) UnusedSector ┆ THE MESSAGE BUFFER IS SEND TO THE SPECIFIED SEMAPHOR ;;* ;;* INVOCATION: PUTMES (QUEU_NO,BUF_PTR) ;;* ;;* INPUTS: ┆
0x0dbf0…0dc78 (12, 0, 30) UnusedSector ┆ A4_NO PLZOUT BUF4_PTR ENT 0 LD H,0 GETBYTE L,CHA4_NO ;GET CH.NO. ADD HL,HL ;2 * CH.NO. ; LD DE,RCT1CH-2 ADD H ) ┆
0x0dc78…0dd00 (12, 0, 31) UnusedSector ┆ QUEU_NO: NUMBER OF SEMAPHOR QUEU ;;* ;;* OUTPUTS: BUF_PTR: POINTER TO RECEIVED BUFFER ;;* ;;******************* 1┆
0x0dd00…0dd88 (13, 0, 0) UnusedSector ┆ TRY TO GET BUFFER FROM (EMPTY) BUFFER QUEU ;;* IF BUFFER AVAILABLE ;;* BUF_PTR WI k ┆
0x0dd88…0de10 (13, 0, 1) UnusedSector ┆ FUNCTION: WAIT UNTIL A MESSAGE IS SEND TO THE SPECIFIED SEMAPHOR ;;* OR UNTIL THE SPECIFIED DELAY HAS E ┆
0x0de10…0de98 (13, 0, 2) UnusedSector ┆ OP IX ; EI ; JR NC,GETB1 ; IF BUFFER AVAILABLE THEN PUTWORD BUF_PTR,D E ; SAVE BUFFER ADDRESS JR GETB2 ; U ┆
0x0de98…0df20 (13, 0, 3) UnusedSector ┆ LD C,(IY+CHA) LD B,5 OUT (C),B OUT (C),A ;SET RTS AND DTR EI CA2: GETWORD H L,MODE_PTR ;DO LD A,(HL) ; CP DIAL_ 7┆
0x0df20…0dfa8 (13, 0, 4) UnusedSector ┆ 2,BUF2_PTR ENT 0 GETWORD H L, P2 LD BC,20 ADD HL,BC LD E,(HL) INC HL LD D,(HL) EX DE,HL ;GET EMPTY BUFFER QUEU ?┆
0x0dfa8…0e030 (13, 0, 5) UnusedSector ┆ LUP JR NZ,RECEND ;IF DIALUP VERSION THEN CALL SELECT ; CALL MIRPORT ; DI ; LD A,(HL) ; RES 1,A ; RESET RTS ,┆
0x0e030…0e0b8 (13, 0, 6) UnusedSector ┆ K % 791101 791101 0 ┆
0x0e0b8…0e140 (13, 0, 7) UnusedSector ┆ *P 42 ;; ;PLZ_QUEU MODULE *INCLUDE PLZ.MACROS ;; ;CONSTANT ; OVL := 0FFH OVL EQU 0FFH ; NO_OVL := 0 NO_OVL EQU 0 ;; ;EXTE ┆
0x0e140…0e1c8 (13, 0, 8) UnusedSector ┆ UP_MODE ; LD A,0 ; JR NZ,CA3 ; IF NOT DIAL_UP_MODE THEN EXIT FI LD C,(IY+CHA) ; LD B,10H ; DI ; OUT (C),B ┆
0x0e1c8…0e250 (13, 0, 9) UnusedSector ┆ LL CONTAIN POINTER TO BUFFER ;;* ELSE ;;* SCHEDULE ;;* ;;* INVOCATION: BUF_PTR : ┆
0x0e250…0e2d8 (13, 0, 10) UnusedSector ┆ MIRROR LD (HL),A ; LD C,(IY+CHA) ; LD B,05H ; OUT (C),B ; OUT (C),A ; RESET RTS EI ; ;FI RECEND: RTN 1 1┆
0x0e2d8…0e360 (13, 0, 11) UnusedSector ┆ EXIT GETB1: PUSH IX ; ELSE CALL SRELEASE ; SCHEDULE POP IX ; ; ; FI JR GETB0 ;OD ; GETB2: RTN 1 x┆
0x0e360…0e3e8 (13, 0, 12) UnusedSector ┆ RNAL SUBDEQ SUBENQ SIG WAI ; SYSRAM RECI SUBSEN ; SRELEA MESADD ;; ;GLOBAL EXTERNAL MESADD,SRELEA,SUBSEN, G┆
0x0e3e8…0e470 (13, 0, 13) UnusedSector ┆ ; IN A,(C) ; EI ; BIT 5,A ; LD A,1 ; JR NZ,CA3 ; IF CTS = ON THEN EXIT FI CALL WAIT ; SCHEDULE JR CA2 'D┆
0x0e470…0e4f8 (13, 0, 14) UnusedSector ┆ = GETBUF (P) ;;* ;;* INPUTS: P: POINTER TO PARAM_TABLE ;;* ;;* OUTPUTS: BUF_PTR: POINTER TO BUFFER ;;* ;;****** ┆
0x0e4f8…0e580 (13, 0, 15) UnusedSector ┆ END RECEIVE ;ECHO CALL1 PROCEDURE ENTRY PLZVAR PLZIN MODE_PTR CHAH_NO PLZOUT CALLST ENT 0 GETBYTE C , CHAH_NO -┆
0x0e580…0e608 (13, 0, 16) UnusedSector ┆ ; END GETBUF RET ;;ECHO ;;************************************************************************** ;;* PROCEDURE NAME: PUT ┆
0x0e608…0e690 (13, 0, 17) UnusedSector ┆ RECI,SYSRAM,WAI,SIG,SUBENQ,SUBDEQ ; RCT1CH,RCT2CH,RCT3CH,RCT4CH WORD GLOBAL RCT4CH,RCT3CH,RCT2CH,RCT1CH ;; ;GLOBAL RCT1CH DEFS ,┆
0x0e690…0e718 (13, 0, 18) UnusedSector ┆ ;OD CA3: PUTBYTE CALLST,A RTN 2 END CALL1 END LINE_ACCESS ;ECHO + ┆
0x0e718…0e7a0 (13, 0, 19) UnusedSector ┆ ******************************************************************** ; GETBUF PROCEDURE GLOBAL GETBUF ; ENTRY GETBUF: PLZVAR >9┆
0x0e7a0…0e828 (13, 0, 20) UnusedSector ┆ CALL SELECT CALL MIRPORT DI LD A,(HL) RES 7,A ;RESET DTR MIRROR LD (HL),A LD C,(IY+CHA) LD B,5 OUT (C),B OUT 5F┆
0x0e828…0e8b0 (13, 0, 21) UnusedSector ┆ BUF ;;* ;;* FUNCTION: SENDS BUFFER TO SPECIFIED QUEUE ;;* ;;* INVOCATION: PUTBUF (P,BUF_PTR) ;;* ;;* INPUTS: ;┆
0x0e8b0…0e938 (13, 0, 22) UnusedSector ┆ 0002H RCT2CH DEFS 0002H RCT3CH DEFS 0002H RCT4CH DEFS 0002H ;;ECHO ;;***************************************************** 5%┆
0x0e938…0e9c0 (13, 0, 23) UnusedSector ┆ _ADDRESS GETWORD D E, BUF2_PTR DI PUSH IX CALL SUBENQ ;ENQUE BUFFER IN SPECIFIED QUEU POP IX EI RTN 2 ; END PU s ┆
0x0e9c0…0ea48 (13, 0, 24) UnusedSector ┆ PLZIN P1 PLZOUT BUF_PTR ENT 0 GETB0: GETWORD H L,P1 ;DO LD BC,20 ; ADD HL,BC ; LD E,(HL) ; INC HL ; 6 ┆
0x0ea48…0ead0 (13, 0, 25) UnusedSector ┆ (C),A ;RESET DTR EI LD BC,DELAY CALL INIT_TIMER ;INITIATE TIMER CA0: CALL TEST_TIMER JR Z,CA1 CALL WAIT ;WAIT F R ┆
0x0ead0…0eb58 (13, 0, 26) UnusedSector ┆ P: POINTER TO PARAM_TABLE ;;* BUF_PTR: POINTER TO BUFFER ;;* ;;* OUTPUTS: NONE ;;* ;;**************** ┆
0x0eb58…0ebe0 (13, 0, 27) UnusedSector ┆ ********************* ;;* PROCEDURE NAME: GETBUF ;;* ;;* FUNCTION: REPEAT UNTIL BUFFER IS AVAILABLE ;;* aY┆
0x0ebe0…0ec68 (13, 0, 28) UnusedSector ┆ TBUF RET ;;ECHO ;;************************************************************************** ;;* PROCEDURE NAME: REC ;;* ;;* ┆
0x0ec68…0ecf0 (13, 0, 29) UnusedSector ┆ LD D,(HL) ; EX DE,HL ; GET EMPTY BUFFER QUEU_ADDRESS DI ; PUSH IX ; CALL SUBDEQ ; GET BUFFER FROM QUEU P 3 ┆
0x0ecf0…0ed78 (13, 0, 30) UnusedSector ┆ OR TIMEOUT JR CA0 CA1: CALL MIRPORT DI LD A,(HL) SET 1,A ;SET RTS MIRROR SET 7,A ;SET DTR MIRROR LD (HL),A \ ┆
0x0ed78…0ee00 (13, 0, 31) UnusedSector ┆ ********************************************************** ; PUTBUF PROCEDURE GLOBAL PUTBUF ; ENTRY PUTBUF: PLZVAR PLZIN P yW┆
0x0ee00…0ee88 (14, 0, 0) UnusedSector ┆ RET END SHASEL ;ECHO RECEIVE PROCEDURE ENTRY PLZVAR PLZIN CHAC_NO ENT 0 GETBYTE C, CHAC_NO CALL SHASEL CP DIA 7 ┆
0x0ee88…0ef10 (14, 0, 1) UnusedSector ┆ ; FI TRA5: JR TRA00 ;OD TRA6: RTN 1 END TRANSMIT LINEDO PROCEDURE ENTRY PLZVAR PLZIN CHAD_NO ENT 0 G 4┆
0x0ef10…0ef98 (14, 0, 2) UnusedSector ┆ 2: CALL TEST_TIMER ;DO JR Z,MOD5 ; IF TIMEOUT THEN EXIT FI LD A,E ; LD C,PIO2B ; IN B,(C) ; BIT 0,D ; JR Z, ┆
0x0ef98…0f020 (14, 0, 3) UnusedSector ┆ ; OUT (C),B ; OUT (C),A ; SET RTS EI ; LD BC,LATKON ; CALL INIT_TIMER ; INITIATE TIMER CALL ┆
0x0f020…0f0a8 (14, 0, 4) UnusedSector ┆ T CH.NO. ADD HL,HL ; 2 * CH.NO. LD DE,CHATAB-2 ; ADD HL,DE ; LD E,(HL) ; INC HL ; LD C,(HL) ; LD D,0 ; ┆
0x0f0a8…0f130 (14, 0, 5) UnusedSector ┆ LD B,LASB ; STATUS := LINEDO PUTBYTE STA1,B ; JR LIN5 ; EXIT ; FI LIN4: JR LIN0 ;OD LIN5: R Q┆
0x0f130…0f1b8 (14, 0, 6) UnusedSector ┆ ETBYTE C, CHAD_NO CALL SELECT LD C,(IY+CHA) CALL MIRPORT DI LD A,(HL) RES 1,A ;RESET RTS MIRROR RES 7,A ;RESET 1 ┆
0x0f1b8…0f240 (14, 0, 7) UnusedSector ┆ MOD3 ; IF MODE = 0 THEN AND B ; JR Z,MOD5 ; IF SBI 117 = ON THEN EXIT FI JR MOD4 ; ELSE MOD3: AND B ; JR N ┆
0x0f240…0f2c8 (14, 0, 8) UnusedSector ┆ WAIT ; SCHEDULE JR TRA5 ; ELSE TRA0: EI ; CALL WAIT ; SCHEDULE JR TRA5 ; FI +┆
0x0f2c8…0f350 (14, 0, 9) UnusedSector ┆ LD B,0 ; PUSH DE ; GETBYTE E,RANGE ; GET BAUD RATE CODE POP IX ; CALL I8253 ; MAKE BAUD RATE CHANGE ;FI ┆
0x0f350…0f3d8 (14, 0, 10) UnusedSector ┆ TN 1 END LINEUP ;ECHO TRANSMIT PROCEDURE ENTRY PLZVAR PLZIN CHAB_NO PLZOUT STA2 ENT 0 GETBYTE C, CHAB_NO CAL A┆
0x0f3d8…0f460 (14, 0, 11) UnusedSector ┆ DTR MIRROR LD (HL),A LD B,05H OUT (C),B OUT (C),A ;RESET RTS AND DTR EI RTN 1 END LINEDO ;ECHO CHANGE PROCEDU ┆
0x0f460…0f4e8 (14, 0, 12) UnusedSector ┆ Z,MOD5 ; IF SBI 117 = OFF THEN EXIT FI ; FI MOD4: PUSH DE ; CALL WAIT ; SCHEDULE POP DE ; JR MOD2 ;OD ┆
0x0f4e8…0f570 (14, 0, 13) UnusedSector ┆ ; ELSE TRA1: LD B,LASE ; STATUS := MODEM1_ERROR PUTBYTE STA2,B ; JR TRA6 ; EXIT ; FI IO┆
0x0f570…0f5f8 (14, 0, 14) UnusedSector ┆ CHAEND: RTN 2 END CHANGE ;ECHO MODEM PROCEDURE ENTRY PLZVAR PLZIN CHAG_NO MODE ENT 0 GETBYTE C,CHAG_NO CALL S ┆
0x0f5f8…0f680 (14, 0, 15) UnusedSector ┆ L SELECT LD BC,LATKON CALL INIT_TIMER TRA00: CALL TEST_TIMER ;DO JR Z,TRA4 ; IF NO TIMEOUT THEN DI ; LD C,(IY+ a+┆
0x0f680…0f708 (14, 0, 16) UnusedSector ┆ RE ENTRY PLZVAR PLZIN CHAF_NO RANGE ENT 0 GETBYTE C,CHAF_NO CALL SHASEL CP DIRECT JR Z,CHADIR ;IF NOT DIRECT CO ┆
0x0f708…0f790 (14, 0, 17) UnusedSector ┆ MOD5: RTN 2 END MODEM ;ECHO SELECT PROCEDURE ENTRY LD H,0 LD L,C ;GET CHNO. ADD HL,HL ADD HL,HL ;4 * CH.NO. f ┆
0x0f790…0f818 (14, 0, 18) UnusedSector ┆ ; ELSE TRA2: EI ; CALL MIRPORT ; LD A,(HL) ; BIT 1,A ; JR Z,TRA3 ; IF RTS = ON THEN LD B,LASC ; D┆
0x0f818…0f8a0 (14, 0, 19) UnusedSector ┆ ELECT LD H,0 LD L,C ;GET CH.NO. ADD HL,HL ADD HL,HL ;4 * CH.NO. LD DE,TABMEM-1 ADD HL,DE ;ADDRESS OF CH.MASK L ┆
0x0f8a0…0f928 (14, 0, 20) UnusedSector ┆ CHA) ; IN B,(C) ; LD L,(IY+MIRROR) ; LD H,(IY+MIRROR+1) ; LD DE,08H ; ADD HL,DE ; LD (HL),B ; BIT 5,B ; J ┆
0x0f928…0f9b0 (14, 0, 21) UnusedSector ┆ NNECTION THEN LD H,0 ; LD L,C ; GET CH.NO. ADD HL,HL ; ADD HL,HL ; 4 * CH.NO. LD DE,TABMEM-2 ; ADD HL,DE ; o ┆
0x0f9b0…0fa38 (14, 0, 22) UnusedSector ┆ LD DE,TABMEM-4 ADD HL,DE LD E,(HL) INC HL LD D,(HL) ;GET ADDRESS OF TABLE PUSH DE POP IY RET END SELECT ; SH ┆
0x0fa38…0fac0 (14, 0, 23) UnusedSector ┆ STATUS := TRANSMIT PUTBYTE STA2,B ; JR TRA6 ; EXIT ; ELSE TRA3: CALL WAIT ; SCHEDULE JR TR ┆
0x0fac0…0fb48 (14, 0, 24) UnusedSector ┆ D A,(HL) ;GET MASK LD E,A GETBYTE D,MODE LD C,PIO2A IN B,(C) BIT 0,D JR Z,MOD0 CPL ;IF MODE = 1 THEN SET SSB 11 z0┆
0x0fb48…0fbd0 (14, 0, 25) UnusedSector ┆ R NZ,TRA2 ; IF CTS = OFF THEN CALL MIRPORT ; LD A,(HL) ; BIT 7,A ; JR Z,TRA1 ; IF DTR = ON THEN BIT 1,A & ┆
0x0fbd0…0fc58 (14, 0, 26) UnusedSector ┆ ADDRESS OF CH.MASK LD A,(HL) ; GET MASK GETBYTE D,RANGE ; LD C,PIO2A ; IN B,(C) ; BIT 0,D ; JR Z,CHAN0 ; # ┆
0x0fc58…0fce0 (14, 0, 27) UnusedSector ┆ ASEL PROCEDURE ENTRY LD H,0 LD L,C ADD HL,HL LD DE,SHATAB-2 ADD HL,DE LD E,(HL) INC HL LD D,(HL) LD A,(DE) ┆
0x0fce0…0fd68 (14, 0, 28) UnusedSector ┆ A5 ; FI ; FI ; ELSE TRA4: LD B,LASE ; STATUS := MODEM1_ERROR PUTBYTE STA2,B ; JR TRA6 ; EXIT F ┆
0x0fd68…0fdf0 (14, 0, 29) UnusedSector ┆ 6 FI AND B JR MOD1 MOD0: OR B ;IF MODE = 0 THEN RESET SSB 116 FI MOD1: OUT (C),A LD BC,LATKON CALL INIT_TIMER MOD ] ┆
0x0fdf0…0fe78 (14, 0, 30) UnusedSector ┆ ; JR NZ,TRA0 ; IF RTS = OFF THEN SET 1,A ; SET RTS MIRROR LD (HL),A ; LD C,(IY+CHA) ; LD B,05H H ┆
0x0fe78…0ff00 (14, 0, 31) UnusedSector ┆ OR B ; JR CHAN1 ; CHAN0: CPL ; AND B ; CHAN1: OUT (C),A ; JR CHAEND ;ELSE CHADIR: LD H,0 ; LD L,C ; GE ┆
0x0ff00…0ff88 (15, 0, 0) UnusedSector ┆ IRECT := 22H ; INTERNAL INIT_TIMER PROCEDURE ENTRY LD L,(IY+TIMER) LD H,(IY+TIMER+1) DI LD (HL),C INC HL LD (HL _┆
0x0ff88…10010 (15, 0, 1) UnusedSector ┆ DEFW CH2 DEFB 10H DEFB 20H DEFW CH3 DEFB 04H DEFB 08H DEFW CH4 DEFB 01H DEFB 02H ;----------------------- [┆
0x10010…10098 (15, 0, 2) UnusedSector ┆ S OF DSR AND (HL) ; LD C,A ; DI ; CALL MIRPORT ; LD E,C ; SAVE STATUS OF DSR LD A,(HL) ; U ┆
0x10098…10120 (15, 0, 3) UnusedSector ┆ DTR MIRROR LD (HL),A ; LD C,(IY+CHA) ; LD B,5 ; OUT (C),B ; OUT (C),A ; RESET DTR EI ; - ┆
0x10120…101a8 (15, 0, 4) UnusedSector ┆ JR LIN4 ; FI ; FI ; ELSE LIN3: DI ; CALL MIRPORT ; LD A,(HL) ; RES 7,A ; RESET i1┆
0x101a8…10230 (15, 0, 5) UnusedSector ┆ S = NOT_BUSY * ;* SIO IS NOT REC * ;* DATA * ;* * ;* CREATED DATE : 020782 SDO ! ┆
0x10230…102b8 (15, 0, 6) UnusedSector ┆ C O 810908 791101 ┆
0x102b8…10340 (15, 0, 7) UnusedSector ┆ *P 42 LINE_ACCESS MODULE *INCLUDE PLZ.MACROS EXTERNAL LAT1CH,LAT2CH,LAT3CH,LAT4CH EXTERNAL SIO1CH,SIO2CH,SIO3CH,SIO4CH EXTER d┆
0x10340…103c8 (15, 0, 8) UnusedSector ┆ ),B EI END INIT_TIMER ; TEST_TIMER PROCEDURE ENTRY LD L,(IY+TIMER) LD H,(IY+TIMER+1) DI LD A,(HL) INC HL OR (H ┆
0x103c8…10450 (15, 0, 9) UnusedSector ┆ ----- SHATAB: DEFW 400FH DEFW 401FH DEFW 402FH DEFW 403FH ;---------------------------- CHATAB: DEFB 02 DEFB 01 DE ┆
0x10450…104d8 (15, 0, 10) UnusedSector ┆ * ;* * ;********************************************************* GLOBAL TESTRX ; TESTRX PROCEDURE ENTRY ┆
0x104d8…10560 (15, 0, 11) UnusedSector ┆ BIT 7,A ; JR NZ,LIN1 ; IF DTR MIRROR IS NOT SET THEN SET 7,A ; SET DTR MIRROR LD (HL),A ; y┆
0x10560…105e8 (15, 0, 12) UnusedSector ┆ NAL SRELEASE I8253 ; CONSTANT LASA := 0H ;LINEUP LASB := 1H ;LINEDO LASC := 2H ;TRANSMIT LASE := 5H ┆
0x105e8…10670 (15, 0, 13) UnusedSector ┆ L) EI END TEST_TIMER WAIT PROCEDURE ENTRY PUSH IY PUSH IX CALL SRELEASE POP IX POP IY END WAIT ; MIRPORT PROC ┆
0x10670…106f8 (15, 0, 14) UnusedSector ┆ FB 02 DEFB 00 DEFB 01 DEFB 01 DEFB 01 DEFB 00 END DUMMY GLOBAL ;ECHO LINEUP PROCEDURE ENTRY PLZVAR PLZIN ┆
0x106f8…10780 (15, 0, 15) UnusedSector ┆ PLZVAR PLZOUT REC_STATUS ENT 0 LD D,NOT_BUSY ;SET REC_STATUS = NOT_BUSY PUTBYTE REC_STATUS,D ; LD A,(IY+00EH) ;GET [┆
0x10780…10808 (15, 0, 16) UnusedSector ┆ LD C,(IY+CHA) ; LD B,5 ; OUT (C),B ; OUT (C),A ; SET DTR EI ; LD BC,LATKON ; Od┆
0x10808…10890 (15, 0, 17) UnusedSector ┆ ;MODEM1_ERROR LASF := 4H ;MODEM2_ERROR LATKON :=0FFH ;TIMER CONSTANT PIO2A := 20H ;ADDRESS ON PIO PIO2B := 21 7┆
0x10890…10918 (15, 0, 18) UnusedSector ┆ EDURE ENTRY LD L,(IY+MIRROR) LD H,(IY+MIRROR+1) LD DE,5 ADD HL,DE END MIRPORT DUMMY PROCEDURE ENTRY CH1: DEFW LA 9/┆
0x10918…109a0 (15, 0, 19) UnusedSector ┆ CHAA_NO PLZOUT STA1 ENT 0 GETBYTE C, CHAA_NO CALL SELECT LD BC,LATKON CALL INIT_TIMER LIN0: CALL TEST_TIMER ┆
0x109a0…10a28 (15, 0, 20) UnusedSector ┆ RXFLAG CP 00 ;IF DRIVER IS RECEIVING DATA THEN JR Z,RECEND ; VIBF LD D,BUSY ; SET REC_STATUS = BUSY PUTBYTE REC_STA 3┆
0x10a28…10ab0 (15, 0, 21) UnusedSector ┆ CALL INIT_TIMER ; INITIATE TIMER CALL WAIT ; SCHEDULE JR LIN4 ; ELSE LIN1: EI ; ┆
0x10ab0…10b38 (15, 0, 22) UnusedSector ┆ H PIO2C := 22H SIOCHA := 53H ;ADDRESS ON SIO SIOCHB := 52H SIOCHC := 43H SIOCHD := 42H TIMER := 0H ;CONFIGURA ┆
0x10b38…10bc0 (15, 0, 23) UnusedSector ┆ T1CH DEFW SIO1CH DEFW SIOCHA ; CH2: DEFW LAT2CH DEFW SIO2CH DEFW SIOCHB ; CH3: DEFW LAT3CH DEFW SIO3CH DEFW SIOCHC ┆
0x10bc0…10c48 (15, 0, 24) UnusedSector ┆ ;DO JR Z,LIN3 ; IF NO TIMEOUT THEN LD H,0 ; GETBYTE L,CHAA_NO ; GET CH.NO. ADD HL,HL ; ADD HL,HL ┆
0x10c48…10cd0 (15, 0, 25) UnusedSector ┆ TUS,D ;FI RECEND LD (IY+00EH),00H ;RESET RXFLAG EI ;ENABLE INTERRUPT RTN 0 ; END TESTRX END MODULE &┆
0x10cd0…10d58 (15, 0, 26) UnusedSector ┆ LD A,E ; GET STATUS OF DSR AND A ; JR NZ,LIN2 ; IF DSR IS SET THEN LD B,LASA ; STATUS ┆
0x10d58…10de0 (15, 0, 27) UnusedSector ┆ TION MIRROR := 2H CHA := 4H DIAL_UP_MODE := 0FFH DELAY := 120 ; 120 UNITS OF 12,5 MS =1,5 SEK DIALUP := 11H D .{┆
0x10de0…10e68 (15, 0, 28) UnusedSector ┆ ; CH4: DEFW LAT4CH DEFW SIO4CH DEFW SIOCHD ;-------------------------------- TABMEM: DEFW CH1 DEFB 40H DEFB 80H h ┆
0x10e68…10ef0 (15, 0, 29) UnusedSector ┆ ; 4 * CH.NO. LD DE,TABMEM-2 ; ADD HL,DE ; ADDRESS OF CH.MASK LD C,PIO2B ; IN A,(C) ; GET STATU ┆
0x10ef0…10f78 (15, 0, 30) UnusedSector ┆ ;ECHO _ ┆
0x10f78…11000 (15, 0, 31) UnusedSector ┆ := LINEUP PUTBYTE STA1,B ; JR LIN5 ; EXIT ; ELSE LIN2: CALL WAIT ; SCHEDULE A}┆
0x11000…11088 (16, 0, 0) UnusedSector ┆ FI PUTBYTE STAT1,A RTN 1 END IYSHARE ;ECHO *P 42 ;********************************************************* ;* y ┆
0x11088…11110 (16, 0, 1) UnusedSector ┆ DE: BYTE_COUNT ; BC: STATUS_WORD ; A : DATA_OFFSET ; ;OUTPUT: NONE ; ;DESTROYES: B,C,D,E,H,L ;<<<<<<<<<<<<<< .┆
0x11110…11198 (16, 0, 2) UnusedSector ┆ TBYTE A,CHNO IF A CASE 1 THEN LD (NTIME1),HL CASE 2 THEN LD (NTIME2),HL CASE 3 THEN LD (NTIME3),HL CASE 4 THE ┆
0x11198…11220 (16, 0, 3) UnusedSector ┆ VAR PLZIN P2 PLZOUT BUF5_PTR ENT 0 GETWORD B C, P2 PUSH BC POP IY LD E,(IY+20) LD D,(IY+21) MARKSTACK 1 SUBMIT DE CAL E ┆
0x11220…112a8 (16, 0, 4) UnusedSector ┆ TATUS OF SIO * ;* * ;* REC_STATUS = BUSY * ;* SIO IS REC DATA * ;* * ;* REC_STATU m ┆
0x112a8…11330 (16, 0, 5) UnusedSector ┆ DATA[12] LD A,(HL) LD (IY+12),A INC HL ; TEXT[13] := DATA[13] LD A,(HL) LD (IY+13),A LD DE,08 ; I:= 14 ADD HL,DE ┆
0x11330…113b8 (16, 0, 6) UnusedSector ┆ <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< GLOBAL BUF_HD PROCEDURE ENTRY INC HL INC HL LD (HL),E ; UP ┆
0x113b8…11440 (16, 0, 7) UnusedSector ┆ 801203 791101 N┆
0x11440…114c8 (16, 0, 8) UnusedSector ┆ L GETBUF RETRIEVEVALUE HL PUTWORD BUF5_PTR , H L PUSH HL LD DE,0AH ADD HL,DE ; I := 0 PUSH HL ; DO POP DE ; DATA[ ` ┆
0x114c8…11550 (16, 0, 9) UnusedSector ┆ *P 42 SIO_INTERFACE MODULE *INCLUDE PLZ.MACROS CONSTANT NOT_BUSY := 0 BUSY := 0FH CHA1 := 4002H CHA2 := 4012H CHA3 ;g┆
0x11550…115d8 (16, 0, 10) UnusedSector ┆ ; DO ; TEXT[I] := DATA[I+8] LD DE,14 ; I+=1 ADD IY,DE ; IF I=19 THEN EXIT FI PUSH IY ; OD POP DE LD BC,05 LDIR C┆
0x115d8…11660 (16, 0, 11) UnusedSector ┆ DATE BYTE_COUNT INC HL LD (HL),D INC HL ; UPDATE STATUS LD (HL),C INC HL LD (HL),B INC HL ; UPDATE DATA STA_ADR INC t┆
0x11660…116e8 (16, 0, 12) UnusedSector ┆ N LD (NTIME4),HL FI RTN 2 END TIMPRE IYSEL PROCEDURE ENTRY PLZVAR PLZIN CH_NO ENT 0 GETBYTE A,CH_NO IF @ ┆
0x116e8…11770 (16, 0, 13) UnusedSector ┆ I] := TEXT[I] LD HL,TEXT_ARRAY ; I += 1 LD BC,20 ; IF I= SIZEOF TEXT_ARRAY THEN LDIR ; EXIT FI ; OD POP HL LD ┆
0x11770…117f8 (16, 0, 14) UnusedSector ┆ := 4022H CHA4 := 4032H EXTERNAL CHA3TAB,CHA4TAB STIME3,STIME4 NTIME3,NTIME4 EXTERNAL CHA1TAB,CHA2TAB EXTERNAL STIME1, *┆
0x117f8…11880 (16, 0, 15) UnusedSector ┆ RTN 1 END TERMID ;ECHO ;************************************************************************** ;* PROCEDURE NAME ┆
0x11880…11908 (16, 0, 16) UnusedSector ┆ HL INC HL PUSH HL INC HL INC HL LD B,0 LD C,A ADD HL,BC PUSH HL POP DE POP HL LD (HL),E INC HL LD (HL),D END BU Z ┆
0x11908…11990 (16, 0, 17) UnusedSector ┆ A CASE 1 THEN LD IY,CHA1TAB CASE 2 THEN LD IY,CHA2TAB CASE 3 THEN LD IY,CHA3TAB CASE 4 THEN LD IY,CHA4TAB B┆
0x11990…11a18 (16, 0, 18) UnusedSector ┆ DE,20 ; BYTE_COUNT := 20 LD BC,OK ; STATUS := OK LD A,0 ; DATA_OFFSET := 0 CALL BUF_HD ; UPDATE BUFFER_HEAD RTN 1 ┆
0x11a18…11aa0 (16, 0, 19) UnusedSector ┆ STIME2 NTIME1,NTIME2 GLOBAL TIMRES PROCEDURE ENTRY PLZVAR PLZIN CHA_NO ENT 0 DI LD HL,0 GETBYTE A, CHA_NO ┆
0x11aa0…11b28 (16, 0, 20) UnusedSector ┆ : REJMES ;* ;* FUNCTION: GETS BUFFER FROM EMPTY QUEUE ;* FORMATS OUTPUT READY 'REJECT MESSAGE' BUFFER ; [ ┆
0x11b28…11bb0 (16, 0, 21) UnusedSector ┆ F_HD END BUFFER_GENERATOR ;ECHO ┆
0x11bb0…11c38 (16, 0, 22) UnusedSector ┆ FI RTN 1 END IYSEL IYSHARE PROCEDURE ENTRY PLZVAR PLZIN CH1_NO PLZOUT STAT1 ENT 0 GETBYTE A,CH1_NO IF A C ┆
0x11c38…11cc0 (16, 0, 23) UnusedSector ┆ END REJMES ;ECHO *P 42 ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ;PROCEDURE NAME: BUF_HD i ┆
0x11cc0…11d48 (16, 0, 24) UnusedSector ┆ IF A CASE 1 THEN LD (STIME1),HL CASE 2 THEN LD (STIME2),HL CASE 3 THEN LD (STIME3),HL CASE 4 THEN LD (STIME z┆
0x11d48…11dd0 (16, 0, 25) UnusedSector ┆ * ;* INVOCATION: BUF_PTR := REJMES (P) ;* ;* INPUTS: P :POINTER TO PARAM_TABLE ;* ;* OUTPUTS: BUF_PTR: PO P┆
0x11dd0…11e58 (16, 0, 26) UnusedSector ┆ * ;* PROCEDURE NAME: TESTRX * ;* * ;* FUNKTION : TEST IF SIO IS RECEIVING DATA * ;* * ;* RE K┆
0x11e58…11ee0 (16, 0, 27) UnusedSector ┆ ASE 1 THEN LD A,(CHA1+0DH) CASE 2 THEN LD A,(CHA2+0DH) CASE 3 THEN LD A,(CHA3+0DH) CASE 4 THEN LD A,(CHA4+0DH) Dm┆
0x11ee0…11f68 (16, 0, 28) UnusedSector ┆ ; ;FUNCTION: INSERTS BYTE_COUNT, STATUS, AND DATA_START_ADDRESS IN ; BUFFER_HEAD ; ;INPUT: HL: BUFFER_POINTER ; ┆
0x11f68…11ff0 (16, 0, 29) UnusedSector ┆ 4),HL FI EI RTN 1 END TIMRES TIMPRE PROCEDURE ENTRY PLZVAR PLZIN CHNO,VALUE ENT 0 DI GETWORD H L,VALUE GE f ┆
0x11ff0…12078 (16, 0, 30) UnusedSector ┆ INTER TO BUFFER ;* ;************************************************************************** REJMES PROCEDURE ENTRY PLZ # ┆
0x12078…12100 (16, 0, 31) UnusedSector ┆ SET RXFLAG * ;* * ;* INPUTS : CH_NO NUMBER OF CHANNEL * ;* * ;* OUTPUTS : REC_STATUS : S @ ┆
0x12100…12188 (17, 0, 0) UnusedSector ┆ LD (IY+06),B ; TEXT[6] := TAD2 LD DE,04 ; TEXT[11] := DATA[11] ADD HL,DE LD A,(HL) LD (IY+11),A INC HL ; TEXT[12] := <┆
0x12188…12210 (17, 0, 1) UnusedSector ┆ ** ;* PROCEDURE NAME: BLOCK2 ;* ;* FUNCTION: PUTS CORRECT HEAD IN FRONT OF DATA FROM LHR ;* TOGGLE SEQU ~ ┆
0x12210…12298 (17, 0, 2) UnusedSector ┆ LL BUF_HD ; UPDATE BUFFER_HEAD RTN 3 END BLOCK2 ;ECHO ;*************************************************************** j┆
0x12298…12320 (17, 0, 3) UnusedSector ┆ D2 LD (HL),B INC HL ; DATA[7] := FSL LD (HL),FSL INC HL ; DATA[08] := SOH LD (HL),SOH INC HL ; DATA[09] := AD1 LD ( \ ┆
0x12320…123a8 (17, 0, 4) UnusedSector ┆ THEN ; IF P^.B[XM] = 30H THEN LD A,31H ; P^.B[XM] := 31H ELSE ; ELSE LD A,30H ; P^.B[XM] := 30H FI ; FI LD (HL) ┆
0x123a8…12430 (17, 0, 5) UnusedSector ┆ EOM <> %FF : INTERMEDIATE BLOCK (ETB) ;* P :POINTER TO PARAM_TABLE ;* ;* OUTPUTS: NONE ;* ;** 5 ┆
0x12430…124b8 (17, 0, 6) UnusedSector ┆ ENCE NUMBER ;* IF EOM = TRUE ;* TERMINATE BUFFER WITH ETX ;* ELSE ;* ┆
0x124b8…12540 (17, 0, 7) UnusedSector ┆ *********** ;* PROCEDURE NAME: TERMID ;* ;* FUNCTION: MOVES TERMINAL ADDRESS, APPLICATION CODE AND LOGICAL ;* 7/┆
0x12540…125c8 (17, 0, 8) UnusedSector ┆ HL),C INC HL ; DATA[10] := AD2 LD (HL),B INC HL ; DATA[11] := SEQUENCE NO LD (HL),A INC HL ; DATA[12] := STX LD b┆
0x125c8…12650 (17, 0, 9) UnusedSector ┆ ,A GETWORD H L, BUF3_PTR LD DE,0AH ADD HL,DE LD (HL),SOH ; DATA[0] := SOH INC HL ; DATA[1] := TAD1 LD (HL),C INC HL ┆
0x12650…126d8 (17, 0, 10) UnusedSector ┆ ************************************************************************ BLOCK1 PROCEDURE ENTRY PLZVAR PLZIN BUF2_PTR,EO J ┆
0x126d8…12760 (17, 0, 11) UnusedSector ┆ TERMINATE BUFFER WITH ETB ;* ;* INVOCATION: BLOCK2 (BUF_PTR,EOM,P) ;* ;* INPUTS: BUF_PTR: POINTER T 1┆
0x12760…127e8 (17, 0, 12) UnusedSector ┆ TERMINAL IDENTITY FROM THE TEXT BUFFER TO TEXT_ARRAY ;* ;* INVOCATION: TERMID (BUF_PTR) ;* ;* INPUTS: BUF_P ┆
0x127e8…12870 (17, 0, 13) UnusedSector ┆ (HL),STX GETWORD H L, BUF2_PTR ; IF EOM = TRUE THEN PUSH HL PUSH HL INC HL ; DATA[LAST] := ETX INC HL LD E,(HL) ; ELS # ┆
0x12870…128f8 (17, 0, 14) UnusedSector ┆ ; DAT[2] := TAD2 LD (HL),B INC HL ; DATA[3] := P^.B[XM] LD (HL),A INC HL ; DATA[4] := STX LD (HL),STX GETWORD H L, BUF ┆
0x128f8…12980 (17, 0, 15) UnusedSector ┆ M,P ENT 0 GETWORD H L, BUF2_PTR PUSH HL LD BC,11H ADD HL,BC LD B,(HL) INC HL LD C,(HL) INC HL LD A,(HL) ;GET SEQUENC ~┆
0x12980…12a08 (17, 0, 16) UnusedSector ┆ O DATA BUFFER FROM LHR ;* EOM: END OF MESSAGE FLAG ;* EOM = %FF : LAST BLOCK (ETX) ;* j┆
0x12a08…12a90 (17, 0, 17) UnusedSector ┆ TR: POINTER TO BUFFER ;* ;* OUTPUTS: NONE ;* ;************************************************************************** ┆
0x12a90…12b18 (17, 0, 18) UnusedSector ┆ E INC HL LD D,(HL) ; DATA[LAST] := ETB POP HL ADD HL,DE PUSH HL POP IY GETBYTE A, EOM CP TRUE IF Z THEN LD C,ETX E qR┆
0x12b18…12ba0 (17, 0, 19) UnusedSector ┆ 3_PTR PUSH HL PUSH HL INC HL ; IF EOM1 = TRUE THEN INC HL ; DATA[LAST] := ETX LD E,(HL) ; ELSE INC HL ; DATA[LAST] ┆
0x12ba0…12c28 (17, 0, 20) UnusedSector ┆ E NUMBER ADD A,30H GETWORD H L, P ; P^.B[TAD1] := DATA[TAD1] LD DE,TAD1 ADD HL,DE LD (HL),C INC HL ; P^.B[TAD2] := ┆
0x12c28…12cb0 (17, 0, 21) UnusedSector ┆ EOM <> %FF: INTERMEDIATE BLOCK (ETB) ;* P: POINTER TO PARAM_TABLE ;* ;* OUTPUTS: NONE ;* ┆
0x12cb0…12d38 (17, 0, 22) UnusedSector ┆ TERMID PROCEDURE ENTRY PLZVAR PLZIN BUF4_PTR ENT 0 GETWORD H L, BUF4_PTR LD DE,13H ADD HL,DE LD C,(HL) INC HL LD @]┆
0x12d38…12dc0 (17, 0, 23) UnusedSector ┆ LSE LD C,ETB FI LD (IY+0FH),C INC DE INC DE POP HL LD BC,OK ; STATUS = OK LD A,04H ; DATA_OFFSET = 04H CALL BUF_HD ┆
0x12dc0…12e48 (17, 0, 24) UnusedSector ┆ := ETB LD D,(HL) ; FI POP HL ADD HL,DE PUSH HL POP IY GETBYTE A, EOM1 CP TRUE IF Z THEN LD A,ETX ELSE LD A,ETB ┆
0x12e48…12ed0 (17, 0, 25) UnusedSector ┆ DATA[TAD2] LD (HL),B INC HL ; P^.B[XM] := 31H INC HL LD (HL),31H INC HL ; P^.B[BLOCK_STATUS] := NO_ERROR LD (HL),NO_ER J ┆
0x12ed0…12f58 (17, 0, 26) UnusedSector ┆ ;************************************************************************** BLOCK2 PROCEDURE ENTRY PLZVAR PLZIN BUF3_PT ┆
0x12f58…12fe0 (17, 0, 27) UnusedSector ┆ B,(HL) LD IY,TEXT_ARRAY ; TEXT[1] := TAD1 LD (IY+01),C LD (IY+02),B ; TEXT[2] := TAD2 LD (IY+05),C ; TEXT[5] := TAD1 ┆
0x12fe0…13068 (17, 0, 28) UnusedSector ┆ ; UPDATE BUFFER_HEAD RTN 3 END BLOCK1 ;ECHO ;************************************************************************ t ┆
0x13068…130f0 (17, 0, 29) UnusedSector ┆ FI LD (IY+0FH),A LD HL,06 ADD HL,DE LD D,H LD E,L POP HL LD BC,OK ; STATUS := OK LD A,00H ; DATA_OFFSET := 00H CA ┆
0x130f0…13178 (17, 0, 30) UnusedSector ┆ ROR POP HL ; DATA[4] := EOT LD DE,0EH ADD HL,DE LD (HL),EOT INC HL ; DATA[5] := AD1 LD (HL),C INC HL ; DATA[6] := A L┆
0x13178…13200 (17, 0, 31) UnusedSector ┆ R,EOM1,P1 ENT 0 GETWORD H L, P1 LD DE,TAD1 ADD HL,DE LD C,(HL) INC HL LD B,(HL) INC HL INC HL LD A,(HL) CP 30H IF Z CX┆
0x13200…13288 (18, 0, 0) UnusedSector ┆ POINTER TO BUFFER ;* EOM: END OF MESSAGE FLAG ;* EOM = %FF : LAST BLOCK (ETX) ;* G┆
0x13288…13310 (18, 0, 1) UnusedSector ┆ TS: BUF_PTR: POINTER TO BUFFER ;* LINE_NO: ACTUAL LINE NUMBER ;* ;* OUTPUTS: NONE ;* ;******* ┆
0x13310…13398 (18, 0, 2) UnusedSector ┆ 0 INC HL LD (HL),CON POP HL LD DE,4 LD BC,OK LD A,DATA_OFFSET CALL BUF_HD RTN 1 END CONBUF ;ECHO EXTERNA ┆
0x13398…13420 (18, 0, 3) UnusedSector ┆ F_PTR,DLC) ;* ;* INPUTS: BUF_PTR: POINTER TO BUFFER ;* DLC: DATA LINK CHARACTER ;* ;* OUTPUTS: ┆
0x13420…134a8 (18, 0, 4) UnusedSector ┆ EOT_INDICATION LD A,0 ; DATA_OFFSET := 0 CALL BUF_HD ; UPDATE BUFFER_HEAD RTN 2 END INDATA ;ECHO GLOBAL ;******** 5┆
0x134a8…13530 (18, 0, 5) UnusedSector ┆ OCEDURE ENTRY PLZVAR PLZIN BUF_PTR,CAD1,CAD2 ENT 0 GETWORD H L, BUF_PTR PUSH HL LD DE,0AH ADD HL,DE LD (HL),EOT ; Z┆
0x13530…135b8 (18, 0, 6) UnusedSector ┆ ******************************************************************* INDATA PROCEDURE ENTRY PLZVAR PLZIN BUF1_PTR,LINE_NO 1┆
0x135b8…13640 (18, 0, 7) UnusedSector ┆ L GETBUF INTERNAL TEXT_ARRAY ARRAY [20 BYTE] := [04 0 0 73H 01 0 0 0 02 30H 49H 0 0 0 0 0 0 0 0 03] GLOBAL ;********* p┆
0x13640…136c8 (18, 0, 8) UnusedSector ┆ NONE ;* ;************************************************************************** DLCBUF PROCEDURE ENTRY PLZVAR PLZIN Z┆
0x136c8…13750 (18, 0, 9) UnusedSector ┆ ***************************************************************** ;* PROCEDURE NAME : CONBUF ;* ;* FUNCTION : PUTS THE FOLLOWIN / ┆
0x13750…137d8 (18, 0, 10) UnusedSector ┆ DATA[0] := EOT INC HL GETBYTE A, CAD1 LD (HL),A ; DATA[1] := CAD1 GETBYTE A, CAD2 INC HL LD (HL),A ; DATA[2] := CAD2 }┆
0x137d8…13860 (18, 0, 11) UnusedSector ┆ ENT 0 GETWORD H L, BUF1_PTR PUSH HL LD DE,0AH ADD HL,DE LD (HL),LNDIPT ; DATA[0] := OPCODE GETBYTE A, LINE_NO INC HL ┆
0x13860…138e8 (18, 0, 12) UnusedSector ┆ ***************************************************************** ;* PROCEDURE NAME: BLOCK1 ;* ;* FUNCTION: PUTS THE COR v ┆
0x138e8…13970 (18, 0, 13) UnusedSector ┆ BUFF_PTR,DLC ENT 0 GETWORD H L,BUFF_PTR PUSH HL LD DE,0AH ADD HL,DE GETBYTE A ,DLC LD (HL),A ; DATA[0] := DLC POP HL " ┆
0x13970…139f8 (18, 0, 14) UnusedSector ┆ G COMMAND SEQUENCE IN THE BUFFER ;* EOT,NUL,NUL,CON ;* UPDATES BUFFERHEAD INFORMATION CONCERNING BYTE- ;* COUNT,DATA ┆
0x139f8…13a80 (18, 0, 15) UnusedSector ┆ INC HL LD (HL),POL ; DATA[3] := POL INC HL LD (HL),ENQ ; DATA[4] := ENQ POP HL LD DE,05 ; BYTE_COUNT := 05 LD BC,OK v ┆
0x13a80…13b08 (18, 0, 16) UnusedSector ┆ LD (HL),A ; DATA[1] := LINE_NO INC HL GETWORD B C, BUF1_PTR ; DATA[2] := DATA[10] PUSH BC POP IY LD A,(IY+20) LD (HL),A r ┆
0x13b08…13b90 (18, 0, 17) UnusedSector ┆ RECT START SEQUENCE IN TEXT BUFFER FROM LHR ;* STORES TERMINAL ADDRESS IN PARAM_TABLE ;* RESET fT┆
0x13b90…13c18 (18, 0, 18) UnusedSector ┆ LD DE,01 ; BYTE_COUNT := 01 LD BC,OK ; STATUS := OK LD A,DATA_OFFSET ; DATA_OFFSET := 0 CALL BUF_HD ; UPDATE BUFFER_H 3 ┆
0x13c18…13ca0 (18, 0, 19) UnusedSector ┆ START-ADDRESS AND STATUS ;* ;* INVOCATION : CONBUF (BUF_PTR) ;* ;* INPUTS : BUF_PTR : POINTER TO EMPTY BUFFER ;* ;* OUTPUTS : ┆
0x13ca0…13d28 (18, 0, 20) UnusedSector ┆ ; STATUS := OK LD A,DATA_OFFSET ; DATA_OFFSET := 0 CALL BUF_HD ; UPDATE BUFFER_HEAD RTN 3 END POLBUF ;ECHO ;******* ┆
0x13d28…13db0 (18, 0, 21) UnusedSector ┆ LD A,(IY+19) ; DATA[3] := DATA[9] INC HL LD (HL),A LD A,08 ; I := 4 DO ; DO INC HL ; DATA[I] := 0 LD (HL),0 ; +┆
0x13db0…13e38 (18, 0, 22) UnusedSector ┆ S SEQUENCE NUMBER ;* IF EOM = TRUE ;* TERMINATES BUFFER WITH ETX ;* ELSE ; ;;┆
0x13e38…13ec0 (18, 0, 23) UnusedSector ┆ EAD RTN 2 END DLCBUF ;ECHO ;************************************************************************** ;* PROCEDURE NAME ┆
0x13ec0…13f48 (18, 0, 24) UnusedSector ┆ NONE ;************************************************************************* CONBUF PROCEDURE ENTRY PLZVAR PLZIN B O┆
0x13f48…13fd0 (18, 0, 25) UnusedSector ┆ ******************************************************************* ;* PROCEDURE NAME: DLCBUF ;* ;* FUNCTION: FORMATS OU E ┆
0x13fd0…14058 (18, 0, 26) UnusedSector ┆ I += 1 DEC A ; IF I=12 THEN EXIT FI IF Z THEN EXIT FI OD ; OD POP HL INC HL INC HL ; BYTE_COUNT += 7 LD C,(HL) I ┆
0x14058…140e0 (18, 0, 27) UnusedSector ┆ * TERMINATES BUFFER WITH ETB ;* ;* INVOCATION: BLOCK1 (BUF_PTR,EOM,P) ;* ;* INPUTS: BUF_PTR: ┆
0x140e0…14168 (18, 0, 28) UnusedSector ┆ : INDATA ;* ;* FUNCTION: REFORMATS DATA BUFFER TO CR80 FORMAT ;* ;* INVOCATION: INDATA (BUF_PTR,LINE_NO) ;* ;* INPU D┆
0x14168…141f0 (18, 0, 29) UnusedSector ┆ UFX_PTR ENT 0 GETWORD H L, BUFX_PTR PUSH HL LD DE,10 ADD HL,DE LD (HL),EOT INC HL LD (HL),0 INC HL LD (HL), f ┆
0x141f0…14278 (18, 0, 30) UnusedSector ┆ TPUT READY DATA LINK CHARACTER BUFFER ;* UPDATES BUFFERHEAD BY CALLING BUF_HD ;* ;* INVOCATION: DLCBUF (BU $5┆
0x14278…14300 (18, 0, 31) UnusedSector ┆ NC HL LD B,(HL) PUSH BC POP HL LD DE,07 ADD HL,DE PUSH HL POP DE GETWORD H L, BUF1_PTR LD BC,EOT_INDICATION ; STATUS := Q ┆
0x14300…14388 (19, 0, 0) UnusedSector ┆ BUF ;* ;* FUNCTION: PUTS THE FOLLOWING COMMAND SEQUENCE IN THE BUFFER ;* EOT,CAD1,CAD2,POL,ENQ ;* &u┆
0x14388…14410 (19, 0, 1) DataSector
0x14410…14498 (19, 0, 2) UnusedSector ┆ ADDRESS ;* ;* OUTPUTS: NONE ;* ;************************************************************************** POLBUF PR ┆
0x14498…14520 (19, 0, 3) DataSector
[…0x2…]
0x14630…146b8 (19, 0, 6) Descriptor {
0x14630…146b8 am = CHS(19, 0, 6, #4) // 0x14630 @0x0
0x14630…146b8 rsv0 = 00000000 // 0x14632 @0x2
0x14630…146b8 file_id = 0000 // 0x14636 @0x6
0x14630…146b8 dirsect = (22, 0, 25) // 0x14638 @0x8
0x14630…146b8 firstsect = (19, 0, 9) // 0x1463a @0xa
0x14630…146b8 lastsect = (43, 0, 8) // 0x1463c @0xc
0x14630…146b8 type = 0x20 // 0x1463e @0xe
0x14630…146b8 reccnt = 0x0013 // 0x1463f @0xf
0x14630…146b8 reclen = 0x0080 // 0x14641 @0x11
0x14630…146b8 blklen = 0x0080 // 0x14643 @0x13
0x14630…146b8 prop = 0x00 // 0x14645 @0x15
0x14630…146b8 adr = 0x0000 // 0x14646 @0x16
0x14630…146b8 lastbytes = 0x0007 // 0x14648 @0x18
0x14630…146b8 created = »791101 « // 0x1464a @0x1a
0x14630…146b8 modified = »791101 « // 0x14652 @0x22
0x14630…146b8 avail = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // 0x1465a @0x2a
0x14630…146b8 prev = (22, 0, 25) // 0x146b2 @0x82
0x14630…146b8 next = (19, 0, 9) // 0x146b4 @0x84
0x14630…146b8 crc = a5e1 // 0x146b6 @0x86
0x14630…146b8 }
0x146b8…14740 (19, 0, 7) UnusedSector ┆ Y & 810810 791101 l ┆
0x14740…147c8 (19, 0, 8) DataSector
[…0x3…]
0x14960…149e8 (19, 0, 12) UnusedSector ┆ *P 42 *INCLUDE PLZ.MACROS BUFFER_GENERATOR MODULE CONSTANT DATA_OFFSET := 0 EOT := 4 LNDIPT := 51H POL "┆
0x149e8…14a70 (19, 0, 13) DataSector
[…0x3…]
0x14c08…14c90 (19, 0, 17) UnusedSector ┆ := 70H ENQ := 5 FSL := 73H SOH := 01 STX := 02 ETX := 03 ET c┆
0x14c90…14d18 (19, 0, 18) DataSector
[…0x3…]
0x14eb0…14f38 (19, 0, 22) UnusedSector ┆ B := 17H NO_ERROR := 0 TAD1 := 12 OK := 0 EOT_INDICATION := 4000H TRUE := 0FFH ┆
0x14f38…14fc0 (19, 0, 23) DataSector
0x14fc0…15048 (19, 0, 24) UnusedSector ┆ UPDATES BUFFERHEAD BY CALLING BUF_HD ;* ;* INVOCATION: POLBUF (BUF_PTR,CAD1,CAD2) ;* ;* INPUTS: BUF !┆
0x15048…150d0 (19, 0, 25) DataSector
[…0x1…]
0x15158…151e0 (19, 0, 27) UnusedSector ┆ CON := 7 ;ECHO GLOBAL ;************************************************************************** ;* PROCEDURE NAME: POL =┆
0x151e0…15268 (19, 0, 28) DataSector
0x15268…152f0 (19, 0, 29) UnusedSector ┆ _PTR: POINTER TO BUFFER ;* CAD1: FIRST BYTE OF CLUSTER ADDRESS ;* CAD2: SECOND BYTE OF CLUSTER G┆
0x152f0…15378 (19, 0, 30) DataSector
[…0x2…]
0x15488…15510 (20, 0, 1) UnusedSector ┆ S UNDEFINED * CH_STATUS = 5 : MODEM NOT IN TRANSMIT MODE * RETRANS_BUF D ┆
0x15510…15598 (20, 0, 2) DataSector
0x15598…15620 (20, 0, 3) UnusedSector ┆ FROM LINE, TYPE: REC_PTR * RETRANS_BUF_PTR: POINTER TO OUTPUT BUFFER, TYPE: REC_PTR * CH_S ┆
0x15620…156a8 (20, 0, 4) UnusedSector ┆ _NO]) IF RETRANS_BUF_PTR <> NIL THEN ! TERMINATE DRIVER ! IYSEL (P^.B[CH_NO]) HUNT RXTERM INPUT_BUF_PTR,C ┆
0x156a8…15730 (20, 0, 5) UnusedSector ┆ ******************************************************** * PROCEDURE NAME: CHANNEL_IO * * FUNCTION: SENDS A BUFFER_POI .┆
0x15730…157b8 (20, 0, 6) UnusedSector ┆ _PTR IS UNDEFINED * INPUT_BUF_PTR IS UNDEFINED * OUTPU 7 ┆
0x157b8…15840 (20, 0, 7) Descriptor {
0x157b8…15840 am = CHS(20, 0, 7, #4) // 0x157b8 @0x0
0x157b8…15840 rsv0 = 00000000 // 0x157ba @0x2
0x157b8…15840 file_id = 0000 // 0x157be @0x6
0x157b8…15840 dirsect = (22, 0, 5) // 0x157c0 @0x8
0x157b8…15840 firstsect = (20, 0, 12) // 0x157c2 @0xa
0x157b8…15840 lastsect = (10, 0, 23) // 0x157c4 @0xc
0x157b8…15840 type = 0x20 // 0x157c6 @0xe
0x157b8…15840 reccnt = 0x0011 // 0x157c7 @0xf
0x157b8…15840 reclen = 0x0080 // 0x157c9 @0x11
0x157b8…15840 blklen = 0x0080 // 0x157cb @0x13
0x157b8…15840 prop = 0x00 // 0x157cd @0x15
0x157b8…15840 adr = 0x0000 // 0x157ce @0x16
0x157b8…15840 lastbytes = 0x000c // 0x157d0 @0x18
0x157b8…15840 created = »820224 « // 0x157d2 @0x1a
0x157b8…15840 modified = »791101 « // 0x157da @0x22
0x157b8…15840 avail = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // 0x157e2 @0x2a
0x157b8…15840 prev = (22, 0, 5) // 0x1583a @0x82
0x157b8…15840 next = (20, 0, 12) // 0x1583c @0x84
0x157b8…15840 crc = f7a1 // 0x1583e @0x86
0x157b8…15840 }
0x15840…158c8 (20, 0, 8) UnusedSector ┆ TATUS: STATUS OF I/O OPERATION, TYPE: BYTE * CH_STATUS = 0 : SUCCESFULL I/O OPERATION * ┆
0x158c8…15950 (20, 0, 9) UnusedSector ┆ H_STATUS := CH_RX (P,DELAY) ELSE ! TERMINATE TRANSMITTER PROCESS ! IYSEL (P^.B[CH_NO]) O┆
0x15950…159d8 (20, 0, 10) UnusedSector ┆ NTER TO THE SIO DRIVER OUTPUT QUEU * (OUTPUT TO THE LINE) AND WAITS A SPECIFIED TIME (TO * B ┆
0x159d8…15a60 (20, 0, 11) UnusedSector ┆ T_BUF_PTR IS MOVED TO EMPTY QUEU * * * EXTERNAL EFFECT: # * * ***************************************************************** E ┆
0x15a60…15ae8 (20, 0, 12) DataSector
0x15ae8…15b70 (20, 0, 13) UnusedSector ┆ INPUT_BUF_PTR POINTS TO INPUT BUFFER * OUTPUT_BUF_PTR MOVED TO RETRANS_BU ┆
0x15b70…15bf8 (20, 0, 14) UnusedSector ┆ TXTERM LINEDO (P^.B[CH_NO]) CH_STATUS := TRANS_NOT_COMPLETED FI ELSE PUTBUF (P, 1 ┆
0x15bf8…15c80 (20, 0, 15) UnusedSector ┆ E SPECIFIED AT COMPILE TIME) FOR A BUFFER_POINTER * FROM THE SIO DRIVER INPUT QUEU (INPUT FROM LINE) * * INVO k]┆
0x15c80…15d08 (20, 0, 16) UnusedSector ┆ *****! CHANNEL_IO PROCEDURE (OUTPUT_BUF_PTR REC_PTR,P DATA_PTR,DELAY WORD) RETURNS (INPUT_BUF_PTR,RETRANS ┆
0x15d08…15d90 (20, 0, 17) DataSector
0x15d90…15e18 (20, 0, 18) UnusedSector ┆ F_PTR * CH_STATUS = 1 : NO DATA FROM SIO DRIVER * INPUT_BUF_PTR = NIL Q┆
0x15e18…15ea0 (20, 0, 19) UnusedSector ┆ OUTPUT_BUF_PTR) CH_STATUS := XMIT_MODE_ERROR FI ELSE IYSEL (P^.B[CH_NO]) HUNT EIINT DELAY := DEL ┆
0x15ea0…15f28 (20, 0, 20) UnusedSector ┆ CATION: INPUT_BUF_PTR,RETRANS_BUF_PTR,CH_STATUS := * CHANNEL_IO (OUTPUT_BUF_PTR,P,DELAY) * * INPUTS: X┆
0x15f28…15fb0 (20, 0, 21) UnusedSector ┆ _BUF_PTR REC_PTR,CH_STATUS BYTE) LOCAL ENTRY IF DELAY AND %8000 <> %8000 THEN IF TRANSM (P^.B[CH_NO]) = v0┆
0x15fb0…16038 (20, 0, 22) DataSector
0x16038…160c0 (20, 0, 23) UnusedSector ┆ * RETRANS_BUF_PTR MOVED TO EMPTY QUEU * CH_STATUS = 2 : TRANSMISSION N d\┆
0x160c0…16148 (20, 0, 24) UnusedSector ┆ AY AND %7FFF INPUT_BUF_PTR,CH_STATUS := CH_RX (P,DELAY) RETRANS_BUF_PTR := OUTPUT_BUF_PTR FI END CHANNEL_IO END C O ┆
0x16148…161d0 (20, 0, 25) UnusedSector ┆ OUTPUT_BUF_PTR: POINTER TO OUTPUT READY BUFFER, TYPE:REC_PTR * P : POINTER TO PARAMETER TABLE, TYPE : ┆
0x161d0…16258 (20, 0, 26) UnusedSector ┆ TRANSMIT_MODE THEN ! SEND BUFFER POINTER TO SIO DRIVER QUEU ! PUTMES (P^.B[SIO_INPUT_QUEU],OUTPUT_BUF_PTR) ┆
0x16258…162e0 (20, 0, 27) DataSector
0x162e0…16368 (20, 0, 28) UnusedSector ┆ OT COMPLETED * RETRANS_BUF_PTR = NIL * INPUT_BUF_PTR I ┆
0x16368…163f0 (20, 0, 29) UnusedSector ┆ HANNEL_INPUT_OUTPUT ! ECHO ! ┆
0x163f0…16478 (20, 0, 30) UnusedSector ┆ DATA_PTR * DELAY : TIME_OUT_VALUE , TYPE : BYTE * * OUTPUTS: INPUT_BUF_PTR: POINTER TO BUFFER * ┆
0x16478…16500 (20, 0, 31) UnusedSector ┆ ! WAIT FOR TRANSMISSION COMPLETED MESSAGE ! RETRANS_BUF_PTR := REC (P^.B[RETRANS_QUEU],MAKS_DELAY,P^.B[CH ┆
0x16500…16588 (21, 0, 0) UnusedSector ┆ TERM_DRIVER (P,DELAY) * * INPUTS: * P : POINTER TO PARAMETER TABLE, TYPE : DATA_PTR * ┆
0x16588…16610 (21, 0, 1) UnusedSector ┆ NS (INPUT_BUF_PTR REC_PTR,CH_STATUS BYTE) ENTRY ! SET MODEM IN RECEIVE MODE ! RECEIV (P^.B[CH G ┆
0x16610…16698 (21, 0, 2) UnusedSector ┆ DELAY WORD,CH_NO BYTE) RETURNS (BUF_PTR REC_PTR) PUTBUF PROCEDURE (P DATA_PTR,BUF_PTR REC_PTR) LINEDO PROCEDURE (CH_NO BYT 9┆
0x16698…16720 (21, 0, 3) UnusedSector ┆ FI EXIT FI FI OD ELSE CH_STATUS := OK FI END CH_RX !ECHO ! !*************** W┆
0x16720…167a8 (21, 0, 4) UnusedSector ┆ _TABLE CONSTANT FALSE := 0 TRANS_NOT_COMPLETED := 2 XMIT_MODE_ERROR := 5 TRANSMIT_MODE := 2 SI F1┆
0x167a8…16830 (21, 0, 5) UnusedSector ┆ 8 791101 791101 ┆
0x16830…168b8 (21, 0, 6) UnusedSector ┆ !********************************************************************* * FILE NAME: CH.IO.S * LAST MODIFIED: ┆
0x168b8…16940 (21, 0, 7) UnusedSector ┆ E) RXTERM PROCEDURE RXSTOP PROCEDURE RECEIV PROCEDURE (CH_NO BYTE) TESTRX PROCEDURE RETURNS (RC_STATUS BYTE) EIIN ┆
0x16940…169c8 (21, 0, 8) UnusedSector ┆ DELAY : TIME_OUT_VALUE , TYPE : WORD * * OUTPUTS: INPUT_BUF_PTR: POINTER TO BUFFER FROM LINE, TY = ┆
0x169c8…16a50 (21, 0, 9) UnusedSector ┆ O_TIME_OUT := 1 OK := 0 BUSY := %0F NOT_BUSY := %00 NULL_DELAY := 0 ┆
0x16a50…16ad8 (21, 0, 10) UnusedSector ┆ _NO]) ! WAIT FOR BUFFER POINTER FROM SIO DRIVER ! INPUT_BUF_PTR := REC (P^.B[SIO_OUTPUT_QUEU],DELA e┆
0x16ad8…16b60 (21, 0, 11) UnusedSector ┆ 821129 CREATED: 801022 * PROGRAMMER: POUL SKALLERUP ****************************************************** ┆
0x16b60…16be8 (21, 0, 12) UnusedSector ┆ T PROCEDURE REST PROCEDURE !ECHO ! GLOBAL !*********************************************************************** * PR iF┆
0x16be8…16c70 (21, 0, 13) UnusedSector ┆ PE: REC_PTR * CH_STATUS: STATUS OF I/O OPERATION, TYPE: BYTE * CH_STATUS = 0 : SUCCESFULL %`┆
0x16c70…16cf8 (21, 0, 14) UnusedSector ┆ MIN_DELAY := 0004 ! 4 UNITS OF 12,5 MSEK = 50 MSEK ! MAKS_DELAY := 320 ! 320 UNITS OF 12,5 MS = 4 SEK ! n ┆
0x16cf8…16d80 (21, 0, 15) UnusedSector ┆ Y,P^.B[CH_NO]) IF INPUT_BUF_PTR = NIL THEN DO INPUT_BUF_PTR := REC (P^.B[SIO_OUTPUT_QUEU],MIN_DELAY,P^.B[CH_N .┆
0x16d80…16e08 (21, 0, 16) UnusedSector ┆ ***************! CHANNEL_INPUT_OUTPUT MODULE TYPE BUFFER RECORD [BUFF_HEAD ARRAY[4 WORD] STAADR ^BYTE ┆
0x16e08…16e90 (21, 0, 17) UnusedSector ┆ OCEDURE NAME: TERMINATE_DRIVER * * FUNCTION: SENDS A BUFFER_POINTER TO THE SIO DRIVER OUTPUT QUEU * ┆
0x16e90…16f18 (21, 0, 18) UnusedSector ┆ I/O OPERATION * INPUT_BUF_PTR POINTS TO INPUT BUFFER * CH_STATUS = 1 ┆
0x16f18…16fa0 (21, 0, 19) UnusedSector ┆ ! CONSTANTS REFERRING TO OFFSET IN PARAM_TABLE ! SIO_OUTPUT_QUEU := 1 SIO_INPUT_QUEU := 2 RETRANS_QUEU ┆
0x16fa0…17028 (21, 0, 20) UnusedSector ┆ O]) IF INPUT_BUF_PTR <> NIL THEN CH_STATUS := OK EXIT ELSE IYSEL (P^.B[CH_NO]) IF TESTRX <> BUSY THE V ┆
0x17028…170b0 (21, 0, 21) UnusedSector ┆ DATA ARRAY[504 BYTE]] REC_PTR ^BUFFER CONFIG_TABLE ARRAY [10,4 BYTE] CONFIG_TAB_PTR ^CONFIG_TABLE CONF_TABLE AR ┆
0x170b0…17138 (21, 0, 22) UnusedSector ┆ (OUTPUT TO THE LINE) AND WAITS A SPECIFIED TIME (TO * BE SPECIFIED AT COMPILE TIME) FOR A BUFFER_POINTER * ) ┆
0x17138…171c0 (21, 0, 23) UnusedSector ┆ : NO DATA FROM SIO DRIVER * INPUT_BUF_PTR = NIL * * * EXTERNAL EFFECT: # * * ************* 4┆
0x171c0…17248 (21, 0, 24) UnusedSector ┆ := 3 CH_NO := 6 EXTERNAL IYSEL PROCEDURE (CH_NO BYTE) TXTERM PROCEDURE HUNT PROCEDURE TRANSM 7H┆
0x17248…172d0 (21, 0, 25) UnusedSector ┆ N REST INPUT_BUF_PTR := REC (P^.B[SIO_OUTPUT_QUEU],NULL_DELAY,P^.B[CH_NO]) IF INPUT_BUF_PTR <> NIL THEN c9┆
0x172d0…17358 (21, 0, 26) UnusedSector ┆ RAY [10,1 BYTE] CONF_TAB_PTR ^CONF_TABLE QUEU_HEAD ARRAY [8 BYTE] QUEU_HEAD_PTR ^QUEU_HEAD PARAM_TABLE RECORD ┆
0x17358…173e0 (21, 0, 27) UnusedSector ┆ FROM THE SIO DRIVER INPUT QUEU (INPUT FROM LINE) * * INVOCATION: INPUT_BUF_PTR,CH_STATUS := * zM┆
0x173e0…17468 (21, 0, 28) UnusedSector ┆ *********************************************************! CH_RX PROCEDURE ( P DATA_PTR,DELAY WORD) RETUR !┆
0x17468…174f0 (21, 0, 29) UnusedSector ┆ PROCEDURE (CH_NO BYTE) RETURNS (STATUS BYTE) PUTMES PROCEDURE (QUEU_NO BYTE,BUF_PTR REC_PTR) REC PROCEDURE (QUEU_NO BYTE, Z┆
0x174f0…17578 (21, 0, 30) UnusedSector ┆ CH_STATUS := OK ELSE CH_STATUS := SIO_TIME_OUT IYSEL (P^.B[CH_NO]) RXSTOP RXTERM ┆
0x17578…17600 (21, 0, 31) UnusedSector ┆ [B ARRAY[20 BYTE] W QUEU_HEAD_PTR P CONFIG_TAB_PTR C CONF_TAB_PTR CL_MESS BYTE] DATA_PTR ^PARAM ┆
0x17600…17688 (22, 0, 0) Descriptor {
0x17600…17688 am = CHS(22, 0, 0, #4) // 0x17600 @0x0
0x17600…17688 rsv0 = 00000000 // 0x17602 @0x2
0x17600…17688 file_id = 0000 // 0x17606 @0x6
0x17600…17688 dirsect = (22, 0, 5) // 0x17608 @0x8
0x17600…17688 firstsect = (22, 0, 5) // 0x1760a @0xa
0x17600…17688 lastsect = (22, 0, 21) // 0x1760c @0xc
0x17600…17688 type = 0x40 // 0x1760e @0xe
0x17600…17688 reccnt = 0x000a // 0x1760f @0xf
0x17600…17688 reclen = 0x0080 // 0x17611 @0x11
0x17600…17688 blklen = 0x0080 // 0x17613 @0x13
0x17600…17688 prop = 0xf0 // 0x17615 @0x15
0x17600…17688 adr = 0x0000 // 0x17616 @0x16
0x17600…17688 lastbytes = 0x0080 // 0x17618 @0x18
0x17600…17688 created = »791101 « // 0x1761a @0x1a
0x17600…17688 modified = »791101 « // 0x17622 @0x22
0x17600…17688 avail = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // 0x1762a @0x2a
0x17600…17688 prev = (22, 0, 5) // 0x17682 @0x82
0x17600…17688 next = (22, 0, 5) // 0x17684 @0x84
0x17600…17688 crc = 0965 // 0x17686 @0x86
0x17600…17688 }
0x17688…17710 (22, 0, 1) DirSec {
0x17688…17710 am = CHS(22, 0, 1, #4) // 0x17688 @0x0
0x17688…17710 f01 = Vector { // 0x1768a @0x2
0x17688…17710 [0x0]: DirEnt {flag=0x0c, name=»CHX.PROC.OBJ«, where=(51, 0, 7)}
0x17688…17710 [0x1]: DirEnt {flag=0x08, name=»CREA.OBJ«, where=(52, 0, 0)}
0x17688…17710 [0x2]: DirEnt {flag=0x08, name=»TTIM.OBJ«, where=(4, 0, 3)}
0x17688…17710 [0x3]: DirEnt {flag=0x08, name=»TSIO.OBJ«, where=(3, 0, 0)}
0x17688…17710 [0x4]: DirEnt {flag=0x06, name=»TRAM.S«, where=(35, 0, 17)}
0x17688…17710 [0x5]: DirEnt {flag=0x06, name=»TDMA.S«, where=(37, 0, 22)}
0x17688…17710 [0x6]: DirEnt {flag=0x09, name=»TSIODMA.S«, where=(40, 0, 11)}
0x17688…17710 [0x7]: DirEnt {flag=0xff}
0x17688…17710 }
0x17688…17710 prev = (22, 0, 25) // 0x1770a @0x82
0x17688…17710 next = (22, 0, 6) // 0x1770c @0x84
0x17688…17710 crc = 4613 // 0x1770e @0x86
0x17688…17710 }
0x17710…17798 (22, 0, 2) UnusedSector ┆ DOWN JR Z,TIMEND ; SAVE NEW VALUE DEC (HL) ; LD A,(HL) ; INC A ; JR NZ,TIMEND ; INC HL ; DEC (HL) ; T ┆
0x17798…17820 (22, 0, 3) UnusedSector ┆ IMCHK LD HL,TIM2STA CALL TIMCHK LD HL,TIM3STA CALL TIMCHK LD HL,TIM4STA CALL TIMCHK RET TIMCHK LD A,1 CP (HL) ;IF TIM / ┆
0x17820…178a8 (22, 0, 4) UnusedSector ┆ IY+29H) ; GET RECEIVE QUEUE ADDRESS CALL SUBENQ ; ENQUE BUFFER IN RECEIVE QUEUE CALL RECRES ; RESET RECEIVE STATUS LD (I #; ┆
0x178a8…17930 (22, 0, 5) DirSec {
0x178a8…17930 am = CHS(22, 0, 5, #4) // 0x178a8 @0x0
0x178a8…17930 f01 = Vector { // 0x178aa @0x2
0x178a8…17930 [0x0]: DirEnt {flag=0x89, name=»DIRECTORY«, where=(22, 0, 0)}
0x178a8…17930 [0x1]: DirEnt {flag=0x08, name=»SYSALL.S«, where=(25, 0, 6)}
0x178a8…17930 [0x2]: DirEnt {flag=0x06, name=»INIT.S«, where=(27, 0, 6)}
0x178a8…17930 [0x3]: DirEnt {flag=0x06, name=»CREA.S«, where=(20, 0, 7)}
0x178a8…17930 [0x4]: DirEnt {flag=0xff}
0x178a8…17930 }
0x178a8…17930 prev = (22, 0, 0) // 0x1792a @0x82
0x178a8…17930 next = (22, 0, 10) // 0x1792c @0x84
0x178a8…17930 crc = a2e8 // 0x1792e @0x86
0x178a8…17930 }
0x17930…179b8 (22, 0, 6) DirSec {
0x17930…179b8 am = CHS(22, 0, 6, #4) // 0x17930 @0x0
0x17930…179b8 f01 = Vector { // 0x17932 @0x2
0x17930…179b8 [0x0]: DirEnt {flag=0x08, name=»INIT.OBJ«, where=(0, 0, 15)}
0x17930…179b8 [0x1]: DirEnt {flag=0x0a, name=»OPESYS.OBJ«, where=(62, 0, 6)}
0x17930…179b8 [0x2]: DirEnt {flag=0x0b, name=»CR80LTU.OBJ«, where=(61, 0, 6)}
0x17930…179b8 [0x3]: DirEnt {flag=0x08, name=»TRAM.OBJ«, where=(45, 0, 31)}
0x17930…179b8 [0x4]: DirEnt {flag=0x08, name=»TDMA.OBJ«, where=(45, 0, 9)}
0x17930…179b8 [0x5]: DirEnt {flag=0xff}
0x17930…179b8 }
0x17930…179b8 prev = (22, 0, 1) // 0x179b2 @0x82
0x17930…179b8 next = (22, 0, 11) // 0x179b4 @0x84
0x17930…179b8 crc = b5dc // 0x179b6 @0x86
0x17930…179b8 }
0x179b8…17a40 (22, 0, 7) UnusedSector ┆ LIA_STATUS MODULE CONSTANT LIASTA := 4001H PIO1 := 70H GLOBAL LIA_STATUS PROCEDURE ENTRY LD C,PIO1+2 LD HL,LIASTA [C┆
0x17a40…17ac8 (22, 0, 8) UnusedSector ┆ *P 42 *INCLUDE CONSTANT.S LTUCOUNTER EQU 4000H EXTERNAL LIA_STATUS EXTERNAL RCT1CH,RCT2CH,RCT3CH,RCT4CH EXTERNAL SUBENQ "┆
0x17ac8…17b50 (22, 0, 9) UnusedSector ┆ IMEND DEC C ; JR NZ,TIMNXT ; CALL LIA_STATUS ; SET LIA STATUS LD HL,LTUCOUNTER INC (HL) ; INCREMENT "ALIV -C┆
0x17b50…17bd8 (22, 0, 10) DirSec {
0x17b50…17bd8 am = CHS(22, 0, 10, #4) // 0x17b50 @0x0
0x17b50…17bd8 f01 = Vector { // 0x17b52 @0x2
0x17b50…17bd8 [0x0]: DirEnt {flag=0x08, name=»OPESYS.S«, where=(28, 0, 6)}
0x17b50…17bd8 [0x1]: DirEnt {flag=0x09, name=»CR80LTU.S«, where=(31, 0, 6)}
0x17b50…17bd8 [0x2]: DirEnt {flag=0x05, name=»OBT.S«, where=(26, 0, 8)}
0x17b50…17bd8 [0x3]: DirEnt {flag=0xff}
0x17b50…17bd8 }
0x17b50…17bd8 prev = (22, 0, 5) // 0x17bd2 @0x82
0x17b50…17bd8 next = (22, 0, 15) // 0x17bd4 @0x84
0x17b50…17bd8 crc = 97f4 // 0x17bd6 @0x86
0x17b50…17bd8 }
0x17bd8…17c60 (22, 0, 11) DirSec {
0x17bd8…17c60 am = CHS(22, 0, 11, #4) // 0x17bd8 @0x0
0x17bd8…17c60 f01 = Vector { // 0x17bda @0x2
0x17bd8…17c60 [0x0]: DirEnt {flag=0x0b, name=»TSIODMA.OBJ«, where=(49, 0, 6)}
0x17bd8…17c60 [0x1]: DirEnt {flag=0xff}
0x17bd8…17c60 }
0x17bd8…17c60 prev = (22, 0, 6) // 0x17c5a @0x82
0x17bd8…17c60 next = (22, 0, 16) // 0x17c5c @0x84
0x17bd8…17c60 crc = 2383 // 0x17c5e @0x86
0x17bd8…17c60 }
0x17c60…17ce8 (22, 0, 12) UnusedSector ┆ j 810709 791101 Z┆
0x17ce8…17d70 (22, 0, 13) UnusedSector ┆ IN A,(C) BIT 1,A IF Z THEN RES 0,(HL) ELSE SET 0,(HL) FI END LIA_STATUS END LIA_STATUS W┆
0x17d70…17df8 (22, 0, 14) UnusedSector ┆ # T 810908 791101 !┆
0x17df8…17e80 (22, 0, 15) DirSec {
0x17df8…17e80 am = CHS(22, 0, 15, #4) // 0x17df8 @0x0
0x17df8…17e80 f01 = Vector { // 0x17dfa @0x2
0x17df8…17e80 [0x0]: DirEnt {flag=0x0b, name=»LTUTST.LINK«, where=(25, 0, 10)}
0x17df8…17e80 [0x1]: DirEnt {flag=0x07, name=»CONST.S«, where=(10, 0, 6)}
0x17df8…17e80 [0x2]: DirEnt {flag=0x07, name=»OBT.OBJ«, where=(9, 0, 8)}
0x17df8…17e80 [0x3]: DirEnt {flag=0x08, name=»SIOTST.S«, where=(10, 0, 9)}
0x17df8…17e80 [0x4]: DirEnt {flag=0x0a, name=»LTUTST.LNK«, where=(26, 0, 11)}
0x17df8…17e80 [0x5]: DirEnt {flag=0xff}
0x17df8…17e80 }
0x17df8…17e80 prev = (22, 0, 10) // 0x17e7a @0x82
0x17df8…17e80 next = (22, 0, 20) // 0x17e7c @0x84
0x17df8…17e80 crc = fd7c // 0x17e7e @0x86
0x17df8…17e80 }
0x17e80…17f08 (22, 0, 16) DirSec {
0x17e80…17f08 am = CHS(22, 0, 16, #4) // 0x17e80 @0x0
0x17e80…17f08 f01 = Vector { // 0x17e82 @0x2
0x17e80…17f08 [0x0]: DirEnt {flag=0x08, name=»SYSRAM.S«, where=(27, 0, 31)}
0x17e80…17f08 [0x1]: DirEnt {flag=0x0a, name=»SYSRAM.OBJ«, where=(1, 0, 25)}
0x17e80…17f08 [0x2]: DirEnt {flag=0xff}
0x17e80…17f08 }
0x17e80…17f08 prev = (22, 0, 11) // 0x17f02 @0x82
0x17e80…17f08 next = (22, 0, 21) // 0x17f04 @0x84
0x17e80…17f08 crc = a92f // 0x17f06 @0x86
0x17e80…17f08 }
0x17f08…17f90 (22, 0, 17) UnusedSector ┆ GLOBAL TIMER GLOBAL LAT1CH,LAT2CH,LAT3CH,LAT4CH LAT1CH DEFW 0000H LAT2CH DEFW 0000H LAT3CH DEFW 0000H LAT4CH DEFW 0000H 1-┆
0x17f90…18018 (22, 0, 18) UnusedSector ┆ E" COUNTER EXX EX AF,AF' EI ; RETI ; TIMTAB DEFW RCT1CH+01H DEFW LAT1CH+01H DEFW RCT2CH+01H DEFW LAT2CH ┆
0x18018…180a0 (22, 0, 19) UnusedSector ┆ ER CHANNEL ENABLED RET NZ ;IF RECEIVING NOT IN PROGRESS THEN EXIT INC HL INC (HL) LD A,8 CP (HL) RET NC ;IF RECEIVE TIME ┆
0x180a0…18128 (22, 0, 20) DirSec {
0x180a0…18128 am = CHS(22, 0, 20, #4) // 0x180a0 @0x0
0x180a0…18128 f01 = Vector { // 0x180a2 @0x2
0x180a0…18128 [0x0]: DirEnt {flag=0x0a, name=»SYSALL.OBJ«, where=(3, 0, 7)}
0x180a0…18128 [0x1]: DirEnt {flag=0x06, name=»TTIM.S«, where=(9, 0, 6)}
0x180a0…18128 [0x2]: DirEnt {flag=0x06, name=»TPIO.S«, where=(36, 0, 11)}
0x180a0…18128 [0x3]: DirEnt {flag=0x0a, name=»SIOTST.OBJ«, where=(8, 0, 10)}
0x180a0…18128 [0x4]: DirEnt {flag=0x0e, name=»LTUTST.LNK.MAP«, where=(9, 0, 23)}
0x180a0…18128 [0x5]: DirEnt {flag=0x0e, name=»LTUTST.LNK.SYM«, where=(26, 0, 13)}
0x180a0…18128 [0x6]: DirEnt {flag=0xff}
0x180a0…18128 }
0x180a0…18128 prev = (22, 0, 15) // 0x18122 @0x82
0x180a0…18128 next = (22, 0, 25) // 0x18124 @0x84
0x180a0…18128 crc = 719d // 0x18126 @0x86
0x180a0…18128 }
0x18128…181b0 (22, 0, 21) DirSec {
0x18128…181b0 am = CHS(22, 0, 21, #4) // 0x18128 @0x0
0x18128…181b0 f01 = Vector { // 0x1812a @0x2
0x18128…181b0 [0x0]: DirEnt {flag=0xff}
0x18128…181b0 }
0x18128…181b0 prev = (22, 0, 16) // 0x181aa @0x82
0x18128…181b0 next = CHS(255, 0, 31, #7) // 0x181ac @0x84
0x18128…181b0 crc = 0fae // 0x181ae @0x86
0x18128…181b0 }
0x181b0…18238 (22, 0, 22) UnusedSector ┆ TIMER EX AF,AF' EXX CALL TIMCON LD C,8 ; LD DE,TIMTAB ; TIMNXT LD A,(DE) ; LD L,A ; INC DE ; L An┆
0x18238…182c0 (22, 0, 23) UnusedSector ┆ +01H DEFW RCT3CH+01H DEFW LAT3CH+01H DEFW RCT4CH+01H DEFW LAT4CH+01H ;ECHO *P 43 EXTERNAL TIM1STA,TIM2STA,TIM3STA,TI ┆
0x182c0…18348 (22, 0, 24) UnusedSector ┆ OUT THEN LD E,(IY+2AH) ; LD D,(IY+2BH) ; GET RECEIVE BUFFER ADDRESS LD C,(IY+2CH) ; LD B,(IY+2DH) ; GET CURRENT BYTECOUNT ┆
0x18348…183d0 (22, 0, 25) DirSec {
0x18348…183d0 am = CHS(22, 0, 25, #4) // 0x18348 @0x0
0x18348…183d0 f01 = Vector { // 0x1834a @0x2
0x18348…183d0 [0x0]: DirEnt {flag=0x05, name=»TEMPO«, where=(26, 0, 3)}
0x18348…183d0 [0x1]: DirEnt {flag=0x0a, name=»CHX.PROC.S«, where=(3, 0, 6)}
0x18348…183d0 [0x2]: DirEnt {flag=0x0a, name=»LTUTST.OBJ«, where=(43, 0, 25)}
0x18348…183d0 [0x3]: DirEnt {flag=0x08, name=»BUFFER.S«, where=(19, 0, 6)}
0x18348…183d0 [0x4]: DirEnt {flag=0x0a, name=»BUFFER.OBJ«, where=(50, 0, 7)}
0x18348…183d0 [0x5]: DirEnt {flag=0x06, name=»TSIO.S«, where=(36, 0, 27)}
0x18348…183d0 [0x6]: DirEnt {flag=0x08, name=»TPIO.OBJ«, where=(4, 0, 14)}
0x18348…183d0 [0x7]: DirEnt {flag=0xff}
0x18348…183d0 }
0x18348…183d0 prev = (22, 0, 20) // 0x183ca @0x82
0x18348…183d0 next = (22, 0, 1) // 0x183cc @0x84
0x18348…183d0 crc = 9044 // 0x183ce @0x86
0x18348…183d0 }
0x183d0…18458 (22, 0, 26) UnusedSector ┆ * K 801106 791101 y ┆
0x18458…184e0 (22, 0, 27) UnusedSector ┆ D A,(DE) ; LD H,A ; INC DE ; LD A,(HL) ; GET TIMER COUNT DEC HL ; IF TIMER COUNT > 0 THEN OR (HL) ; COUNT Z┆
0x184e0…18568 (22, 0, 28) UnusedSector ┆ M4STA EXTERNAL RECRES ; NOTE !! THE ADDRESSES OF TIMXSTA,TIMXVAL,TIMXOUT HAS TO BE CONSECUTIVE TIMCON LD HL,TIM1STA CALL T ┆
0x18568…185f0 (22, 0, 29) UnusedSector ┆ LD HL,BCOFF ; ADD HL,DE ; LD (HL),C ; INC HL ; UPDATE BYTECOUNT IN RECEIVE BUFFER LD (HL),B ; LD L,(IY+28H) ; LD H,( ┆
0x185f0…18678 (22, 0, 30) UnusedSector ┆ *P 42 ; PLZ_QUEU MODULE *INCLUDE PLZ.MACROS ; CONSTANT OVL := 0FFH NO_OVL := 0 ; EXTERNAL SUBDEQ SUBENQ SIG WAI 9┆
0x18678…18700 (22, 0, 31) UnusedSector ┆ SYSRAM RECI SUBSEN SRELEA MESADD ; GLOBAL RCT1CH,RCT2CH,RCT3CH,RCT4CH WORD ; GLOBAL ;ECHO ;***************** ┆
0x18700…18788 (23, 0, 0) UnusedSector ┆ BB V1 LTUTST NCJ ! @ @ q B @ ! ^ ^ k B 1 @ j┆
0x18788…18810 (23, 0, 1) UnusedSector ┆ ^ k | V k s )J JB : Z J @ 1 @ ! ┆
0x18810…18898 (23, 0, 2) UnusedSector ┆ )B @ 33333333333 wwwwwwwwwwwwwwwwwwwwwwwwwww K ┆
0x18898…18920 (23, 0, 3) UnusedSector ┆ (HL) ; EX DE,HL ; GET EMPTY BUFFER QUEU_ADDRESS DI ; PUSH IX ; CALL SUBDEQ ; GET BUFFER FROM QUEU POP IX ┆
0x18920…189a8 (23, 0, 4) UnusedSector ┆ ******************************* PUTBUF PROCEDURE ENTRY PLZVAR PLZIN P2,BUF2_PTR ENT 0 GETWORD H L, P2 LD BC,20 AD {M┆
0x189a8…18a30 (23, 0, 5) UnusedSector ┆ ********************************************************* ;* PROCEDURE NAME: GETBUF ;* ;* FUNCTION: REPEAT UNTIL BUFFER ┆
0x18a30…18ab8 (23, 0, 6) UnusedSector ┆ ;* INVOCATION: BUF_PTR := REC (QUEU_NO,DELAY,CH_NO) ;* ;* INPUTS: QUEU_NO: NUMBER OF SEMAPHORE QUEUE ;* > ┆
0x18ab8…18b40 (23, 0, 7) UnusedSector ┆ ; 8 * QUEU.NO. ADD HL,DE ; LD A,(HL) ; GET SEMAPHORE VALUE ADD A,7FH ; JP P,REC1 ; IF SEMAPHORE VALUE = +1 ┆
0x18b40…18bc8 (23, 0, 8) UnusedSector ┆ ; EI ; JR NC,GETB1 ; IF BUFFER AVAILABLE THEN PUTWORD BUF_PTR,D E ; SAVE BUFFER ADDRESS JR GETB2 ; EX ┆
0x18bc8…18c50 (23, 0, 9) UnusedSector ┆ D HL,BC LD E,(HL) INC HL LD D,(HL) EX DE,HL ;GET EMPTY BUFFER QUEU_ADDRESS GETWORD D E, BUF2_PTR DI PUSH IX C #┆
0x18c50…18cd8 (23, 0, 10) UnusedSector ┆ IS AVAILABLE ;* TRY TO GET BUFFER FROM (EMPTY) BUFFER QUEU ;* IF BUFFER AVAILABLE ;* D7┆
0x18cd8…18d60 (23, 0, 11) UnusedSector ┆ DELAY: MAX WAIT TIME IN UNITS OF 12.5 MSEK ;* CH_NO: NUMBER OF CHANNEL ;* ;* OUTPUTS: BUF_PTR: P ` ┆
0x18d60…18de8 (23, 0, 12) UnusedSector ┆ THEN LD (SYSRAM+0E2H),HL ; SAVE ADDRESS OF SEMAPHORE QUEUHEAD PUSH IX ; CALL RECI ; POP IX ; CALL z┆
0x18de8…18e70 (23, 0, 13) UnusedSector ┆ IT GETB1: PUSH IX ; ELSE CALL SRELEASE ; SCHEDULE POP IX ; ; FI JR GETB0 ;OD GETB2: RTN 1 END GE ;┆
0x18e70…18ef8 (23, 0, 14) UnusedSector ┆ ALL SUBENQ ;ENQUE BUFFER IN SPECIFIED QUEU POP IX EI RTN 2 END PUTBUF ;ECHO ;*************************************** n;┆
0x18ef8…18f80 (23, 0, 15) UnusedSector ┆ BUF_PTR WILL CONTAIN POINTER TO BUFFER ;* ELSE ;* SCHEDULE ;* ;* ┆
0x18f80…19008 (23, 0, 16) UnusedSector ┆ OINTER TO BUFFER ;* ;************************************************************************** REC PROCEDURE ENTRY PLZVAR - ┆
0x19008…19090 (23, 0, 17) UnusedSector ┆ MESADD ; GET ADDRESS OF MESSAGE BUFFER IF ANY LD B,0 ; JR NC,REC2 ; PUTWORD BUF4_PTR,D E ; LD B,1 ; 7j┆
0x19090…19118 (23, 0, 18) UnusedSector ┆ TBUF ;ECHO ;************************************************************************** ;* PROCEDURE NAME: PUTBUF ;* ;* FUNCTI {┆
0x19118…191a0 (23, 0, 19) UnusedSector ┆ *********************************** ;* PROCEDURE NAME: REC ;* ;* FUNCTION: WAIT UNTIL A MESSAGE IS SEND TO THE SPECIFIED ┆
0x191a0…19228 (23, 0, 20) UnusedSector ┆ INVOCATION: BUF_PTR := GETBUF (P) ;* ;* INPUTS: P: POINTER TO PARAM_TABLE ;* ;* OUTPUTS: BUF_PTR: POINTER >-┆
0x19228…192b0 (23, 0, 21) UnusedSector ┆ PLZIN QUEU4_NO MAKS4_DELAY CHA4_NO PLZOUT BUF4_PTR ENT 0 LD H,0 GETBYTE L,CHA4_NO ;GET CH.NO. ADD HL,HL ;2 * CH. ?┆
0x192b0…19338 (23, 0, 22) UnusedSector ┆ JR REC2 ; REC1: LD H,0 ; ELSE GETBYTE L,CHA4_NO ; GET CH.NO. ADD HL,HL ; 2 * CH.NO. LD DE,RCT1C ┆
0x19338…193c0 (23, 0, 23) UnusedSector ┆ ON: SENDS BUFFER TO SPECIFIED QUEUE ;* ;* INVOCATION: PUTBUF (P,BUF_PTR) ;* ;* INPUTS: P: POINTER TO PARAM_ !r┆
0x193c0…19448 (23, 0, 24) UnusedSector ┆ SEMAPHOR ;* OR UNTIL THE SPECIFIED DELAY HAS ELAPSED ;* IF MESSAGE WAS RECEIVED ;* !┆
0x19448…194d0 (23, 0, 25) UnusedSector ┆ TO BUFFER ;* ;************************************************************************** GETBUF PROCEDURE ENTRY PLZVAR PLZ {┆
0x194d0…19558 (23, 0, 26) UnusedSector ┆ NO. LD DE,RCT1CH-2 ADD HL,DE GETWORD D E,MAKS4_DELAY ;GET TIMER DELAY LD (HL),E INC HL LD (HL),D ;PRESET TIMER ┆
0x19558…195e0 (23, 0, 27) UnusedSector ┆ H-2 ; ADD HL,DE ; LD E,(HL) ; INC HL ; LD D,(HL) ; GET CURRENT TIMER LD A,D ; OR E ; | ┆
0x195e0…19668 (23, 0, 28) UnusedSector ┆ TABLE ;* BUF_PTR: POINTER TO BUFFER ;* ;* OUTPUTS: NONE ;* ;******************************************* ┆
0x19668…196f0 (23, 0, 29) UnusedSector ┆ BUF_PTR WILL CONTAIN POINTER TO BUFFER ;* ELSE ;* BUF_PTR WILL BE SET TO NILL ;* J ┆
0x196f0…19778 (23, 0, 30) UnusedSector ┆ IN P1 PLZOUT BUF_PTR ENT 0 GETB0: GETWORD H L,P1 ;DO LD BC,20 ; ADD HL,BC ; LD E,(HL) ; INC HL ; LD D, k8┆
0x19778…19800 (23, 0, 31) UnusedSector ┆ REC0: LD DE,SYSRAM+240H ;DO LD H,0 ; GETBYTE L,QUEU4_NO ; GET QUEU.NO. ADD HL,HL ; ADD HL,HL ; ADD HL,HL ┆
0x19800…19888 (24, 0, 0) UnusedSector ┆ ERHEAD ; STWOFF EQU 04H ; STATUS WORD OFFSET IN BUFFERHEAD ; RSEMOFF EQU 06H ; RETUR SEMAPHORE OFFSET ; ; NUM1BUF EQU 07 ┆
0x19888…19910 (24, 0, 1) UnusedSector ┆ H GETBYTE L, QUEU5_NO ;GET QUEU.NO. ADD HL,HL ADD HL,HL ADD HL,HL ;8 * QUEU.NO. ADD HL,DE LD (SYSRAM+0E2H) ┆
0x19910…19998 (24, 0, 2) UnusedSector ┆ U STA2BUF+NUM2BUF*BUFFSIZE STA4BUF EQU STA3BUF+NUM3BUF*BUFFSIZE ; TRA1SEM EQU 0*8H TRA2SEM EQU 10*08H TRA3SEM EQU 20*08H TRA ┆
0x19998…19a20 (24, 0, 3) UnusedSector ┆ 09H) CALL SUBENQ CALL RECRES RECR3: LD L,(IY+28H) LD H,(IY+29H) CALL SUBDEQ JR NC,RECR4 LD L,(IY+08H) LD H,(IY+09H) CALL ┆
0x19a20…19aa8 (24, 0, 4) UnusedSector ┆ . ADD HL,HL ADD HL,HL ADD HL,HL ;8 * QUEU.NO. ADD HL,DE GETWORD D E , BUF6_PTR ;GET ADDRESS OF MESSAGE BUFFER ┆
0x19aa8…19b30 (24, 0, 5) UnusedSector ┆ LD B,0 ; JR NZ,REC2 ; IF TIMER VALUE = 0 THEN PUTWORD BUF4_PTR,D E ; SET OUTPUT BUFFER = NIL LD B,1 z┆
0x19b30…19bb8 (24, 0, 6) UnusedSector ┆ ,HL ;SAVE ADDRESS OF SEMAPHORE QUEUHEAD PUSH IX CALL RECI CALL MESADD ;GET ADDRESS OF MESSAGE BUFFER WHEN RECEIVED POP ] ┆
0x19bb8…19c40 (24, 0, 7) UnusedSector ┆ W 801126 791101 2m┆
0x19c40…19cc8 (24, 0, 8) UnusedSector ┆ SUBDEQ JR RECR3 RECR4: EI RECR5: RTN 0 END RECR ;ECHO ;******************************************************************** P ┆
0x19cc8…19d50 (24, 0, 9) UnusedSector ┆ PUSH IX CALL SUBSEN ;SEND MESSAGE BUFFER TO SPECIFIED QUEU POP IX RTN 2 END PUTMES ;ECHO ;************************ J┆
0x19d50…19dd8 (24, 0, 10) UnusedSector ┆ ; FI ; FI REC2: LD A,B ; AND A ; JR NZ,REC3 ; IF NO MESSAGE BUFFER AND NO TIMEOUT THEN PUSH IX ; c┆
0x19dd8…19e60 (24, 0, 11) UnusedSector ┆ IX PUTWORD BUF5_PTR, D E RTN 1 END GETMES ;ECHO ;******************************************************************* ┆
0x19e60…19ee8 (24, 0, 12) UnusedSector ┆ *L OFF INISP EQU 4000H CHA1 EQU 4002H CHA2 EQU 4012H CHA3 EQU 4022H CHA4 EQU 4032H ; BUFFSIZE EQU 209H ; BUFFERSIZE ; REC v ┆
0x19ee8…19f70 (24, 0, 13) UnusedSector ┆ ****** ;* PROCEDURE NAME: GETMES ;* ;* FUNCTION: THE CALLING PROCESS IS DELAYED UNTIL A MESSAGE IS SEND ;* ┆
0x19f70…19ff8 (24, 0, 14) UnusedSector ┆ ************************************************** ;* PROCEDURE NAME: WAIT ;* ;* FUNCTION: THE PROCESS IS HANGED ON THE 1`┆
0x19ff8…1a080 (24, 0, 15) UnusedSector ┆ CALL SRELEASE ; SCHEDULE POP IX ; FI JR REC0 ;OD REC3: RTN 3 END REC ;ECHO RECR PROCEDURE ENTRY PLZ 4;┆
0x1a080…1a108 (24, 0, 16) UnusedSector ┆ ******* ;* PROCEDURE NAME: PUTMES ;* ;* FUNCTION: THE MESSAGE BUFFER IS SEND TO THE SPECIFIED SEMAPHOR ;* ;* INVOCATION: ┆
0x1a108…1a190 (24, 0, 17) UnusedSector ┆ OFF EQU 08H ; RECEIVE BUFFER DATA OFFSET ; TRAOFF EQU 05H ; TRANSMIT BUFFER DATA OFFSET CHNOOFF EQU 07H ; CHANNEL NO. OFFS ;┆
0x1a190…1a218 (24, 0, 18) UnusedSector ┆ TO THE SPECIFIED SEMAPHORE ;* ;* INVOCATION: BUF_PTR := GETMES (QUEU_NO) ;* ;* INPUTS: QUEU_NO: NUMBER OF SEMA ┆
0x1a218…1a2a0 (24, 0, 19) UnusedSector ┆ SPECIFIED SEMAPHOR ;* UNTIL A SIGNAL IS RECEIVED ;* ;* INVOCATION: WAIT (QUEU_NO) ;* ;* INPUTS: Q ┆
0x1a2a0…1a328 (24, 0, 20) UnusedSector ┆ VAR PLZOUT BUF4X_PTR ENT 0 LD DE,0 PUTWORD BUF4X_PTR,D E RECR0: CALL MODCHA JR Z,RECR2 ; LD L,(IY+28H) ; LD H,(IY+29H ┆
0x1a328…1a3b0 (24, 0, 21) UnusedSector ┆ PUTMES (QUEU_NO,BUF_PTR) ;* ;* INPUTS: QUEU_NO: SEMAPHOR QUEU NUMBER ;* BUF_PTR: POINTER TO MESS a ┆
0x1a3b0…1a438 (24, 0, 22) UnusedSector ┆ ET ERROFF EQU 09H ; ERROR CODE OFFSET DATOFF EQU 0BH ; DATASTART OFFSET ; BUFFHEAD EQU 0AH ; BUFFERHEAD SIZE ; MAXSIZE EQU ┆
0x1a438…1a4c0 (24, 0, 23) UnusedSector ┆ PHOR QUEU ;* ;* OUTPUTS: BUF_PTR: POINTER TO RECEIVED BUFFER ;* ;******************************************************* ┆
0x1a4c0…1a548 (24, 0, 24) UnusedSector ┆ UEU_NO: SEMAPHOR QUEUE NUMBER ;* ;* OUTPUTS: NONE ;* ;****************************************************************** ┆
0x1a548…1a5d0 (24, 0, 25) UnusedSector ┆ ) ; DI ; CALL SUBDEQ ; EI JR NC,RECR1 ; PUTWORD BUF4X_PTR ; JR RECR5 ; RECR1: PUSH IX ; PUSH IY ; CALL SRELEASE ; g ┆
0x1a5d0…1a658 (24, 0, 26) UnusedSector ┆ AGE BUFFER ;* ;* OUTPUTS: NONE ;* ;************************************************************************** PUTMES PR ┆
0x1a658…1a6e0 (24, 0, 27) UnusedSector ┆ BUFFSIZE-(BUFFHEAD+RECOFF+1) ; BCOFF EQU 02H ; BYTECOUNT OFFSET IN BUFFERHEAD ; TSAOFF EQU 08H ; DATAPOINTER OFFSET IN BUFF P ┆
0x1a6e0…1a768 (24, 0, 28) UnusedSector ┆ ******************* GETMES PROCEDURE ENTRY PLZVAR PLZIN QUEU5_NO PLZOUT BUF5_PTR ENT 0 LD DE,SYSRAM+240H LD H,0 p┆
0x1a768…1a7f0 (24, 0, 29) UnusedSector ┆ NUM2BUF EQU 07 NUM3BUF EQU 07 NUM4BUF EQU 07 ; STA1BUF EQU CHA4+010H STA2BUF EQU STA1BUF+NUM1BUF*BUFFSIZE STA3BUF EQ ]┆
0x1a7f0…1a878 (24, 0, 30) UnusedSector ┆ POP IY ; POP IX ; JR RECR0 ; RECR2: DI LD E,(IY+2AH) LD D,(IY+2BH) LD A,D OR E JR Z,RECR3 LD L,(IY+08H) LD H,(IY+ = ┆
0x1a878…1a900 (24, 0, 31) UnusedSector ┆ OCEDURE ENTRY PLZVAR PLZIN QUEU6_NO BUF6_PTR ENT 0 LD DE,SYSRAM+240H LD H,0H GETBYTE L ,QUEU6_NO ;GET QUEU.NO ~ ┆
0x1a900…1a988 (25, 0, 0) DataSector
[…0x4…]
0x1aba8…1ac30 (25, 0, 5) UnusedSector ┆ 4SEM EQU 30*08H ; REC1SEM EQU 1*08H REC2SEM EQU 11*08H REC3SEM EQU 21*08H REC4SEM EQU 31*08H ; BUFEND EQU STA4BUF+(NUM4BUF 2┆
0x1ac30…1acb8 (25, 0, 6) Descriptor {
0x1ac30…1acb8 am = CHS(25, 0, 6, #4) // 0x1ac30 @0x0
0x1ac30…1acb8 rsv0 = 00000000 // 0x1ac32 @0x2
0x1ac30…1acb8 file_id = 0000 // 0x1ac36 @0x6
0x1ac30…1acb8 dirsect = (22, 0, 5) // 0x1ac38 @0x8
0x1ac30…1acb8 firstsect = (25, 0, 7) // 0x1ac3a @0xa
0x1ac30…1acb8 lastsect = (26, 0, 5) // 0x1ac3c @0xc
0x1ac30…1acb8 type = 0x20 // 0x1ac3e @0xe
0x1ac30…1acb8 reccnt = 0x001d // 0x1ac3f @0xf
0x1ac30…1acb8 reclen = 0x0080 // 0x1ac41 @0x11
0x1ac30…1acb8 blklen = 0x0080 // 0x1ac43 @0x13
0x1ac30…1acb8 prop = 0x00 // 0x1ac45 @0x15
0x1ac30…1acb8 adr = 0x0000 // 0x1ac46 @0x16
0x1ac30…1acb8 lastbytes = 0x0050 // 0x1ac48 @0x18
0x1ac30…1acb8 created = »791101 « // 0x1ac4a @0x1a
0x1ac30…1acb8 modified = »791101 « // 0x1ac52 @0x22
0x1ac30…1acb8 avail = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // 0x1ac5a @0x2a
0x1ac30…1acb8 prev = (22, 0, 5) // 0x1acb2 @0x82
0x1ac30…1acb8 next = (25, 0, 7) // 0x1acb4 @0x84
0x1ac30…1acb8 crc = af9f // 0x1acb6 @0x86
0x1ac30…1acb8 }
0x1acb8…1ad40 (25, 0, 7) DataSector
[…0x2…]
0x1ae50…1aed8 (25, 0, 10) Descriptor {
0x1ae50…1aed8 am = CHS(25, 0, 10, #4) // 0x1ae50 @0x0
0x1ae50…1aed8 rsv0 = 00000000 // 0x1ae52 @0x2
0x1ae50…1aed8 file_id = 0000 // 0x1ae56 @0x6
0x1ae50…1aed8 dirsect = (22, 0, 15) // 0x1ae58 @0x8
0x1ae50…1aed8 firstsect = (25, 0, 15) // 0x1ae5a @0xa
0x1ae50…1aed8 lastsect = (26, 0, 6) // 0x1ae5c @0xc
0x1ae50…1aed8 type = 0x20 // 0x1ae5e @0xe
0x1ae50…1aed8 reccnt = 0x0002 // 0x1ae5f @0xf
0x1ae50…1aed8 reclen = 0x0080 // 0x1ae61 @0x11
0x1ae50…1aed8 blklen = 0x0080 // 0x1ae63 @0x13
0x1ae50…1aed8 prop = 0x00 // 0x1ae65 @0x15
0x1ae50…1aed8 adr = 0x0000 // 0x1ae66 @0x16
0x1ae50…1aed8 lastbytes = 0x0061 // 0x1ae68 @0x18
0x1ae50…1aed8 created = »821029 « // 0x1ae6a @0x1a
0x1ae50…1aed8 modified = »791101 « // 0x1ae72 @0x22
0x1ae50…1aed8 avail = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // 0x1ae7a @0x2a
0x1ae50…1aed8 prev = (22, 0, 15) // 0x1aed2 @0x82
0x1ae50…1aed8 next = (25, 0, 15) // 0x1aed4 @0x84
0x1ae50…1aed8 crc = ebcf // 0x1aed6 @0x86
0x1ae50…1aed8 }
0x1aed8…1af60 (25, 0, 11) DataSector
[…0x14…]
0x1ba00…1ba88 (26, 0, 0) UnusedSector ┆ ******************** SIGNAL PROCEDURE ENTRY PLZVAR PLZIN QUEU8_NO ENT 0 LD DE,SYSRAM+240H LD H,0H GETBYTE L, K┆
0x1ba88…1bb10 (26, 0, 1) DataSector
0x1bb10…1bb98 (26, 0, 2) UnusedSector ┆ REST ;* ;* FUNCTION: THE CPU IS GIVEN TO ANOTHER PROCESS ;* ;* INVOCATION: REST ;* ;* INPUTS: NONE ;* ;* O #j┆
0x1bb98…1bc20 (26, 0, 3) Descriptor {
0x1bb98…1bc20 am = CHS(26, 0, 3, #4) // 0x1bb98 @0x0
0x1bb98…1bc20 rsv0 = 00000000 // 0x1bb9a @0x2
0x1bb98…1bc20 file_id = 0000 // 0x1bb9e @0x6
0x1bb98…1bc20 dirsect = (22, 0, 25) // 0x1bba0 @0x8
0x1bb98…1bc20 firstsect = (43, 0, 6) // 0x1bba2 @0xa
0x1bb98…1bc20 lastsect = (43, 0, 16) // 0x1bba4 @0xc
0x1bb98…1bc20 type = 0x20 // 0x1bba6 @0xe
0x1bb98…1bc20 reccnt = 0x0003 // 0x1bba7 @0xf
0x1bb98…1bc20 reclen = 0x0080 // 0x1bba9 @0x11
0x1bb98…1bc20 blklen = 0x0080 // 0x1bbab @0x13
0x1bb98…1bc20 prop = 0x00 // 0x1bbad @0x15
0x1bb98…1bc20 adr = 0x0000 // 0x1bbae @0x16
0x1bb98…1bc20 lastbytes = 0x004e // 0x1bbb0 @0x18
0x1bb98…1bc20 created = »791101 « // 0x1bbb2 @0x1a
0x1bb98…1bc20 modified = »791101 « // 0x1bbba @0x22
0x1bb98…1bc20 avail = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // 0x1bbc2 @0x2a
0x1bb98…1bc20 prev = (22, 0, 25) // 0x1bc1a @0x82
0x1bb98…1bc20 next = (43, 0, 6) // 0x1bc1c @0x84
0x1bb98…1bc20 crc = 7c51 // 0x1bc1e @0x86
0x1bb98…1bc20 }
0x1bc20…1bca8 (26, 0, 4) DataSector
[…0x2…]
0x1bdb8…1be40 (26, 0, 7) UnusedSector ┆ ******** WAIT PROCEDURE ENTRY PLZVAR PLZIN QUEU7_NO ENT 0 LD DE,SYSRAM+240H LD H,0H GETBYTE L, QUEU7_NO ;GET _┆
0x1be40…1bec8 (26, 0, 8) Descriptor {
0x1be40…1bec8 am = CHS(26, 0, 8, #4) // 0x1be40 @0x0
0x1be40…1bec8 rsv0 = 00000000 // 0x1be42 @0x2
0x1be40…1bec8 file_id = 0000 // 0x1be46 @0x6
0x1be40…1bec8 dirsect = (22, 0, 10) // 0x1be48 @0x8
0x1be40…1bec8 firstsect = (26, 0, 9) // 0x1be4a @0xa
0x1be40…1bec8 lastsect = (42, 0, 14) // 0x1be4c @0xc
0x1be40…1bec8 type = 0x20 // 0x1be4e @0xe
0x1be40…1bec8 reccnt = 0x0021 // 0x1be4f @0xf
0x1be40…1bec8 reclen = 0x0080 // 0x1be51 @0x11
0x1be40…1bec8 blklen = 0x0080 // 0x1be53 @0x13
0x1be40…1bec8 prop = 0x00 // 0x1be55 @0x15
0x1be40…1bec8 adr = 0x0000 // 0x1be56 @0x16
0x1be40…1bec8 lastbytes = 0x0068 // 0x1be58 @0x18
0x1be40…1bec8 created = »791101 « // 0x1be5a @0x1a
0x1be40…1bec8 modified = »791101 « // 0x1be62 @0x22
0x1be40…1bec8 avail = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // 0x1be6a @0x2a
0x1be40…1bec8 prev = (22, 0, 10) // 0x1bec2 @0x82
0x1be40…1bec8 next = (26, 0, 9) // 0x1bec4 @0x84
0x1be40…1bec8 crc = 56ec // 0x1bec6 @0x86
0x1be40…1bec8 }
0x1bec8…1bf50 (26, 0, 9) DataSector
[…0x1…]
0x1bfd8…1c060 (26, 0, 11) Descriptor {
0x1bfd8…1c060 am = CHS(26, 0, 11, #4) // 0x1bfd8 @0x0
0x1bfd8…1c060 rsv0 = 00000000 // 0x1bfda @0x2
0x1bfd8…1c060 file_id = 0000 // 0x1bfde @0x6
0x1bfd8…1c060 dirsect = (22, 0, 15) // 0x1bfe0 @0x8
0x1bfd8…1c060 firstsect = (26, 0, 16) // 0x1bfe2 @0xa
0x1bfd8…1c060 lastsect = (37, 0, 7) // 0x1bfe4 @0xc
0x1bfd8…1c060 type = 0x80 // 0x1bfe6 @0xe
0x1bfd8…1c060 reccnt = 0x001f // 0x1bfe7 @0xf
0x1bfd8…1c060 reclen = 0x0080 // 0x1bfe9 @0x11
0x1bfd8…1c060 blklen = 0x0080 // 0x1bfeb @0x13
0x1bfd8…1c060 prop = 0x00 // 0x1bfed @0x15
0x1bfd8…1c060 adr = 0x0000 // 0x1bfee @0x16
0x1bfd8…1c060 lastbytes = 0x0080 // 0x1bff0 @0x18
0x1bfd8…1c060 created = »791101 « // 0x1bff2 @0x1a
0x1bfd8…1c060 modified = »791101 « // 0x1bffa @0x22
0x1bfd8…1c060 avail = 0000bc0e800f580000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000e2118000 // 0x1c002 @0x2a
0x1bfd8…1c060 prev = (22, 0, 15) // 0x1c05a @0x82
0x1bfd8…1c060 next = (26, 0, 16) // 0x1c05c @0x84
0x1bfd8…1c060 crc = 9eb1 // 0x1c05e @0x86
0x1bfd8…1c060 }
0x1c060…1c0e8 (26, 0, 12) UnusedSector ┆ QUEU.NO. ADD HL,HL ADD HL,HL ADD HL,HL ;8 * QUEU.NO. ADD HL,DE LD (SYSRAM+0E4H),HL PUSH IX CALL WAI ┆
0x1c0e8…1c170 (26, 0, 13) Descriptor {
0x1c0e8…1c170 am = CHS(26, 0, 13, #4) // 0x1c0e8 @0x0
0x1c0e8…1c170 rsv0 = 00000000 // 0x1c0ea @0x2
0x1c0e8…1c170 file_id = 0000 // 0x1c0ee @0x6
0x1c0e8…1c170 dirsect = (22, 0, 20) // 0x1c0f0 @0x8
0x1c0e8…1c170 firstsect = (37, 0, 14) // 0x1c0f2 @0xa
0x1c0e8…1c170 lastsect = (40, 0, 3) // 0x1c0f4 @0xc
0x1c0e8…1c170 type = 0x20 // 0x1c0f6 @0xe
0x1c0e8…1c170 reccnt = 0x0007 // 0x1c0f7 @0xf
0x1c0e8…1c170 reclen = 0x0080 // 0x1c0f9 @0x11
0x1c0e8…1c170 blklen = 0x0080 // 0x1c0fb @0x13
0x1c0e8…1c170 prop = 0x00 // 0x1c0fd @0x15
0x1c0e8…1c170 adr = 0x0000 // 0x1c0fe @0x16
0x1c0e8…1c170 lastbytes = 0x0010 // 0x1c100 @0x18
0x1c0e8…1c170 created = »791101 « // 0x1c102 @0x1a
0x1c0e8…1c170 modified = »791101 « // 0x1c10a @0x22
0x1c0e8…1c170 avail = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // 0x1c112 @0x2a
0x1c0e8…1c170 prev = (22, 0, 20) // 0x1c16a @0x82
0x1c0e8…1c170 next = (37, 0, 14) // 0x1c16c @0x84
0x1c0e8…1c170 crc = 8844 // 0x1c16e @0x86
0x1c0e8…1c170 }
0x1c170…1c1f8 (26, 0, 14) DataSector
[…0x2…]
0x1c308…1c390 (26, 0, 17) UnusedSector ┆ POP IX RTN 1 END WAIT ;ECHO ;************************************************************************** ;* PROCEDURE NAM +┆
0x1c390…1c418 (26, 0, 18) DataSector
0x1c418…1c4a0 (26, 0, 19) UnusedSector ┆ *BUFFSIZE) ; APIO1 EQU 70H APIO2 EQU 20H ATIM1 EQU 10H ATIM2 EQU 30H *L ON ;ECHO \ ┆
0x1c4a0…1c528 (26, 0, 20) DataSector
[…0x1…]
0x1c5b0…1c638 (26, 0, 22) UnusedSector ┆ E: SIGNAL ;* ;* FUNCTION: A SIGNAL IS SEND TO THE SPECIFIED SEMAPHOR ;* ;* INVOCATION: SIGNAL (QUEU_NO) ;* ;* INPUT + ┆
0x1c638…1c6c0 (26, 0, 23) DataSector
0x1c6c0…1c748 (26, 0, 24) UnusedSector ┆ QUEU8_NO ;GET QUEU.NO. ADD HL,HL ADD HL,HL ADD HL,HL ;8 * QUEU.NO. ADD HL,DE PUSH IX CALL SIG POP / ┆
0x1c748…1c7d0 (26, 0, 25) DataSector
[…0x1…]
0x1c858…1c8e0 (26, 0, 27) UnusedSector ┆ S: QUEU_NO: SEMAPHOR QUEU NUMBER ;* ;* OUTPUTS: NONE ;* ;****************************************************** ┆
0x1c8e0…1c968 (26, 0, 28) DataSector
0x1c968…1c9f0 (26, 0, 29) UnusedSector ┆ IX RTN 1 END SIGNAL ;ECHO ;************************************************************************** ;* PROCEDURE NAME: v|┆
0x1c9f0…1ca78 (26, 0, 30) DataSector
[…0x6…]
0x1cda8…1ce30 (27, 0, 5) UnusedSector ┆ UTPUTS: NONE ;* ;************************************************************************** REST PROCEDURE ENTRY PL !!┆
0x1ce30…1ceb8 (27, 0, 6) Descriptor {
0x1ce30…1ceb8 am = CHS(27, 0, 6, #4) // 0x1ce30 @0x0
0x1ce30…1ceb8 rsv0 = 00000000 // 0x1ce32 @0x2
0x1ce30…1ceb8 file_id = 0000 // 0x1ce36 @0x6
0x1ce30…1ceb8 dirsect = (22, 0, 5) // 0x1ce38 @0x8
0x1ce30…1ceb8 firstsect = (27, 0, 7) // 0x1ce3a @0xa
0x1ce30…1ceb8 lastsect = (51, 0, 3) // 0x1ce3c @0xc
0x1ce30…1ceb8 type = 0x20 // 0x1ce3e @0xe
0x1ce30…1ceb8 reccnt = 0x0017 // 0x1ce3f @0xf
0x1ce30…1ceb8 reclen = 0x0080 // 0x1ce41 @0x11
0x1ce30…1ceb8 blklen = 0x0080 // 0x1ce43 @0x13
0x1ce30…1ceb8 prop = 0x00 // 0x1ce45 @0x15
0x1ce30…1ceb8 adr = 0x0000 // 0x1ce46 @0x16
0x1ce30…1ceb8 lastbytes = 0x007c // 0x1ce48 @0x18
0x1ce30…1ceb8 created = »820414 « // 0x1ce4a @0x1a
0x1ce30…1ceb8 modified = »791101 « // 0x1ce52 @0x22
0x1ce30…1ceb8 avail = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // 0x1ce5a @0x2a
0x1ce30…1ceb8 prev = (22, 0, 5) // 0x1ceb2 @0x82
0x1ce30…1ceb8 next = (27, 0, 7) // 0x1ceb4 @0x84
0x1ce30…1ceb8 crc = 2830 // 0x1ceb6 @0x86
0x1ce30…1ceb8 }
0x1ceb8…1cf40 (27, 0, 7) DataSector
[…0x2…]
0x1d050…1d0d8 (27, 0, 10) UnusedSector ┆ ZVAR ENT 0 PUSH IX CALL SRELEA POP IX RTN 0 END REST ;ECHO ;****************************************************** ┆
0x1d0d8…1d160 (27, 0, 11) DataSector
[…0x3…]
0x1d2f8…1d380 (27, 0, 15) UnusedSector ┆ ******************** ;* PROCEDURE NAME: OVLDET ;* ;* FUNCTION: IF MORE THAN 2 BUFFERS IN SPECIFIED QUEU ;* { ┆
0x1d380…1d408 (27, 0, 16) DataSector
[…0x3…]
0x1d5a0…1d628 (27, 0, 20) UnusedSector ┆ STATUS = OVERLOAD ;* ELSE ;* STATUS = NO_OVERLOAD ;* ;* INVOCATION: OVLDET (QUE : ┆
0x1d628…1d6b0 (27, 0, 21) DataSector
[…0x3…]
0x1d848…1d8d0 (27, 0, 25) UnusedSector ┆ U_NO) ;* ;* INPUTS: QUEU_NO: SEMAPHOR QUEU NUMBER ;* ;* OUTPUTS: STATUS: LTU OVERLOAD STATUS ;* Z ┆
0x1d8d0…1d958 (27, 0, 26) DataSector
[…0x3…]
0x1daf0…1db78 (27, 0, 30) UnusedSector ┆ STATUS = 0 : NO_OVERLOAD ;* STATUS = %FF: LTU IN OVERLOAD ;* ;************************************** )$L┆
0x1db78…1dc00 (27, 0, 31) Descriptor {
0x1db78…1dc00 am = CHS(27, 0, 31, #4) // 0x1db78 @0x0
0x1db78…1dc00 rsv0 = 00000000 // 0x1db7a @0x2
0x1db78…1dc00 file_id = 0000 // 0x1db7e @0x6
0x1db78…1dc00 dirsect = (22, 0, 16) // 0x1db80 @0x8
0x1db78…1dc00 firstsect = (43, 0, 23) // 0x1db82 @0xa
0x1db78…1dc00 lastsect = (43, 0, 29) // 0x1db84 @0xc
0x1db78…1dc00 type = 0x20 // 0x1db86 @0xe
0x1db78…1dc00 reccnt = 0x0002 // 0x1db87 @0xf
0x1db78…1dc00 reclen = 0x0080 // 0x1db89 @0x11
0x1db78…1dc00 blklen = 0x0080 // 0x1db8b @0x13
0x1db78…1dc00 prop = 0x00 // 0x1db8d @0x15
0x1db78…1dc00 adr = 0x0000 // 0x1db8e @0x16
0x1db78…1dc00 lastbytes = 0x0031 // 0x1db90 @0x18
0x1db78…1dc00 created = »791101 « // 0x1db92 @0x1a
0x1db78…1dc00 modified = »791101 « // 0x1db9a @0x22
0x1db78…1dc00 avail = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // 0x1dba2 @0x2a
0x1db78…1dc00 prev = (22, 0, 16) // 0x1dbfa @0x82
0x1db78…1dc00 next = (43, 0, 23) // 0x1dbfc @0x84
0x1db78…1dc00 crc = bc6c // 0x1dbfe @0x86
0x1db78…1dc00 }
0x1dc00…1dc88 (28, 0, 0) DataSector
[…0x5…]
0x1df30…1dfb8 (28, 0, 6) Descriptor {
0x1df30…1dfb8 am = CHS(28, 0, 6, #4) // 0x1df30 @0x0
0x1df30…1dfb8 rsv0 = 00000000 // 0x1df32 @0x2
0x1df30…1dfb8 file_id = 0000 // 0x1df36 @0x6
0x1df30…1dfb8 dirsect = (22, 0, 10) // 0x1df38 @0x8
0x1df30…1dfb8 firstsect = (28, 0, 7) // 0x1df3a @0xa
0x1df30…1dfb8 lastsect = (31, 0, 5) // 0x1df3c @0xc
0x1df30…1dfb8 type = 0x20 // 0x1df3e @0xe
0x1df30…1dfb8 reccnt = 0x005d // 0x1df3f @0xf
0x1df30…1dfb8 reclen = 0x0080 // 0x1df41 @0x11
0x1df30…1dfb8 blklen = 0x0080 // 0x1df43 @0x13
0x1df30…1dfb8 prop = 0x00 // 0x1df45 @0x15
0x1df30…1dfb8 adr = 0x0000 // 0x1df46 @0x16
0x1df30…1dfb8 lastbytes = 0x0050 // 0x1df48 @0x18
0x1df30…1dfb8 created = »791101 « // 0x1df4a @0x1a
0x1df30…1dfb8 modified = »791101 « // 0x1df52 @0x22
0x1df30…1dfb8 avail = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff // 0x1df5a @0x2a
0x1df30…1dfb8 prev = (22, 0, 10) // 0x1dfb2 @0x82
0x1df30…1dfb8 next = (28, 0, 7) // 0x1dfb4 @0x84
0x1df30…1dfb8 crc = 4137 // 0x1dfb6 @0x86
0x1df30…1dfb8 }
0x1dfb8…1e040 (28, 0, 7) DataSector
[…0x5e…]
0x21230…212b8 (31, 0, 6) Descriptor {
0x21230…212b8 am = CHS(31, 0, 6, #4) // 0x21230 @0x0
0x21230…212b8 rsv0 = 00000000 // 0x21232 @0x2
0x21230…212b8 file_id = 0000 // 0x21236 @0x6
0x21230…212b8 dirsect = (22, 0, 10) // 0x21238 @0x8
0x21230…212b8 firstsect = (31, 0, 7) // 0x2123a @0xa
0x21230…212b8 lastsect = (34, 0, 6) // 0x2123c @0xc
0x21230…212b8 type = 0x20 // 0x2123e @0xe
0x21230…212b8 reccnt = 0x0062 // 0x2123f @0xf
0x21230…212b8 reclen = 0x0080 // 0x21241 @0x11
0x21230…212b8 blklen = 0x0080 // 0x21243 @0x13
0x21230…212b8 prop = 0x00 // 0x21245 @0x15
0x21230…212b8 adr = 0x0000 // 0x21246 @0x16
0x21230…212b8 lastbytes = 0x0015 // 0x21248 @0x18
0x21230…212b8 created = »791101 « // 0x2124a @0x1a
0x21230…212b8 modified = »791101 « // 0x21252 @0x22
0x21230…212b8 avail = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // 0x2125a @0x2a
0x21230…212b8 prev = (22, 0, 10) // 0x212b2 @0x82
0x21230…212b8 next = (31, 0, 7) // 0x212b4 @0x84
0x21230…212b8 crc = dcf6 // 0x212b6 @0x86
0x21230…212b8 }
0x212b8…21340 (31, 0, 7) DataSector
[…0x38…]
0x23100…23188 (33, 0, 0) UnusedSector ┆ ! CL_MESS BYTE] DATA_PTR ^PARAM_TABLE PBYTE ^BYTE CONSTANT EMPTY := 0 GLOBAL TABRES PROCEDURE (PCT CON ! ! ┆
0x23188…23210 (33, 0, 1) DataSector
[…0x4…]
0x23430…234b8 (33, 0, 6) UnusedSector ┆ ! ! " 801114 791101 h ┆
0x234b8…23540 (33, 0, 7) UnusedSector ┆ !!********************************************************************* * FILE NAME: TABRES.S * LAST MODIFIED: 821129 ! ! 1┆
0x23540…235c8 (33, 0, 8) DataSector
0x235c8…23650 (33, 0, 9) UnusedSector ┆ !FIG_TAB_PTR) LOCAL CT_ADR PBYTE COUNT BYTE ENTRY CT_ADR := PBYTE PCT COUNT := 0 DO ! ! ┆
0x23650…236d8 (33, 0, 10) DataSector
[…0x1…]
0x23760…237e8 (33, 0, 12) UnusedSector ┆ ! CREATED: 801114 * PROGRAMMER: POUL SKALLERUP ********************************************************************* ! !Q ┆
0x237e8…23870 (33, 0, 13) DataSector
0x23870…238f8 (33, 0, 14) UnusedSector ┆ !CT_ADR^ := EMPTY CT_ADR := INC CT_ADR COUNT += 1 IF COUNT = SIZEOF CONFIG_TABLE THEN EXIT FI O ! ! ┆
0x238f8…23980 (33, 0, 15) DataSector
[…0x1…]
0x23a08…23a90 (33, 0, 17) UnusedSector ┆ !! INIT_CONF_TAB MODULE TYPE BUFFER RECORD [BUFF_HEAD ARRAY[4 WORD] STAADR ^BYTE DATA ARRAY[504 BYTE]] ! ! x┆
0x23a90…23b18 (33, 0, 18) DataSector
0x23b18…23ba0 (33, 0, 19) UnusedSector ┆ !D END TABRES END INIT_CONF_TAB ! ┆
0x23ba0…23c28 (33, 0, 20) DataSector
[…0x1…]
0x23cb0…23d38 (33, 0, 22) UnusedSector ┆ ! REC_PTR ^BUFFER CONFIG_TABLE ARRAY [10,4 BYTE] CONFIG_TAB_PTR ^CONFIG_TABLE CONF_TABLE ARRAY [10,1 BYTE] CONF_ ! !Z ┆
0x23d38…23dc0 (33, 0, 23) DataSector
[…0x3…]
0x23f58…23fe0 (33, 0, 27) UnusedSector ┆ !TAB_PTR ^CONF_TABLE PARAM_TABLE RECORD [B ARRAY[20 BYTE] W WORD P CONFIG_TAB_PTR C CONF_TAB_PTR ! ! ┆
0x23fe0…24068 (33, 0, 28) DataSector
[…0x3…]
0x24200…24288 (34, 0, 0) UnusedSector ┆ "LD (HL),A ; SAVE RECEIVED CHARACTER INC HL ; INCREMENT CHARACTER POINTER LD (IY+2EH),L ; SAVE NEW CHARACTER POINTER LD ( " # ┆
0x24288…24310 (34, 0, 1) DataSector
0x24310…24398 (34, 0, 2) UnusedSector ┆ " # 791101 791101 x ┆
0x24398…24420 (34, 0, 3) DataSector
0x24420…244a8 (34, 0, 4) UnusedSector ┆ " SIOREA PRE_STx PSEUDOq TRA_ENV XMIT_L" START_ TRAROU " #1 ┆
0x244a8…24530 (34, 0, 5) DataSector
[…0x1…]
0x245b8…24640 (34, 0, 7) UnusedSector ┆ " # R 791101 791101 T ┆
0x24640…246c8 (34, 0, 8) DataSector
0x246c8…24750 (34, 0, 9) UnusedSector ┆ ";***************************************************************************** ;* ;* RX.S ;* ;******************************** " " ┆
0x24750…247d8 (34, 0, 10) DataSector
[…0x1…]
0x24860…248e8 (34, 0, 12) UnusedSector ┆ "P SYN RET Z ;IF SYNC CHARACTER THEN EXIT PUSH AF LD L,(IY+08H) LD H,(IY+09H) CALL SUBDEQ JR NC,NOBUF ;IF BUFFER AVAILABLE " " ┆
0x248e8…24970 (34, 0, 13) DataSector
0x24970…249f8 (34, 0, 14) UnusedSector ┆ "********************************************* *INCLUDE CONSTANT.S GLOBAL RECROU GLOBAL REC_START GLOBAL CONTENTION GLOBAL " " x┆
0x249f8…24a80 (34, 0, 15) DataSector
[…0x1…]
0x24b08…24b90 (34, 0, 17) UnusedSector ┆ " THEN LD (IY+18H),1 ;ENABLE RECEIVE TIMER LD HL,RECOFF+BUFFHEAD ADD HL,DE ; PUSH HL ; LD C,L ; LD B,H ; LD (IY+2AH),E " " _┆
0x24b90…24c18 (34, 0, 18) DataSector
0x24c18…24ca0 (34, 0, 19) UnusedSector ┆ "NO_SYNCHRONIZATION GLOBAL HUNT GLOBAL RECRES EXTERNAL SIOREADWRITE EXTERNAL SUBDEQ RECROU LD HL,RECTAB LD C,(IY+1FH) LD " " ┆
0x24ca0…24d28 (34, 0, 20) DataSector
[…0x1…]
0x24db0…24e38 (34, 0, 22) UnusedSector ┆ " ; SAVE BUFFER ELEMENT ADDRESS LD (IY+2BH),D ; LD HL,TSAOFF ; ADD HL,DE ; LD (HL),C ; INC HL ; UPDATE DATA START ADDRE " "W ┆
0x24e38…24ec0 (34, 0, 23) DataSector
0x24ec0…24f48 (34, 0, 24) UnusedSector ┆ "B,0 ADD HL,BC LD E,(HL) INC HL LD D,(HL) EX DE,HL JP (HL) RECTAB DEFW NO_SYNCHRONIZATION DEFW REC_START DEFW CONTENTIO " " ┆
0x24f48…24fd0 (34, 0, 25) DataSector
[…0x1…]
0x25058…250e0 (34, 0, 27) UnusedSector ┆ "SS LD (HL),B ; LD HL,STWOFF ; ADD HL,DE ; LD (HL),0 ; INC HL ; RESET STATUS WORD LD (HL),0 ; POP HL ; POP AF ; " " l┆
0x250e0…25168 (34, 0, 28) DataSector
0x25168…251f0 (34, 0, 29) UnusedSector ┆ "N ;ECHO REC_START LD BC,0A320H ; CALL SIOREADWRITE ;SIOCON 3,W,R,20H LD C,(IY+1CH) IN A,(C) ;READ RECEIVED CHARACTER C " " ┆
0x251f0…25278 (34, 0, 30) DataSector
[…0x4…]
0x25498…25520 (35, 0, 3) UnusedSector ┆ # RECEIVE TIMER VALUE LD (IY+1FH),A ;NEXT INT.ROUTINE = NOXSYNC RET END ;ECHO # ┆
0x25520…255a8 (35, 0, 4) UnusedSector ┆ # NO_SYNCHRONIZATION LD C,(IY+1CH) IN A,(C) ;READ RECEIVED CHARACTER RET ;ECHO HUNT DI LD (IY+0EH),1 ;ENABLE RECEIVING # #$f┆
0x255a8…25630 (35, 0, 5) UnusedSector ┆ # m@ ! N ^#V " V q x 6 n f ~ N y ^ V { 6* 6 s r # u t (` 6 " # ┆
0x25630…256b8 (35, 0, 6) UnusedSector ┆ #IY+2FH),H ; LD (IY+2CH),1 ; INITIALIZE BYTECOUNT := 1 LD (IY+2DH),0 ; LD (IY+1FH),4 ; NEXT INT.ROUTINE = CONXTEN RET ;EL " # ┆
0x256b8…25740 (35, 0, 7) DataSector
[…0x1…]
0x257c8…25850 (35, 0, 9) UnusedSector ┆ # LD (IY+26H),0 ;RESET SYNCHRONIZATION STATUS LD BC,0E332H CALL SIOREADWRITE ;SIOCON 3,W,S,32H LD L,(IY+24H) LD H,(IY+25H) # # /┆
0x25850…258d8 (35, 0, 10) UnusedSector ┆ # g 1 6! (` > N y ~! 6 < w! N y ^ V { 6* 6 s r # u t (` 6 6 # ┆
0x258d8…25960 (35, 0, 11) UnusedSector ┆ #SE NOBUF POP AF ; RET ;FI CONTENTION LD (IY+19H),0 ;RESET RECEIVE TIMER VALUE LD C,(IY+1CH) LD C,(IY+2CH) LD B,(IY+2DH # # :┆
0x25960…259e8 (35, 0, 12) DataSector
[…0x3…]
0x25b80…25c08 (35, 0, 16) UnusedSector ┆ #) INC BC ;INCREMENT BYTECOUNT AND A LD HL,MAXSIZE ;GET MAX BYTECOUNT SBC HL,BC JR NZ,CHANORM ;IF CURRENT BYTECOUNT > MAXSI # #G ┆
0x25c08…25c90 (35, 0, 17) Descriptor {
0x25c08…25c90 am = CHS(35, 0, 17, #4) // 0x25c08 @0x0
0x25c08…25c90 rsv0 = 00000000 // 0x25c0a @0x2
0x25c08…25c90 file_id = 0000 // 0x25c0e @0x6
0x25c08…25c90 dirsect = (22, 0, 1) // 0x25c10 @0x8
0x25c08…25c90 firstsect = (36, 0, 8) // 0x25c12 @0xa
0x25c08…25c90 lastsect = (44, 0, 27) // 0x25c14 @0xc
0x25c08…25c90 type = 0x20 // 0x25c16 @0xe
0x25c08…25c90 reccnt = 0x0023 // 0x25c17 @0xf
0x25c08…25c90 reclen = 0x0080 // 0x25c19 @0x11
0x25c08…25c90 blklen = 0x0080 // 0x25c1b @0x13
0x25c08…25c90 prop = 0x00 // 0x25c1d @0x15
0x25c08…25c90 adr = 0x0000 // 0x25c1e @0x16
0x25c08…25c90 lastbytes = 0x0021 // 0x25c20 @0x18
0x25c08…25c90 created = »791101 « // 0x25c22 @0x1a
0x25c08…25c90 modified = »791101 « // 0x25c2a @0x22
0x25c08…25c90 avail = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // 0x25c32 @0x2a
0x25c08…25c90 prev = (22, 0, 1) // 0x25c8a @0x82
0x25c08…25c90 next = (36, 0, 8) // 0x25c8c @0x84
0x25c08…25c90 crc = e353 // 0x25c8e @0x86
0x25c08…25c90 }
0x25c90…25d18 (35, 0, 18) DataSector
[…0x1…]
0x25da0…25e28 (35, 0, 20) UnusedSector ┆ #Y+2AH),0 ; RESET BUFFER ELEMENT ADDRESS LD (IY+2BH),0 ; RET ;FI END ;ECHO X┆
0x25e28…25eb0 (35, 0, 21) UnusedSector ┆ #ZE THEN LD L,(IY+2AH) ; LD H,(IY+2BH) ; GET BUFFER ADDRESS LD DE,STWOFF ; ADD HL,DE ; SET 0,(HL) ; SET OVERFLOW BIT RE # # ┆
0x25eb0…25f38 (35, 0, 22) DataSector
[…0x2…]
0x26048…260d0 (35, 0, 25) UnusedSector ┆ #LD DE,3 ;RESET ENTER HUNT MODE BIT AND ADD HL,DE ;SYNC CHARACTER LOAD INHIBIT RES 4,(HL) RES 1,(HL) LD (IY+1FH),0 ;NEXT IN # # ┆
0x260d0…26158 (35, 0, 26) UnusedSector ┆ #T ;ELSE CHANORM LD (IY+2CH),C ; LD (IY+2DH),B ; SAVE NEW BYTECOUNT LD L,(IY+2EH) ; LD H,(IY+2FH) ; LD (HL),A ; SAVE REC # # ┆
0x26158…261e0 (35, 0, 27) DataSector
[…0x2…]
0x262f0…26378 (35, 0, 30) UnusedSector ┆ #T.ROUTINE = NOXSYNC RET RECRES XOR A LD (IY+0EH),A ;RESET RXFLAG LD (IY+18H),A ;DISABLE RECEIVE TIMER LD (IY+19H),A ;RESET # # "┆
0x26378…26400 (35, 0, 31) UnusedSector ┆ #EIVED CHARACTER INC HL ; INCREMENT CHARACTER POINTER LD (IY+2EH),L ; SAVE NEW CHARACTER POINTER LD (IY+2FH),H ; RET ;FI # # ~┆
0x26400…26488 (36, 0, 0) DataSector
[…0x5…]
0x26730…267b8 (36, 0, 6) UnusedSector ┆ $ $ 791101 791101 +u┆
0x267b8…26840 (36, 0, 7) UnusedSector ┆ $ RECRES TIM4ST TIM3ST TIM2ST TIM1ST( LAT4CH LAT3CH LAT2CH LAT1CH TIMER SUBENQc R $ $ ┆
0x26840…268c8 (36, 0, 8) DataSector
[…0x2…]
0x269d8…26a60 (36, 0, 11) Descriptor {
0x269d8…26a60 am = CHS(36, 0, 11, #4) // 0x269d8 @0x0
0x269d8…26a60 rsv0 = 00000000 // 0x269da @0x2
0x269d8…26a60 file_id = 0000 // 0x269de @0x6
0x269d8…26a60 dirsect = (22, 0, 20) // 0x269e0 @0x8
0x269d8…26a60 firstsect = (36, 0, 16) // 0x269e2 @0xa
0x269d8…26a60 lastsect = (40, 0, 8) // 0x269e4 @0xc
0x269d8…26a60 type = 0x20 // 0x269e6 @0xe
0x269d8…26a60 reccnt = 0x0007 // 0x269e7 @0xf
0x269d8…26a60 reclen = 0x0080 // 0x269e9 @0x11
0x269d8…26a60 blklen = 0x0080 // 0x269eb @0x13
0x269d8…26a60 prop = 0x00 // 0x269ed @0x15
0x269d8…26a60 adr = 0x0000 // 0x269ee @0x16
0x269d8…26a60 lastbytes = 0x001a // 0x269f0 @0x18
0x269d8…26a60 created = »791101 « // 0x269f2 @0x1a
0x269d8…26a60 modified = »791101 « // 0x269fa @0x22
0x269d8…26a60 avail = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // 0x26a02 @0x2a
0x269d8…26a60 prev = (22, 0, 20) // 0x26a5a @0x82
0x269d8…26a60 next = (36, 0, 16) // 0x26a5c @0x84
0x269d8…26a60 crc = 4375 // 0x26a5e @0x86
0x269d8…26a60 }
0x26a60…26ae8 (36, 0, 12) UnusedSector ┆ $CT4CHm RCT3CHw RCT2CH RCT1CH LIA_ST $ $a ┆
0x26ae8…26b70 (36, 0, 13) DataSector
[…0x3…]
0x26d08…26d90 (36, 0, 17) UnusedSector ┆ $ m Ye C 3 o g ~+ ( 5~< #5 ! @4 M w m ! ( \ ! \ ! \ ! \ $ $ `┆
0x26d90…26e18 (36, 0, 18) DataSector
[…0x3…]
0x26fb0…27038 (36, 0, 22) UnusedSector ┆ $ [ 7 0 > #4> ^* V+ N, F-! q#p n( f) c 6* 6+ : w m ! ( \ ! \ ! \ ! \ $ ]"┆
0x27038…270c0 (36, 0, 23) DataSector
[…0x3…]
0x27258…272e0 (36, 0, 27) Descriptor {
0x27258…272e0 am = CHS(36, 0, 27, #4) // 0x27258 @0x0
0x27258…272e0 rsv0 = 00000000 // 0x2725a @0x2
0x27258…272e0 file_id = 0000 // 0x2725e @0x6
0x27258…272e0 dirsect = (22, 0, 25) // 0x27260 @0x8
0x27258…272e0 firstsect = (36, 0, 29) // 0x27262 @0xa
0x27258…272e0 lastsect = (44, 0, 0) // 0x27264 @0xc
0x27258…272e0 type = 0x20 // 0x27266 @0xe
0x27258…272e0 reccnt = 0x001d // 0x27267 @0xf
0x27258…272e0 reclen = 0x0080 // 0x27269 @0x11
0x27258…272e0 blklen = 0x0080 // 0x2726b @0x13
0x27258…272e0 prop = 0x00 // 0x2726d @0x15
0x27258…272e0 adr = 0x0000 // 0x2726e @0x16
0x27258…272e0 lastbytes = 0x000a // 0x27270 @0x18
0x27258…272e0 created = »791101 « // 0x27272 @0x1a
0x27258…272e0 modified = »791101 « // 0x2727a @0x22
0x27258…272e0 avail = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // 0x27282 @0x2a
0x27258…272e0 prev = (22, 0, 25) // 0x272da @0x82
0x27258…272e0 next = (36, 0, 29) // 0x272dc @0x84
0x27258…272e0 crc = eba8 // 0x272de @0x86
0x27258…272e0 }
0x272e0…27368 (36, 0, 28) DataSector
[…0x19…]
0x280b0…28138 (37, 0, 22) Descriptor {
0x280b0…28138 am = CHS(37, 0, 22, #4) // 0x280b0 @0x0
0x280b0…28138 rsv0 = 00000000 // 0x280b2 @0x2
0x280b0…28138 file_id = 0000 // 0x280b6 @0x6
0x280b0…28138 dirsect = (22, 0, 1) // 0x280b8 @0x8
0x280b0…28138 firstsect = (37, 0, 27) // 0x280ba @0xa
0x280b0…28138 lastsect = (40, 0, 31) // 0x280bc @0xc
0x280b0…28138 type = 0x20 // 0x280be @0xe
0x280b0…28138 reccnt = 0x0012 // 0x280bf @0xf
0x280b0…28138 reclen = 0x0080 // 0x280c1 @0x11
0x280b0…28138 blklen = 0x0080 // 0x280c3 @0x13
0x280b0…28138 prop = 0x00 // 0x280c5 @0x15
0x280b0…28138 adr = 0x0000 // 0x280c6 @0x16
0x280b0…28138 lastbytes = 0x0042 // 0x280c8 @0x18
0x280b0…28138 created = »791101 « // 0x280ca @0x1a
0x280b0…28138 modified = »791101 « // 0x280d2 @0x22
0x280b0…28138 avail = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // 0x280da @0x2a
0x280b0…28138 prev = (22, 0, 1) // 0x28132 @0x82
0x280b0…28138 next = (37, 0, 27) // 0x28134 @0x84
0x280b0…28138 crc = d035 // 0x28136 @0x86
0x280b0…28138 }
0x28138…281c0 (37, 0, 23) DataSector
[…0x8…]
0x28600…28688 (38, 0, 0) UnusedSector ┆ &WAP CALL TRAROU JR SWAPREG REC1ROU CALL REG1SWAP REC2ROU CALL REG2SWAP REC3ROU CALL REG3SWAP REC4ROU CALL REG4SWAP CALL REC & & ┆
0x28688…28710 (38, 0, 1) UnusedSector ┆ &Y+25H) ; 19 LD DE,08H ; 10 ADD HL,DE ; 11 LD A,(HL) ; 07 AND 010H ; IF SYNCHRONIZATION ACCEPT 07 JR NZ, & ' ┆
0x28710…28798 (38, 0, 2) UnusedSector ┆ & AF,AF' EI RETI END ;ECHO & U┆
0x28798…28820 (38, 0, 3) DataSector
0x28820…288a8 (38, 0, 4) UnusedSector ┆ & IF SEACHING FOR SYNCH CP 00H ; 07 JR NZ,NOSYN ;THEN DO 10 LD L,(IY+24H) ; GET CONTENT OF READ REGISTER 0 19 LD H,(I & & l┆
0x288a8…28930 (38, 0, 5) DataSector
0x28930…289b8 (38, 0, 6) UnusedSector ┆ & & 791101 791101 ┆
0x289b8…28a40 (38, 0, 7) UnusedSector ┆ &*P 43 *L ON ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ; CH1PRO :SPECIFIC FOR CHANNEL 1,2,3 & & ┆
0x28a40…28ac8 (38, 0, 8) DataSector
0x28ac8…28b50 (38, 0, 9) UnusedSector ┆ &ROU JR SWAPREG EXT1STA CALL REG1SWAP EXT2STA CALL REG2SWAP EXT3STA CALL REG3SWAP EXT4STA CALL REG4SWAP CALL STATUS_INTERRUPT & & ┆
0x28b50…28bd8 (38, 0, 10) DataSector
0x28bd8…28c60 (38, 0, 11) UnusedSector ┆ & ' 1 820804 791101 { ┆
0x28c60…28ce8 (38, 0, 12) UnusedSector ┆ & AND 4 ; FILE CH1PRO.S ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< EXTERNAL TRAROU EXTE & & ┆
0x28ce8…28d70 (38, 0, 13) DataSector
0x28d70…28df8 (38, 0, 14) UnusedSector ┆ & JR SWAPREG ERR1REC CALL REG1SWAP ERR2REC CALL REG2SWAP ERR3REC CALL REG3SWAP ERR4REC CALL REG4SWAP CALL ERROR_HANDLER JR S & & ┆
0x28df8…28e80 (38, 0, 15) DataSector
0x28e80…28f08 (38, 0, 16) UnusedSector ┆ &*P 42 *INCLUDE CONSTANT.S ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ;STATUS_INTERRUPT: ; & &EV┆
0x28f08…28f90 (38, 0, 17) UnusedSector ┆ &RNAL RECROU EXTERNAL STATUS_INTERRUPT EXTERNAL ERROR_HANDLER EXTERNAL CHA1TAB EXTERNAL CHA2TAB EXTERNAL CHA3TAB EXTERNAL & &6 ┆
0x28f90…29018 (38, 0, 18) DataSector
0x29018…290a0 (38, 0, 19) UnusedSector ┆ &WAPREG REG1SWAP EX AF,AF' EXX POP HL PUSH IY LD IY,CHA1TAB LD BC,09H ADD HL,BC PUSH HL RET REG2SWAP EX AF,AF' EXX & & .┆
0x290a0…29128 (38, 0, 20) DataSector
0x29128…291b0 (38, 0, 21) UnusedSector ┆ & EXTERNAL/STATUS INTERRUPT PROCESS CHANNEL 1 ;FILE: EXTSTA.SRC ; MODIFIED BY JLA 820401 : MACRO SIOCON TO PROC. SIOREADWRITE ; & & >┆
0x291b0…29238 (38, 0, 22) UnusedSector ┆ &CHA4TAB GLOBAL TRA1ROU,REC1ROU,EXT1STA,ERR1REC GLOBAL TRA2ROU,REC2ROU,EXT2STA,ERR2REC GLOBAL TRA3ROU,REC3ROU,EXT3STA,ERR3RE & & ┆
0x29238…292c0 (38, 0, 23) DataSector
0x292c0…29348 (38, 0, 24) UnusedSector ┆ &POP HL PUSH IY LD IY,CHA2TAB LD BC,06H ADD HL,BC PUSH HL RET REG3SWAP EXX EX AF,AF' POP HL PUSH IY LD IY,CHA3TAB LD & & ┆
0x29348…293d0 (38, 0, 25) DataSector
0x293d0…29458 (38, 0, 26) UnusedSector ┆ &<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< GLOBAL STATUS_INTERRUPT EXTERNAL SIOREADWRITE & &9}┆
0x29458…294e0 (38, 0, 27) UnusedSector ┆ &C GLOBAL TRA4ROU,REC4ROU,EXT4STA,ERR4REC TRA1ROU CALL REG1SWAP TRA2ROU CALL REG2SWAP TRA3ROU CALL REG3SWAP TRA4ROU CALL REG4S & &g3┆
0x294e0…29568 (38, 0, 28) DataSector
0x29568…295f0 (38, 0, 29) UnusedSector ┆ &BC,03H ADD HL,BC PUSH HL RET REG4SWAP EXX EX AF,AF' POP HL PUSH IY PUSH HL LD IY,CHA4TAB RET SWAPREG POP IY EXX EX & & I┆
0x295f0…29678 (38, 0, 30) DataSector
0x29678…29700 (38, 0, 31) UnusedSector ┆ & EXTERNAL SUBENQ EXTERNAL HUNT STATUS_INTERRUPT LD BC,0000000000000000B CALL SIOREADWRITE ; SIOCON 0,R,D,D LD A,(IY+26H) ; & & ┆
0x29700…29788 (39, 0, 0) UnusedSector ┆ 'T LOOP1 AND LOOP2 LD A,0DFH OUT (APIO1+2),A ;SET CLEAR CALL TTIM1 CALL TTIM2 LD HL,6 LD C,ATIM1 ;SET CLOCK 1,2 = 333 ' ' ┆
0x29788…29810 (39, 0, 1) UnusedSector ┆ ' ( 791101 791101 8┆
0x29810…29898 (39, 0, 2) UnusedSector ┆ ' Y T8253 TTIM2 TTIM1 ' ( ┆
0x29898…29920 (39, 0, 3) UnusedSector ┆ 'BH),00H ; ELEMENT 19 LD L,(IY+28H) ; TRANSFER BUFFER 19 LD H,(IY+29H) ; 19 CALL SUBENQ ; TO QUEUE 157 ; ' ' ┆
0x29920…299a8 (39, 0, 4) DataSector
0x299a8…29a30 (39, 0, 5) UnusedSector ┆ 'RES1EXT ; THEN DO 10 LD A,01H ; SYNC_STATUS = 01H 07 LD (IY+26H),A ; 19 LD (IY+1FH),02H ; NEXT INT.ROUTINE = STAXRE & 'C ┆
0x29a30…29ab8 (39, 0, 6) UnusedSector ┆ ' ' S 791101 791101 %j┆
0x29ab8…29b40 (39, 0, 7) UnusedSector ┆ ' *P 42 *INCLUDE CONSTANT.S GLOBAL START EXTERNAL INTSIO EXTERNAL TTIM1,TTIM2 ; *E START: ; ***** INITIALIZE CPU ***** ; ' '_ ┆
0x29b40…29bc8 (39, 0, 8) UnusedSector ┆ ' END SYNNO CALL HUNT ; GET NEW INTERRUPT VECTOR RES1EXT LD BC,0110000000010000B CALL SIOREADWRITE ; SIOCON 0,W,S,010H ' ' ?┆
0x29bc8…29c50 (39, 0, 9) UnusedSector ┆ ' ' 791101 791101 r ┆
0x29c50…29cd8 (39, 0, 10) UnusedSector ┆ 'C LD BC,1010001100100000B CALL SIOREADWRITE ; SIOCON 3,W,R,020H JR RES1EXT ; END ;ELSE DO NOSYN LD L,(IY+24H) ; ' ' ┆
0x29cd8…29d60 (39, 0, 11) UnusedSector ┆ ' GLOBAL TRA1ROU,REC1ROU,EXT1STA,ERR1REC GLOBAL TRA2ROU,REC2ROU,EXT2STA,ERR2REC GLOBAL TRA3ROU,REC3ROU,EXT3STA,ERR3REC GLOBAL ' '3 ┆
0x29d60…29de8 (39, 0, 12) UnusedSector ┆ 'DI ; DISABLE INTERRUPT IM 2 ; SELECT INTERRUPT MODE 2 ; ;SET PIO 1 MODE LD A,10000001B ;PORT A : OUTPUT ;PORT B : O ' ' s┆
0x29de8…29e70 (39, 0, 13) UnusedSector ┆ ' RET ; RETURN FROM GENEREL PROCESS *E ;ECHO ' 7 ┆
0x29e70…29ef8 (39, 0, 14) DataSector
0x29ef8…29f80 (39, 0, 15) UnusedSector ┆ 'GET CONTENT OF READ REGISTER 0 19 LD H,(IY+25H) ; 19 LD DE,08H ; 10 ADD HL,DE ; 11 LD A,(HL) ; 07 AND 01 ' ':8┆
0x29f80…2a008 (39, 0, 16) UnusedSector ┆ 'TRA4ROU,REC4ROU,EXT4STA,ERR4REC TRA1ROU TRA2ROU TRA3ROU TRA4ROU EI RETI REC1ROU IN A,(C) EI RETI REC2ROU IN A,(C) EI ' ' ┆
0x2a008…2a090 (39, 0, 17) UnusedSector ┆ 'UTPUT ;PORT C (LOWER) : INPUT OUT (APIO1+3),A ;PORT C (UPPER) : OUTPUT ;SET PIO 2 MODE LD A,10001010B ;PORT A : OUTP ' ' '┆
0x2a090…2a118 (39, 0, 18) UnusedSector ┆ 'KHZ OUT (C),L OUT (C),H LD C,ATIM1+1 OUT (C),L OUT (C),H LD C,ATIM2 OUT (C),L OUT (C),H LD C,ATIM2+1 OUT (C),L OUT ' ' ┆
0x2a118…2a1a0 (39, 0, 19) DataSector
0x2a1a0…2a228 (39, 0, 20) UnusedSector ┆ '0H ; IF SYNCHRONIZATION LOST 07 JR Z,RES1EXT ; THEN DO 10 LD E,(IY+2AH) ; IF RECEIVING 19 LD D,(IY+2BH) ; 19 LD ' '~ ┆
0x2a228…2a2b0 (39, 0, 21) UnusedSector ┆ 'RETI REC3ROU IN A,(C) EI RETI REC4ROU IN A,(C) EI RETI EXT1STA EXT2STA EXT3STA EXT4STA EI RETI ERR1REC ERR2REC ERR3 ' ' ┆
0x2a2b0…2a338 (39, 0, 22) UnusedSector ┆ 'UT ;PORT B : INPUT ;PORT C (LOWER) : OUTPUT OUT (APIO2+3),A ;PORT C (UPPER) : INPUT XOR A OUT (APIO2),A ;RESET OUTP ' ' ┆
0x2a338…2a3c0 (39, 0, 23) UnusedSector ┆ '(C),H LD HL,INTSIO LD A,H LD I,A ;LOAD INTERRUPT VECTOR (MSB) RET ;ECHO ' 2 ┆
0x2a3c0…2a448 (39, 0, 24) DataSector
0x2a448…2a4d0 (39, 0, 25) UnusedSector ┆ 'A,E ; IN PROGRESS 04 OR D ; 04 JR Z,SYNNO ; THEN DO 10 LD HL,STWOFF+1 ; CALCULATE STA- ADD HL,DE ; TUS WORD ' ' ┆
0x2a4d0…2a558 (39, 0, 26) UnusedSector ┆ 'REC ERR4REC EI RETI ' %┆
0x2a558…2a5e0 (39, 0, 27) UnusedSector ┆ 'UT PORTS OUT (APIO2+2),A LD A,0FFH OUT (APIO1),A ;SET INTERNAL CLOCK MODE LD A,80H OUT (APIO1+1),A ;TURN OFF TEST LED, SE ' ' i┆
0x2a5e0…2a668 (39, 0, 28) DataSector
[…0x1…]
0x2a6f0…2a778 (39, 0, 30) UnusedSector ┆ ' AD- 11 ; DRESS SET 0,(HL) ; SET SYNCHRONI- 15 ; ZATION ERROR BIT LD (IY+2AH),00H ; RESET BUFFER 19 LD (IY+2 ' ' ┆
0x2a778…2a800 (39, 0, 31) UnusedSector ┆ ' }} , ┆
0x2a800…2a888 (40, 0, 0) DataSector
[…0x4…]
0x2aaa8…2ab30 (40, 0, 5) UnusedSector ┆ ( D TTIM2 TTIM1 INTSIO START ( ( ┆
0x2ab30…2abb8 (40, 0, 6) UnusedSector ┆ ( Y 0 0 > y ! i a X P| > >6 y>v y> y ! i a X P Rx > ' ┆
0x2abb8…2ac40 (40, 0, 7) DataSector
[…0x2…]
0x2ad50…2add8 (40, 0, 10) UnusedSector ┆ ( J 0 0 ^> s> # "> p> q> r ! i a i a 0 i a 1 i a! | G ( ┆
0x2add8…2ae60 (40, 0, 11) Descriptor {
0x2add8…2ae60 am = CHS(40, 0, 11, #4) // 0x2add8 @0x0
0x2add8…2ae60 rsv0 = 00000000 // 0x2adda @0x2
0x2add8…2ae60 file_id = 0000 // 0x2adde @0x6
0x2add8…2ae60 dirsect = (22, 0, 1) // 0x2ade0 @0x8
0x2add8…2ae60 firstsect = (40, 0, 13) // 0x2ade2 @0xa
0x2add8…2ae60 lastsect = (51, 0, 16) // 0x2ade4 @0xc
0x2add8…2ae60 type = 0x20 // 0x2ade6 @0xe
0x2add8…2ae60 reccnt = 0x0015 // 0x2ade7 @0xf
0x2add8…2ae60 reclen = 0x0080 // 0x2ade9 @0x11
0x2add8…2ae60 blklen = 0x0080 // 0x2adeb @0x13
0x2add8…2ae60 prop = 0x00 // 0x2aded @0x15
0x2add8…2ae60 adr = 0x0000 // 0x2adee @0x16
0x2add8…2ae60 lastbytes = 0x0004 // 0x2adf0 @0x18
0x2add8…2ae60 created = »791101 « // 0x2adf2 @0x1a
0x2add8…2ae60 modified = »791101 « // 0x2adfa @0x22
0x2add8…2ae60 avail = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // 0x2ae02 @0x2a
0x2add8…2ae60 prev = (22, 0, 1) // 0x2ae5a @0x82
0x2add8…2ae60 next = (40, 0, 13) // 0x2ae5c @0x84
0x2add8…2ae60 crc = 0671 // 0x2ae5e @0x86
0x2add8…2ae60 }
0x2ae60…2aee8 (40, 0, 12) DataSector
[…0xc…]
0x2b548…2b5d0 (40, 0, 25) UnusedSector ┆ ( ( 791101 791101 x┆
0x2b5d0…2b658 (40, 0, 26) DataSector
[…0x5…]
0x2b900…2b988 (41, 0, 0) UnusedSector ┆ ) *************** ; 4 * WRITE- * SIOXCH+04H ; * REGISTER 4 * ; *************** ; 3 * WRITE- * SIOXCH+03H ; * ) ) ┆
0x2b988…2ba10 (41, 0, 1) UnusedSector ┆ ) * REGISTER 2 * ; *************** ; 9 * READ- * SIOXCH+09H ; * REGISTER 1 * ; *************** ; 8 * READ- * ) )G ┆
0x2ba10…2ba98 (41, 0, 2) UnusedSector ┆ )PIO2),A OUT (APIO2+2),A LD A,0FFH OUT (APIO1),A ;SET INTERNAL CLOCK MODE LD A,90H OUT (APIO1+1),A ;TURN ON TEST LED, SET LO ) )1 ┆
0x2ba98…2bb20 (41, 0, 3) UnusedSector ┆ ) REGISTER 3 * ; *************** ; 2 * WRITE- * SIOXCH+02H ; * REGISTER 2 * ; *************** ; 1 * WRITE- * ) *g]┆
0x2bb20…2bba8 (41, 0, 4) UnusedSector ┆ ) (HL) JR NZ,O1ERR DEC HL DJNZ O2LOOP ;NEXT N CALL TRAM ;DO RAM TEST CALL TPIO1 ;DO PIO1 TEST CALL TPIO2 ;DO PIO2 TES ) ) ┆
0x2bba8…2bc30 (41, 0, 5) UnusedSector ┆ ) 1 ! j 791101 791101 -3┆
0x2bc30…2bcb8 (41, 0, 6) UnusedSector ┆ )*INCLUDE CONST.S GLOBAL OBT,ERROR,DETECT,MDELAY EXTERNAL TRAM,TPIO1,TPIO2,TTIM1,TTIM2,TTIM3,TSIO1,TSIO2 EXTERNAL TDMA,TSIOD ) ) [┆
0x2bcb8…2bd40 (41, 0, 7) UnusedSector ┆ )OP1,LOOP2 LD A,0DFH OUT (APIO1+2),A ;SET CLEAR LD SP,RAMEND+1 LD A,55H LD B,00H O1LOOP DJNZ O12NEXT O1ERR LD A,0BH CALL ) )9q┆
0x2bd40…2bdc8 (41, 0, 8) UnusedSector ┆ )************************************ OVLDET PROCEDURE ENTRY PLZVAR PLZIN Q_NO PLZOUT STATUS ENT 0 LD DE, SYSRAM+240H )% ┆
0x2bdc8…2be50 (41, 0, 9) UnusedSector ┆ )T IN A,(APIO1+2) SET 5,A OUT (APIO1+2),A ;RESET CLEAR CALL ERRCHK JR NZ,O3NEXT ;IF PIO ERRORS THEN STOP HW TESTING CALL ) )_ ┆
0x2be50…2bed8 (41, 0, 10) UnusedSector ┆ )ING CALL TSIODMA ;DO DMA DATA TRANSFER TEST IN A,(APIO1+2) SET 6,A OUT (APIO1+2),A ;DISABLE DMA-SIO TRANSFER O3NEXT I ) 0d ┆
0x2bed8…2bf60 (41, 0, 11) UnusedSector ┆ ) 0 R v 791101 791101 ┆
0x2bf60…2bfe8 (41, 0, 12) UnusedSector ┆ )MA,INTCTC,EXBEGIN DI JR OBT ; *L OFF DEFS 5BH *L ON JR OBT ;ENTRY IF TEST ACTIVATED *L OFF DEFS 07H *L ON OBT DI ) ) ┆
0x2bfe8…2c070 (41, 0, 13) UnusedSector ┆ ) * Y 791101 791101 Y@┆
0x2c070…2c0f8 (41, 0, 14) UnusedSector ┆ )ERROR O12NEXT LD HL,5555H ;FIND LAST RAM ADDRESS PUSH HL POP HL PUSH HL CP H JR NZ,O1LOOP CP L JR NZ,O1LOOP POP HL LD A ) ) ┆
0x2c0f8…2c180 (41, 0, 15) UnusedSector ┆ )TTIM1 ;DO TIMER 1 (8253-1) TEST CALL TTIM2 ;DO TIMER 2 (8253-2) TEST CALL TTIM3 ;DO TIMER 3 (Z80-CTC) TEST CALL ERRCHK JR ) )eC┆
0x2c180…2c208 (41, 0, 16) UnusedSector ┆ ) SIOTST PAGE 1 LOC OBJ CODE M STMT SOURCE STATEMENT ) */[┆
0x2c208…2c290 (41, 0, 17) UnusedSector ┆ ) ;SET PIO 1 MODE ;BEGIN LD A,10000001B ; PORT A : OUTPUT ; PORT B : OUTPUT ; PORT C (LOWER) : INPUT OUT (APIO1 ) ) ┆
0x2c290…2c318 (41, 0, 18) UnusedSector ┆ );>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ; FILE SIOCALL.S ; NODIFIED BY JLA 820401 : MACRO SIOCOND CHANGE ) )U ┆
0x2c318…2c3a0 (41, 0, 19) UnusedSector ┆ ),0FFH CP B JR Z,O2NEXT ;IF ERROR IN STACK THEN DISPLAY LD A,0BH JP ERROR O2NEXT LD HL,0 ADD HL,SP DEC HL LD B,0EH ;TES ) ) O┆
0x2c3a0…2c428 (41, 0, 20) DataSector
0x2c428…2c4b0 (41, 0, 21) UnusedSector ┆ ) LD H,0 GETBYTE L, Q_NO ;GET QUEU.NO. ADD HL,HL ADD HL,HL ADD HL,HL ;8 * QUEU.NO. ADD HL,DE INC HL LD A,(HL) ) *=_┆
0x2c4b0…2c538 (41, 0, 22) UnusedSector ┆ ) SIOXCH+08H ; * REGISTER 0 * ; *************** ; 7 * WRITE- * SIOXCH+07H ; * REGISTER 7 * ; *************** ) )As┆
0x2c538…2c5c0 (41, 0, 23) UnusedSector ┆ )D TO THIS PROCEDURE ; SIOREADWRITE ;THE SIOREADWRITE IS USED TO CONTROL THE READ/WRITE REGISTERS AT THE Z80-SIO. ;TO EACH SIO I ) )E ┆
0x2c5c0…2c648 (41, 0, 24) UnusedSector ┆ )+3),A ; PORT C (UPPER) : OUTPUT ;END ;SET PIO 2 MODE ;BEGIN LD A,10001010B ; PORT A : OUTPUT ; PORT B : IN ) ) ┆
0x2c648…2c6d0 (41, 0, 25) UnusedSector ┆ )T STACK AREA O2LOOP LD A,55H ;FOR N = STACK TOP TO BOTTOM STEP - 1 LD (HL),A ; WRITE DATA CP (HL) ; READ DATA JR NZ,O1ER ) ) ┆
0x2c6d0…2c758 (41, 0, 26) UnusedSector ┆ ) NZ,O3NEXT ;IF TIMER ERRORS THEN STOP HW TESTING CALL TSIO1 ;DO SIO 1 TEST CALL TSIO2 ;DO SIO 2 TEST CALL ERRCHK JR NZ,O ) ) ┆
0x2c758…2c7e0 (41, 0, 27) UnusedSector ┆ ) ; 6 * WRITE- * SIOXCH+06H ; * REGISTER 6 * ; *************** ; 5 * WRITE- * SIOXCH+05H ; * REGISTER 5 * ; ) ) #┆
0x2c7e0…2c868 (41, 0, 28) UnusedSector ┆ )S CONNECTED A TABLE CONTANING THE VALUE OF THE READ/WRITE REGIS- ;TERS. ; ; *************** ; 10 * READ- * SIOXCH+0AH ; ) )+4┆
0x2c868…2c8f0 (41, 0, 29) UnusedSector ┆ )PUT ; PORT C (LOWER) : OUTPUT OUT (APIO2+3),A ; PORT C (UPPER) : INPUT ;END ;RESET OUTPUT PORTS LD A,0 OUT (A ) ) t┆
0x2c8f0…2c978 (41, 0, 30) UnusedSector ┆ )R ; LOOP IF ERROR LD A,0AAH LD (HL),A CP (HL) JR NZ,O1ERR LD A,0FFH LD (HL),A CP (HL) JR NZ,O1ERR XOR A LD (HL),A CP ) ) ┆
0x2c978…2ca00 (41, 0, 31) UnusedSector ┆ )3NEXT ;IF SIO ERRORS THEN STOP HW TESTING CALL TDMA ;DO DMA TEST CALL ERRCHK JR NZ,O3NEXT ;IF DMA ERRORS THEN STOP HW TEST ) ) ┆
0x2ca00…2ca88 (42, 0, 0) DataSector
0x2ca88…2cb10 (42, 0, 1) UnusedSector ┆ * ELSE POP BC LD DE,08H ; BEGIN ADD HL,DE LD (HL),A ; END RET ; RETURN END * @L┆
0x2cb10…2cb98 (42, 0, 2) UnusedSector ┆ * 6 ;* 7 ;* ENTRY : DE = ADDRESS OF MESSAGE BUFFER 8 ;* IY = ADDRESS OF * * ┆
0x2cb98…2cc20 (42, 0, 3) UnusedSector ┆ *IY+24H) ; HL=SIOTABLE ADR LD H,(IY+25H) LD A,B AND 07H ; HL=REGISTER NR + HL LD E,A LD D,0H ADD HL,DE BIT 7,B JR NZ,REG * *0 ┆
0x2cc20…2cca8 (42, 0, 4) UnusedSector ┆ * ;* 17 ;* DESTROY : SIO WRITE REGISTERS 18 ;* A,F,B,C,H,L 19 * + C┆
0x2cca8…2cd30 (42, 0, 5) UnusedSector ┆ *SIOXCH+01H ; * REGISTER 1 * ; *************** ; 0 * WRITE- * SIOXCH+00H ; * REGISTER 0 * ; *************** ) * ┆
0x2cd30…2cdb8 (42, 0, 6) UnusedSector ┆ * ;GET NO.OF BUFFERS IN QUEU CP 02 JP P,OVL1 ;IF LESS THAN 3 BUFFERS IN QUEU THEN LD A,NO_OVL ; STATUS := NO_OVERLOA ) * $┆
0x2cdb8…2ce40 (42, 0, 7) DataSector
0x2ce40…2cec8 (42, 0, 8) UnusedSector ┆ *NO_ZERO ; IF REGISTERNR=0 THEN BIT 5,B ; IF READ THEN JR NZ,REGZERO_WRITE LD DE,08H ADD HL,DE PUSH BC LD C,(IY+1DH) I * *- ┆
0x2cec8…2cf50 (42, 0, 9) DataSector
0x2cf50…2cfd8 (42, 0, 10) UnusedSector ┆ **E ; ;THE LETTER X IN SIOXCH SYMBOLIZE THE CHANNEL NUMBER.CHANNEL 2 ==> TABLE NAME = SIO2CH ;THE CONTENT OF WRITE REGISTER 0 WIL * *|*┆
0x2cfd8…2d060 (42, 0, 11) UnusedSector ┆ *D JR OVL2 ;ELSE OVL1: LD A,OVL ; STATUS := OVERLOAD ;FI OVL2: PUTBYTE STATUS, A RTN 1 END OVLDET END MODULE ; * * ┆
0x2d060…2d0e8 (42, 0, 12) DataSector
0x2d0e8…2d170 (42, 0, 13) UnusedSector ┆ *N A,(C) POP BC LD (HL),A RET REGZERO_WRITE LD A,C ; ELSE ; ENDIF PUSH BC LD C,(IY+1DH) OUT (C),A POP BC RET RE * *o ┆
0x2d170…2d1f8 (42, 0, 14) DataSector
0x2d1f8…2d280 (42, 0, 15) UnusedSector ┆ *L ALWAYS BE ZERO,BECAUSE OF THE APPLICATION ;OF WRITE REGISTER 0.SEE TECHNICAL MANUAL FOR THE Z80 SIO. ; PARAMETER IN REGISTER B * * ┆
0x2d280…2d308 (42, 0, 16) UnusedSector ┆ *ECHO * ┆
0x2d308…2d390 (42, 0, 17) DataSector
0x2d390…2d418 (42, 0, 18) UnusedSector ┆ *GNO_ZERO LD A,B AND 07H PUSH BC LD C,(IY+1DH) OUT (C),A POP BC BIT 5,B ; IF WRITE THEN JR Z,READ_1_3 ; BEGIN BIT 6,B * * 9┆
0x2d418…2d4a0 (42, 0, 19) UnusedSector ┆ * ASM 5.9 1 ;***************************************************************************** ) * a┆
0x2d4a0…2d528 (42, 0, 20) UnusedSector ┆ *C ; ; REG B BIT 5 = 1=WRITE SELECTED 0=READ SELECTED ; ; REG B BIT 6 = 1=SET SPECIFIED VALUE 0= RESET VALUE ; ; * * ┆
0x2d528…2d5b0 (42, 0, 21) UnusedSector ┆ *CHANNEL TABLE 9 ;* 10 ;* EXIT : DE = ADDRESS OF MESSAGE BUFFER * * ┆
0x2d5b0…2d638 (42, 0, 22) DataSector
0x2d638…2d6c0 (42, 0, 23) UnusedSector ┆ * JR Z,RESET_VALUE ; IF ACTION=SET THEN LD A,(HL) OR C JR NEXT2 RESET_VALUE LD A,C ; ELSE CPL LD E,A LD A,(HL) A * * ?┆
0x2d6c0…2d748 (42, 0, 24) UnusedSector ┆ * 2 ;* PROCEDURE NAME : LOOPTST 3 ;* 4 ;* DESCRIPTION : THE ROUTINE * * ┆
0x2d748…2d7d0 (42, 0, 25) UnusedSector ┆ * REG B BIT O-3 = REGISTER NUMBER ; ; REG B BIT 7 = REGISTERNR IS ZERO --> IS 0 ; ; REG C BIT 0-7 = VALUE * *e ┆
0x2d7d0…2d858 (42, 0, 26) UnusedSector ┆ *11 ;* ERROR CODE IN BUFFER : 12 ;* 4 : TRANSMIT ERROR 13 ;* 5 : TX CLOCK ER * * "┆
0x2d858…2d8e0 (42, 0, 27) DataSector
0x2d8e0…2d968 (42, 0, 28) UnusedSector ┆ *ND E NEXT2 LD (HL),A ; ENDIF PUSH BC LD C,(IY+1DH) OUT (C),A POP BC RET READ_1_3 PUSH BC LD C,(IY+1DH) IN A,(C) ; * * ┆
0x2d968…2d9f0 (42, 0, 29) UnusedSector ┆ * LOOPS THE CONTENT OF A MESSAGE BUFFER ON 5 ;* THE Z80 SIO, AND TESTS THE SIO FOR ERRORS * *O ┆
0x2d9f0…2da78 (42, 0, 30) UnusedSector ┆ *TO BE SET OR RESET ; ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< SIOREADWRITE GLOBAL SIOREADWRITE LD L,( * * @┆
0x2da78…2db00 (42, 0, 31) UnusedSector ┆ *ROR 14 ;* 6 : RECEIVE ERROR 15 ;* 7 : TRANSMISSION ERROR 16 * * ┆
0x2db00…2db88 (43, 0, 0) UnusedSector ┆ + Z,LOOPOUT ;IF DATA BYTECOUNT = 0 THEN EXIT 102 0012 FD4E15 103 LD C,(IY+15H) 0015 3E18 + + .┆
0x2db88…2dc10 (43, 0, 1) UnusedSector ┆ + 119 0031 ED68 120 IN L,(C) 0033 CB55 121 BIT 2,L 0035 0604 122 LD B,4 0037 C + + ┆
0x2dc10…2dc98 (43, 0, 2) DataSector
[…0x2…]
0x2dda8…2de30 (43, 0, 5) UnusedSector ┆ + ;***************************************************************************** 20 *INCLUDE CONST.S * + ┆
0x2de30…2deb8 (43, 0, 6) DataSector
0x2deb8…2df40 (43, 0, 7) UnusedSector ┆ +104 LD A,18H ; 0017 ED79 105 OUT (C),A ;RESET CHANNEL 0019 2E04 106 LD L,4 ; 001B ED69 107 + + 7┆
0x2df40…2dfc8 (43, 0, 8) DataSector
[…0x1…]
0x2e050…2e0d8 (43, 0, 10) UnusedSector ┆ + 89 *L ON 90 91 GLOBAL LOOPTST 92 0000 DB71 + +B ┆
0x2e0d8…2e160 (43, 0, 11) DataSector
0x2e160…2e1e8 (43, 0, 12) UnusedSector ┆ + OUT (C),L ; 001D 3E47 108 LD A,01000111B ;*16 CLOCK 109 ;1 STOP BIT 001F ED79 110 + + ┆
0x2e1e8…2e270 (43, 0, 13) UnusedSector ┆ +CAC00 R 123 CALL Z,SIOERR ;IF TRANSMIT BUFFER NOT EMPTY THEN ERROR 003A FD6E0E 124 LD L,(IY+0EH) 003D FD660F + + ┆
0x2e270…2e2f8 (43, 0, 14) DataSector
0x2e2f8…2e380 (43, 0, 15) UnusedSector ┆ + 93 LOOPTST IN A,(APIO1+1) 0002 CBE7 94 SET 4,A 0004 D371 95 OUT (APIO1+1),A ;TURN ON TEST LED + + ┆
0x2e380…2e408 (43, 0, 16) DataSector
0x2e408…2e490 (43, 0, 17) UnusedSector ┆ + OUT (C),A ;EVEN PARITY 0021 2E03 111 LD L,3 ; 0023 ED69 112 OUT (C),L ; 0025 3EC1 113 LD A + +" ┆
0x2e490…2e518 (43, 0, 18) UnusedSector ┆ + 125 LD H,(IY+0FH) ;GET POINTER TO FIRST CHARACTER 0040 5E 126 LD E,(HL) ;GET FIRST CHARACTER + ," ┆
0x2e518…2e5a0 (43, 0, 19) DataSector
0x2e5a0…2e628 (43, 0, 20) UnusedSector ┆ + 96 0006 FD7312 97 LD (IY+12H),E ;SAVE BUFFER ADDRESS 0009 FD7213 98 LD (IY+13H),D + + ┆
0x2e628…2e6b0 (43, 0, 21) DataSector
0x2e6b0…2e738 (43, 0, 22) UnusedSector ┆ +,11000001B ;8 RX BIT/CHAR 0027 ED79 114 OUT (C),A ;RX ENABLED 0029 2E05 115 LD L,5 ; 002B ED69 + +a ┆
0x2e738…2e7c0 (43, 0, 23) DataSector
[…0x1…]
0x2e848…2e8d0 (43, 0, 25) Descriptor {
0x2e848…2e8d0 am = CHS(43, 0, 25, #4) // 0x2e848 @0x0
0x2e848…2e8d0 rsv0 = 00000000 // 0x2e84a @0x2
0x2e848…2e8d0 file_id = 0000 // 0x2e84e @0x6
0x2e848…2e8d0 dirsect = (22, 0, 25) // 0x2e850 @0x8
0x2e848…2e8d0 firstsect = (43, 0, 26) // 0x2e852 @0xa
0x2e848…2e8d0 lastsect = (61, 0, 13) // 0x2e854 @0xc
0x2e848…2e8d0 type = 0x10 // 0x2e856 @0xe
0x2e848…2e8d0 reccnt = 0x0005 // 0x2e857 @0xf
0x2e848…2e8d0 reclen = 0x0080 // 0x2e859 @0x11
0x2e848…2e8d0 blklen = 0x0080 // 0x2e85b @0x13
0x2e848…2e8d0 prop = 0x00 // 0x2e85d @0x15
0x2e848…2e8d0 adr = 0x0000 // 0x2e85e @0x16
0x2e848…2e8d0 lastbytes = 0x0080 // 0x2e860 @0x18
0x2e848…2e8d0 created = »791101 « // 0x2e862 @0x1a
0x2e848…2e8d0 modified = »791101 « // 0x2e86a @0x22
0x2e848…2e8d0 avail = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // 0x2e872 @0x2a
0x2e848…2e8d0 prev = (22, 0, 25) // 0x2e8ca @0x82
0x2e848…2e8d0 next = (43, 0, 26) // 0x2e8cc @0x84
0x2e848…2e8d0 crc = 61f2 // 0x2e8ce @0x86
0x2e848…2e8d0 }
0x2e8d0…2e958 (43, 0, 26) DataSector
0x2e958…2e9e0 (43, 0, 27) UnusedSector ┆ + 99 000C CDCC00 R 100 CALL CHINIT ;INITIALIZE CHAR.POINTER AND BYTECOUNTERS 000F CA9F00 R 101 JP + + ┆
0x2e9e0…2ea68 (43, 0, 28) UnusedSector ┆ +116 OUT (C),L ; 002D 3E60 117 LD A,01100000B ;8 TX BIT/CHAR 002F ED79 118 OUT (C),A ;TX DISABLED + +S ┆
0x2ea68…2eaf0 (43, 0, 29) DataSector
[…0x4…]
0x2ed10…2ed98 (44, 0, 2) UnusedSector ┆ , 0D 140 DEC C 141 0058 0C 142 LOOP2 INC C ;DO 0059 0C 143 INC C ; 0 , , ┆
0x2ed98…2ee20 (44, 0, 3) DataSector
0x2ee20…2eea8 (44, 0, 4) UnusedSector ┆ ,CALL Z,SIOERR ; IF CHARACTER NOT SENT THEN ERROR 006F ED68 154 IN L,(C) ; 0071 CB55 155 BIT 2,L ; 0073 , -4<┆
0x2eea8…2ef30 (44, 0, 5) DataSector
[…0x3…]
0x2f0c8…2f150 (44, 0, 9) UnusedSector ┆ , SIOTST PAGE 2 LOC OBJ CODE M STMT SOURCE STATEMENT ASM 5 + ,u)┆
0x2f150…2f1d8 (44, 0, 10) DataSector
[…0x3…]
0x2f370…2f3f8 (44, 0, 14) UnusedSector ┆ ,.9 0041 0D 127 DEC C 0042 0D 128 DEC C 0043 ED59 129 OUT (C),E ;LOAD FIRST CHARACER 0045 , ,z ┆
0x2f3f8…2f480 (44, 0, 15) DataSector
[…0x3…]
0x2f618…2f6a0 (44, 0, 19) UnusedSector ┆ , 0C 130 INC C 0046 0C 131 INC C 0047 ED68 132 IN L,(C) 0049 CB55 133 BIT 2,L 004B , ,p ┆
0x2f6a0…2f728 (44, 0, 20) DataSector
0x2f728…2f7b0 (44, 0, 21) UnusedSector ┆ ,05A 0600 144 LD B,0 ; 005C 10FE 145 WAIT1 DJNZ WAIT1 ; 005E 0632 146 LD B,50 ; DELAY 1 MILLI , , ┆
0x2f7b0…2f838 (44, 0, 22) DataSector
[…0x1…]
0x2f8c0…2f948 (44, 0, 24) UnusedSector ┆ , C4AC00 R 134 CALL NZ,SIOERR ;IF TRANSMIT BUFFER EMPTY THEN ERROR 004E 2E05 135 LD L,5 0050 ED69 136 , , D┆
0x2f948…2f9d0 (44, 0, 25) DataSector
0x2f9d0…2fa58 (44, 0, 26) UnusedSector ┆ , SEC. 0060 10FE 147 WAIT2 DJNZ WAIT2 ; 0062 2E01 148 LD L,1 ; 0064 ED69 149 OUT (C),L ; 0066 , ,I ┆
0x2fa58…2fae0 (44, 0, 27) DataSector
[…0x1…]
0x2fb68…2fbf0 (44, 0, 29) UnusedSector ┆ , OUT (C),L 0052 CBDF 137 SET 3,A 0054 ED79 138 OUT (C),A ;ENABLE TX 0056 0D 139 DEC C 0057 , , ┆
0x2fbf0…2fc78 (44, 0, 30) DataSector
0x2fc78…2fd00 (44, 0, 31) UnusedSector ┆ , ED68 150 IN L,(C) ; 0068 CB45 151 BIT 0,L ; 006A 0605 152 LD B,5 ; 006C CCAC00 R 153 , , *┆
0x2fd00…2fd88 (45, 0, 0) UnusedSector ┆ -RRNXT ADD A,B ; CALCULATE ERROR CODE 00C7 77 205 LD (HL),A ; SAVE ERROR CODE IN BUFFER 206 - - ^┆
0x2fd88…2fe10 (45, 0, 1) UnusedSector ┆ -N OFF TEST LED 00AB C9 187 RET 188 189 00AC F5 190 SIOERR P - - ┆
0x2fe10…2fe98 (45, 0, 2) UnusedSector ┆ -PTION : THE ROUTINE INITIALIZES TX CHAR.POINTER AND TX BY- 216 ;* TECOUNT IN CHANNEL TABLE - - 8┆
0x2fe98…2ff20 (45, 0, 3) UnusedSector ┆ - 18C8 171 JR LOOP2 ;OD 172 0090 0C 173 TR1NEXT INC C 0091 0C 174 INC - - ┆
0x2ff20…2ffa8 (45, 0, 4) DataSector
0x2ffa8…30030 (45, 0, 5) UnusedSector ┆ - CCAC00 R 156 CALL Z,SIOERR ; IF NO TX-CLOCK THEN ERROR 0076 CB45 157 BIT 0,L ; 0078 0606 158 LD B , - ┆
0x30030…300b8 (45, 0, 6) UnusedSector ┆ -USH AF 00AD E5 191 PUSH HL 00AE D5 192 PUSH DE 00AF FD5E12 193 LD E,(IY+12H) ;GET BUFFER ADDR - - Z┆
0x300b8…30140 (45, 0, 7) DataSector
0x30140…301c8 (45, 0, 8) UnusedSector ┆ -C 0092 2E01 175 LD L,1 0094 ED69 176 OUT (C),L 0096 ED78 177 IN A,(C) 0098 E670 178 - - ┆
0x301c8…30250 (45, 0, 9) Descriptor {
0x301c8…30250 am = CHS(45, 0, 9, #4) // 0x301c8 @0x0
0x301c8…30250 rsv0 = 00000000 // 0x301ca @0x2
0x301c8…30250 file_id = 0000 // 0x301ce @0x6
0x301c8…30250 dirsect = (22, 0, 6) // 0x301d0 @0x8
0x301c8…30250 firstsect = (45, 0, 14) // 0x301d2 @0xa
0x301c8…30250 lastsect = (45, 0, 24) // 0x301d4 @0xc
0x301c8…30250 type = 0x10 // 0x301d6 @0xe
0x301c8…30250 reccnt = 0x0003 // 0x301d7 @0xf
0x301c8…30250 reclen = 0x0080 // 0x301d9 @0x11
0x301c8…30250 blklen = 0x0080 // 0x301db @0x13
0x301c8…30250 prop = 0x00 // 0x301dd @0x15
0x301c8…30250 adr = 0x0000 // 0x301de @0x16
0x301c8…30250 lastbytes = 0x0080 // 0x301e0 @0x18
0x301c8…30250 created = »791101 « // 0x301e2 @0x1a
0x301c8…30250 modified = »791101 « // 0x301ea @0x22
0x301c8…30250 avail = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // 0x301f2 @0x2a
0x301c8…30250 prev = (22, 0, 6) // 0x3024a @0x82
0x301c8…30250 next = (45, 0, 14) // 0x3024c @0x84
0x301c8…30250 crc = 221f // 0x3024e @0x86
0x301c8…30250 }
0x30250…302d8 (45, 0, 10) UnusedSector ┆ -,6 ; 007A CCAC00 R 159 CALL Z,SIOERR ; IF CHARACTER NOT RECEIVED THEN ERROR 007D 0D 160 DEC C ; 007E 0D - - ┆
0x302d8…30360 (45, 0, 11) UnusedSector ┆ -ESS 00B2 FD5613 194 LD D,(IY+13H) 00B5 211500 195 LD HL,BUFFHEAD+ERROFF 00B8 19 196 ADD HL,DE 00B - -7 ┆
0x30360…303e8 (45, 0, 12) DataSector
0x303e8…30470 (45, 0, 13) UnusedSector ┆ -AND 70H 009A 0607 179 LD B,7 009C C4AC00 R 180 CALL NZ,SIOERR ;IF TRANSMISSION ERROR THEN ERROR - - @┆
0x30470…304f8 (45, 0, 14) DataSector
0x304f8…30580 (45, 0, 15) UnusedSector ┆ - 161 DEC C ; 007F ED78 162 IN A,(C) ; GET RECEIVED CHARACTER 0081 BB 163 CP E ; 0082 06 - - W┆
0x30580…30608 (45, 0, 16) UnusedSector ┆ -9 7E 197 LD A,(HL) 00BA A7 198 AND A 00BB 200B 199 JR NZ,ERROUT ;IF NO ERROR INDICATION ALL - - ┆
0x30608…30690 (45, 0, 17) UnusedSector ┆ - ;FI 00C8 D1 207 ERROUT POP DE 00C9 E1 208 POP HL 00CA F1 209 POP AF 00CB C9 - -a ┆
0x30690…30718 (45, 0, 18) UnusedSector ┆ - 181 009F FD5E12 182 LOOPOUT LD E,(IY+12H) ;GET BUFFER ADDRESS 00A2 FD5613 183 LD D,(IY+13H) 00A5 DB71 - - Y┆
0x30718…307a0 (45, 0, 19) DataSector
0x307a0…30828 (45, 0, 20) UnusedSector ┆ -07 164 LD B,7 ; 0084 C4AC00 R 165 CALL NZ,SIOERR ; IF RX CH AR. <> TX CHAR THEN ERROR 166 - - <┆
0x30828…308b0 (45, 0, 21) UnusedSector ┆ -READY THEN 00BD FD7E14 200 LD A,(IY+14H) ; GET SIO BASE ADDRESS 00C0 CB47 201 BIT 0,A ; 00C2 2802 - -c ┆
0x308b0…30938 (45, 0, 22) UnusedSector ┆ - 210 RET 211 ;ECHO 212 ;************************************************************ - - ┆
0x30938…309c0 (45, 0, 23) UnusedSector ┆ - 184 IN A,(APIO1+1) SIOTST PAGE 3 LOC OBJ CODE M STMT S - -; ┆
0x309c0…30a48 (45, 0, 24) DataSector
0x30a48…30ad0 (45, 0, 25) UnusedSector ┆ - ; 0087 CDED00 R 167 CALL NEXTCHA ; SAVE CHARACTER AND GET NEXT CHARACTER 008A 2804 168 JR Z,TR1NEXT ; I - -] ┆
0x30ad0…30b58 (45, 0, 26) UnusedSector ┆ - 202 JR Z,ERRNXT ; IF CHANNEL B THEN 00C4 C603 203 ADD A,3 ; ADD 3 TO SIO BASE ADDRESS 00C6 80 204 E - - 5┆
0x30b58…30be0 (45, 0, 27) UnusedSector ┆ -**************** 213 ;* PROCEDURE NAME : CHINIT 214 ;* 215 ;* DESCRI - - ┆
0x30be0…30c68 (45, 0, 28) UnusedSector ┆ -OURCE STATEMENT ASM 5.9 00A7 CBA7 185 RES 4,A 00A9 D371 186 OUT (APIO1+1),A ;TUR - -EZ┆
0x30c68…30cf0 (45, 0, 29) UnusedSector ┆ - 217 ;* 218 ;* ENTRY : IY = ADDRESS OF CHANNEL TABLE 219 ;* 2 - . @┆
0x30cf0…30d78 (45, 0, 30) UnusedSector ┆ -F NO MORE CHARACTERS THEN EXIT 169 ; 008C ED59 170 OUT (C),E ; TRANSMIT NEXT CHARACTER 008E - -j+┆
0x30d78…30e00 (45, 0, 31) Descriptor {
0x30d78…30e00 am = CHS(45, 0, 31, #4) // 0x30d78 @0x0
0x30d78…30e00 rsv0 = 00000000 // 0x30d7a @0x2
0x30d78…30e00 file_id = 0000 // 0x30d7e @0x6
0x30d78…30e00 dirsect = (22, 0, 6) // 0x30d80 @0x8
0x30d78…30e00 firstsect = (45, 0, 4) // 0x30d82 @0xa
0x30d78…30e00 lastsect = (54, 0, 12) // 0x30d84 @0xc
0x30d78…30e00 type = 0x10 // 0x30d86 @0xe
0x30d78…30e00 reccnt = 0x0004 // 0x30d87 @0xf
0x30d78…30e00 reclen = 0x0080 // 0x30d89 @0x11
0x30d78…30e00 blklen = 0x0080 // 0x30d8b @0x13
0x30d78…30e00 prop = 0x00 // 0x30d8d @0x15
0x30d78…30e00 adr = 0x0000 // 0x30d8e @0x16
0x30d78…30e00 lastbytes = 0x0080 // 0x30d90 @0x18
0x30d78…30e00 created = »791101 « // 0x30d92 @0x1a
0x30d78…30e00 modified = »791101 « // 0x30d9a @0x22
0x30d78…30e00 avail = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // 0x30da2 @0x2a
0x30d78…30e00 prev = (22, 0, 6) // 0x30dfa @0x82
0x30d78…30e00 next = (45, 0, 4) // 0x30dfc @0x84
0x30d78…30e00 crc = 5597 // 0x30dfe @0x86
0x30d78…30e00 }
0x30e00…30e88 (46, 0, 0) UnusedSector ┆ .SYNXSTA LD (IY+27H),A ; RESET PERXMIT LD (IY+2AH),A ; RESET ELEXADD LD (IY+2BH),A LD (IY+0EH),A ; RESET RECXERR LD (IY+2CH) . . ┆
0x30e88…30f10 (46, 0, 1) UnusedSector ┆ .HL LD (HL),A ; RESET DIAL_UP_MODE RET END . ┆
0x30f10…30f98 (46, 0, 2) UnusedSector ┆ .FER 07 LD (IY+21H),A ; FULL 19 DEC A ; RESET TX-UNDERRUN 04 LD (IY+20H),A ; STATUS 07 ; RECXST EI ; 04 . / ┆
0x30f98…31020 (46, 0, 3) UnusedSector ┆ . 04 JR Z,BEGTRA ; THEN DO 10 LD L,(IY+32H) ; TRANSFER BUFFER TO 19 LD H,(IY+33H) ; 19 DI ; RETRANSMISSION QUE . . ┆
0x31020…310a8 (46, 0, 4) UnusedSector ┆ .RECI ; FROM TRANSMITTER QUEUE CALL MESADD ; POP IY ; RESTORE TABLE ADDRESS 14 LD HL,BCOFF ; CALCULATE BYTECOUNT ADD . . ┆
0x310a8…31130 (46, 0, 5) UnusedSector ┆ .20 ;* EXIT : Z = 1 IF DATA BYTECOUNT = 0 221 ;* Z = 0 IF DATA BYTECOUNT > 0 222 ; - /? ┆
0x31130…311b8 (46, 0, 6) UnusedSector ┆ . . 0 791101 791101 ;┆
0x311b8…31240 (46, 0, 7) UnusedSector ┆ .*P 42 GLOBAL TAB_RESET,PARAM_RESET,PROCESS_RESET TAB_RESET PUSH HL ; STORE ADDRESS OF CHANNEL_TABLE LD DE,12H ; RESET ADD . .p@┆
0x31240…312c8 (46, 0, 8) UnusedSector ┆ .,A ; RESET BYXCOU LD (IY+2DH),A ; LD (IY+2EH),A ; RESET BUFXADD LD (IY+2FH),A LD (IY+36H),A ; RESET ADDXELE LD (IY+37H),A . . ┆
0x312c8…31350 (46, 0, 9) UnusedSector ┆ . / ! w 791101 791101 _l┆
0x31350…313d8 (46, 0, 10) UnusedSector ┆ .*P 42 *INCLUDE TABLE.S *INCLUDE CONSTANT.S ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ;TRAS . . 8┆
0x313d8…31460 (46, 0, 11) UnusedSector ┆ .UE 04 CALL SUBSEND ; EI ; 04 LD (IY+36H),00H ; RESET ADDRESS ELEMENT 19 LD (IY+37H),00H ; END 19 BEGT . . 0┆
0x31460…314e8 (46, 0, 12) UnusedSector ┆ .XBUF,COUXBY,CHEXCAL ADD HL,DE LD A,0 LD C,09 LOOP LD (HL),A ; RESET RECXSUM,TIMXSTA,TIMXVAL INC HL ; RESET TIMXOUT DEC C . .B ┆
0x314e8…31570 (46, 0, 13) UnusedSector ┆ . RET ; ; ; PARAM_RESET PUSH HL ; STORE ADDRESS OF PARAM_TABLE LD DE,14 ADD HL,DE LD A,0 LD C,6 LOOP2 LD (HL),A ; RESET MU . . @┆
0x31570…315f8 (46, 0, 14) UnusedSector ┆ . HL,DE ; ADDRESS 11 LD C,(HL) ; GET BYTE COUNT 07 INC HL ; 06 LD B,(HL) ; 07 LD (IY+14H),C ; SAVE BYTE COU . . ~┆
0x315f8…31680 (46, 0, 15) UnusedSector ┆ .TA: TRANSMITTER INITALIZER ;FILE: TRASTA.SRC ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< . .6b┆
0x31680…31708 (46, 0, 16) UnusedSector ┆ .RA DI ;END 04 LD L,(IY+30H) ; IF ELEMENT IN TRANSMITTER QUEUE 19 LD H,(IY+31H) ; 19 LD A,(HL) ; 07 CP 01 . . ┆
0x31708…31790 (46, 0, 17) UnusedSector ┆ . JP NZ,LOOP ; POP IY ; RESTORE ADDRESS OF CHANNEL_TABLE LD A,02 LD (IY),A ; RESET CHANNEL_STATUS LD A,0 LD (IY+04),A ; RE . . ┆
0x31790…31818 (46, 0, 18) UnusedSector ┆ .LTI_TEXT,XM#,BLOCK_STATUS INC HL DEC C ; RESET OVERLOAD_INDICATOR,REJECT_STATUS JP NZ,LOOP2 ; POP IY ; RESTORE ADDRESS OF . . ┆
0x31818…318a0 (46, 0, 19) UnusedSector ┆ .NT IN 19 LD (IY+15H),B ; CURRENT BYTE COUNT WORD 19 LD HL,TSAOFF ; CALCULATE TRANSMITTER ADD HL,DE ; START ADDRESS 11 L . .| ┆
0x318a0…31928 (46, 0, 20) UnusedSector ┆ . EXTERNAL SYSRAM,SUBDEQ,SUBSEND EXTERNAL RECI,MESADD EXTERNAL SIOREADWRITE EXTERNAL SUBENQ,SUBREC GLOBAL TRAXST . .w ┆
0x31928…319b0 (46, 0, 21) UnusedSector ┆ .H ; 07 JR NZ,RECXST ; THEN DO 10 PUSH HL ; SAVE QUEU ADDRESS LD A,01 LD (IY+21H),A ; SET NEW1BUF = 01H 19 LD . . ┆
0x319b0…31a38 (46, 0, 22) UnusedSector ┆ .SET XMITXELE LD (IY+05),A LD (IY+06),A ; RESET RECXELE LD (IY+07),A LD (IY+1EH),A ; RESET TRANSMITTER INTERRUPT OFFSET LD ( . .&v┆
0x31a38…31ac0 (46, 0, 23) UnusedSector ┆ .PARAM_TABLE LD (IY+07),A ; RESET MONITOR_STATUS LD (IY+10),A ; RESET TABLE_STATUS LD A,11H LD (IY+8),A ; RESET CR80_RESP LD . . -┆
0x31ac0…31b48 (46, 0, 24) UnusedSector ┆ .D C,(HL) ; GET TRANSMITTER ADDRESS 07 INC HL ; 06 LD B,(HL) ; 07 LD (IY+12H),C ; SAVE TRANSMITTER START 19 LD ( . .< ┆
0x31b48…31bd0 (46, 0, 25) UnusedSector ┆ . TRAXST DI ;DIABLE INTERRUPT 04 XOR A ; CP (IY+21H) ;IF PREVIOUS BUFFER EMPTY JR NZ,BEGTRA ;THEN DO 10 EI ; ENAB . . @┆
0x31bd0…31c58 (46, 0, 26) UnusedSector ┆ .A,SYN ; LD C,(IY+1CH) ; GET SIO ADDRESS 19 OUT (C),A ; TRANSMIT SYNC CHARACTER LD (IY+1EH),0EH ; NEXT INT.ROUTINE = PRE . . ┆
0x31c58…31ce0 (46, 0, 27) UnusedSector ┆ .IY+1FH),A ; RESET RECEIVER INTERRUPT OFFSET LD (IY+20H),A ; RESET TXXUND LD (IY+21H),A ; RESET NEWXBUF LD (IY+26H),A ; RESET . .3 ┆
0x31ce0…31d68 (46, 0, 28) UnusedSector ┆ . A,80H LD (IY+9),A ; RESET CR80_COMMAND RET ; ; ; PROCESS_RESET LD A,0 LD (HL),A ; RESET POLL_COMMAND INC HL INC HL INC . . ┆
0x31d68…31df0 (46, 0, 29) UnusedSector ┆ .IY+13H),B ; ADDRESS 19 LD (IY+36H),E ; SAVE ELEMENT ADDRESS 19 LD (IY+37H),D ; 19 CONTRA LD A,02H ; SET PREVIOUS BUF . . ┆
0x31df0…31e78 (46, 0, 30) UnusedSector ┆ .LE INTERRUPT 04 LD E,(IY+36H) ; IF ADDRESS ELEMENT CONTAIN 19 LD D,(IY+37H) ; BUFFER ADDRESS 19 LD A,E ; 04 OR D ; . . ┆
0x31e78…31f00 (46, 0, 31) UnusedSector ┆ .XSTA POP HL ; RESTORE QUEU ADDRESS LD (SYSRAM+0E2H),HL; GET NEW BUFFER ELEMENT 10 PUSH IY ; SAVE TABLE ADDRESS 15 CALL . . ┆
0x31f00…31f88 (47, 0, 0) UnusedSector ┆ /6 LD (IY+10H),C ;SAVE DATA BYTECOUNT IN CHANNEL TABLE 00DF FD7011 237 LD (IY+11H),B 00E2 211B00 238 LD HL,BU / / u┆
0x31f88…32010 (47, 0, 1) UnusedSector ┆ /UFFER TO EMPTY QUEUE LD (IY+2AH),00H ; RESET CONTENT OF LD (IY+2BH),00H ; ELEMENT ADDRESS RXT1 LD L,(IY+28H) ;IF BUFF / / ┆
0x32010…32098 (47, 0, 2) UnusedSector ┆ /VED CHARACTER IN BUFFER AND 249 ;* INCREMENTS RX BYTECOUNT IN BUFFER, 250 ;* INC / / j┆
0x32098…32120 (47, 0, 3) UnusedSector ┆ /LL SUBENQ ; TRANSFER BUFFER TO EMPTY ; BUFFER QUEU LD (IY+36H),00 ; RESET CONTENT OF ELEMENT LD (IY+37H),00 ; ADDRESS / / X┆
0x32120…321a8 (47, 0, 4) UnusedSector ┆ / 257 ;* E = CHARACTER TO TRANSMIT 258 ;* 259 ;* Z = 1 IF NO MORE CH / 0 0┆
0x321a8…32230 (47, 0, 5) UnusedSector ┆ / LD L,(IY+28H) ;IF BUFFER IN RECEIVE QUEUE 19 LD H,(IY+29H) ; 19 DI ; 04 CALL SUBDEQ ; 130 EI ; . / ┆
0x32230…322b8 (47, 0, 6) UnusedSector ┆ /ER IN RECEIVE QUEUE LD H,(IY+29H) ; TRANSFER BUFFER TO CALL SUBDEQ ; EMPTY QUEUE JR NC,RXT2 ; LD L,(IY+08H) ; LD H,(IY+09 / /# ┆
0x322b8…32340 (47, 0, 7) UnusedSector ┆ /* 223 ;* DESTROY : A,F,B,C,D,E,H,L 224 ;*********************************************** . /i ┆
0x32340…323c8 (47, 0, 8) UnusedSector ┆ / LD (IY+21H),00 ; RESET BUFFER CONTROL ;END LD (IY+1EH),0AH ;NEXT INT.ROUTINE = PSEXTRA NO_TERMINATION EI RET ;R / / ┆
0x323c8…32450 (47, 0, 9) UnusedSector ┆ /FFHEAD+DATOFF 00E5 19 239 ADD HL,DE 00E6 FD750E 240 LD (IY+0EH),L 00E9 FD740F 241 LD (IY+0FH),H ; / / q┆
0x32450…324d8 (47, 0, 10) UnusedSector ┆ /04 JR NC,SCH1DUL ;THEN DO 10 LD L,(IY+34H) ; 19 LD H,(IY+35H) ; 19 DI ; SEND BUFFER TO RECEIVER SEMA 04 ; P / / ┆
0x324d8…32560 (47, 0, 11) UnusedSector ┆ /H) ; CALL SUBENQ ; JR RXT1 ; RXT2 LD L,(IY+34H) ;IF BUFFER IN SIO OUTPUT QUEUE LD H,(IY+35H) ; TRANSFER BUFFER TO LD E,(I / /{ ┆
0x32560…325e8 (47, 0, 12) UnusedSector ┆ /****************************** 225 00CC FD5E12 226 CHINIT LD E,(IY+12H) ;GET BUFFER ADDRESS 00CF / / ┆
0x325e8…32670 (47, 0, 13) UnusedSector ┆ /ETURN FROM PROCESS ;ECHO ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ;RXTERM: ; SUBRUTIN / / ┆
0x32670…326f8 (47, 0, 14) UnusedSector ┆ /SAVE DATA CHARACTER POINTER 00EC C9 242 RET SIOTST PAGE / /: ┆
0x326f8…32780 (47, 0, 15) UnusedSector ┆ /HORE QUEUE, SAVE TABLE ADDRESS 15 CALL SUBSEND ; EI SCH1DUL RET ;ECHO ;****************************************** / / ┆
0x32780…32808 (47, 0, 16) UnusedSector ┆ /Y+08H) ; LD D,(IY+09H) ; CALL SUBREC ; EMPTY QUEUE RXT3 EI ;ENABLE INTERRUPT RET ;RETURN (END) 10 ;ECHO / ?┆
0x32808…32890 (47, 0, 17) UnusedSector ┆ / FD5613 227 LD D,(IY+13H) 00D2 211300 228 LD HL,BUFFHEAD+BYTOFF 00D5 19 229 ADD HL,DE 00D6 4E / /LV┆
0x32890…32918 (47, 0, 18) UnusedSector ┆ /E USED TO CLEAR ALL RECEIVER QUEUES ;FILE: RXTERM.SRC ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< / / ┆
0x32918…329a0 (47, 0, 19) UnusedSector ┆ / 4 LOC OBJ CODE M STMT SOURCE STATEMENT ASM 5.9 243 244 / /w{┆
0x329a0…32a28 (47, 0, 20) UnusedSector ┆ /**************************** ;TXTERM : MODULE WHICH TERMINATES A TRANSMISSION IN PROGRESS * ; ;FILE : TXTERM.S ;*************** / /0 ┆
0x32a28…32ab0 (47, 0, 21) UnusedSector ┆ /REMENTS TX CHAR.POINTER AND DECREMENTS TX BYTE- 251 ;* COUNT IN CHAN.TABLE AND GETS NEXT CHAR. TO TRANSM / / ┆
0x32ab0…32b38 (47, 0, 22) UnusedSector ┆ / 230 LD C,(HL) 00D7 23 231 INC HL ;GET TX BYTECOUNT 00D8 46 232 LD B,(HL) 00D9 79 2 / / S┆
0x32b38…32bc0 (47, 0, 23) UnusedSector ┆ /<<<<<<< GLOBAL RXTERM RXTERM DI ;DISABLE INTERRUPT LD E,(IY+2AH) ;IF RECEIVING IN PROGRESS LD D,(IY+2BH) ; LD A,D / /, ┆
0x32bc0…32c48 (47, 0, 24) UnusedSector ┆ /;ECHO 245 ;****************************************************************************** / / ┆
0x32c48…32cd0 (47, 0, 25) UnusedSector ┆ /******************************************************* GLOBAL TXTERM TXTERM DI LD E,(IY+36H) ;IF TRANSMISSION IN PROGR / /3 ┆
0x32cd0…32d58 (47, 0, 26) UnusedSector ┆ /IT 252 ;* 253 ;* ENTRY : A = RECEIVED CHARACTER 254 ;* IY = ADD / /k{┆
0x32d58…32de0 (47, 0, 27) UnusedSector ┆ /33 LD A,C 00DA B0 234 OR B 00DB C8 235 RET Z ;IF DATA BYTECOUNT = 0 THEN EXIT 00DC FD7110 23 / /n#┆
0x32de0…32e68 (47, 0, 28) UnusedSector ┆ / ; OR E ; JR Z,RXT1 ; THEN DO LD L,(IY+08H) ; GET ADDRESS OF EMPTY QUEUE LD H,(IY+09H) ; CALL SUBENQ ; TRANSFER B / /v ┆
0x32e68…32ef0 (47, 0, 29) UnusedSector ┆ / 246 ;* PROCEDURE NAME : NEXTCHA 247 ;* 248 ;* DESCRIPTION : THE ROUTINE SAVES RECEI / / ┆
0x32ef0…32f78 (47, 0, 30) UnusedSector ┆ /ESS LD D,(IY+37H) ; LD A,E OR D JR Z,NO_TERMINATION ;THEN DO LD L,(IY+08H) ; GET ADDRESS OF EMPTY QUEU LD H,(IY+09H) CA / /O ┆
0x32f78…33000 (47, 0, 31) UnusedSector ┆ /RESS OF CHANNEL TABLE 255 ;* 256 ;* EXIT : Z = 0 IF MORE CHARACTERS TO TRANSMIT / / ┆
0x33000…33088 (48, 0, 0) UnusedSector ┆ 0TE ; SIOCON 1,R,D,D LD BC,0110000000110000B CALL SIOREADWRITE ; SIOCON 0,W,S,030H CALL HUNT ;GET NEW INTERRUPT VECTOR RET 0 0 ┆
0x33088…33110 (48, 0, 1) UnusedSector ┆ 0LL MDELAY ; DEC A ; JR NZ,E3LOOP ;OD JR E1LOOP JR E1LOOP ;RETURN TO ERROR LOOP MDELAY INC D ;FOR N = REG. DE TO 0 ST 0 1 c┆
0x33110…33198 (48, 0, 2) UnusedSector ┆ 0 TEST LED FOR 0.25 SEC OUTRES CALL MDELAY ; FI RES TESTBI,H ; OUT (C),H ; TURN OFF TEST LED FOR 1.0 SEC LD DE,1000 ; CA 0 0' ┆
0x33198…33220 (48, 0, 3) UnusedSector ┆ 0 C8 276 RET Z ;IF TX BYTECOUNT = 0 THEN EXIT 0106 FD7510 277 LD (IY+10H),L 0109 FD7411 278 LD (IY 0 0 ┆
0x33220…332a8 (48, 0, 4) UnusedSector ┆ 0D --------------------------------------- ERROR EI LD L,A LD (SRAMB),A ;LOAD ERROR CODE IN SRAMB LD C,TESTPO IN H,(C) RES 0 0Q ┆
0x332a8…33330 (48, 0, 5) UnusedSector ┆ 0ARACTERS TO TRANSMIT 260 ;* 261 ;* DESTROY : A,F,E,H,L 262 ;******* / 0 ┆
0x33330…333b8 (48, 0, 6) UnusedSector ┆ 0 0 791101 791101 ) ┆
0x333b8…33440 (48, 0, 7) UnusedSector ┆ 0*P 43 *INCLUDE TABLE.S *INCLUDE CONSTANT.S *L ON ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 0 0,f┆
0x33440…334c8 (48, 0, 8) UnusedSector ┆ 0 ; RETURN ; END ;ELSE DO STA1ERR LD DE,STWOFF ; CALCULATE STATUS WORD ADDRESS 19 ADD HL,DE ; 11 PUSH HL ; S 0 0 ┆
0x334c8…33550 (48, 0, 9) UnusedSector ┆ 0+11H),H ;SAVE NEW TX BYTECOUNT 010C C9 279 RET 280 281 ;ECHO ; 0066 0 /┆
0x33550…335d8 (48, 0, 10) UnusedSector ┆ 0*********************************************************************** 263 00ED FD6E0E 264 NEXTCH 0 01 ┆
0x335d8…33660 (48, 0, 11) UnusedSector ┆ 0N A,(TESTPO) RES TESTBI,A OUT (TESTPO),A ;TURN OFF TEST LED ;TEST COMPLETE LD HL,TIMER LD (INTCTC),HL ;LOAD TIMER ADDRES ) 0 ┆
0x33660…336e8 (48, 0, 12) UnusedSector ┆ 0 ;ERROR_HANDLER: ; ERROR HANDLER CHANNEL 1 ;FILE: ERRREC.SRC ; MODIFIED BY JLA 820401 : MACRO SIOCON TO PROC. SIOREADWRITE ; 0 0E ┆
0x336e8…33770 (48, 0, 13) UnusedSector ┆ 0AVE STATUS WORD ADDRESS 11 LD BC,1000000100000000B CALL SIOREADWRITE ; SIOCON 1,R,D,D LD L,(IY+024H) LD H,(IY+025H) ; 19 0 0 ┆
0x33770…337f8 (48, 0, 14) UnusedSector ┆ 0 TESTBI,H OUT (C),H ;TURN OFF TEST LED E1LOOP LD A,10 E2LOOP LD DE,100 ;DO CALL MDELAY ; SET TESTBI,H ; OUT (C),H ; L 0 02q┆
0x337f8…33880 (48, 0, 15) UnusedSector ┆ 0A LD L,(IY+0EH) 00F0 FD660F 265 LD H,(IY+0FH) 00F3 77 266 LD (HL),A ;SAVE RECEIVED CHARACTER 00F4 23 0 06j┆
0x33880…33908 (48, 0, 16) UnusedSector ┆ 0S IN INTERRUPT TABLE LD HL,INTCTC LD A,H LD I,A ;LOAD INTERRUPT VECTOR (MSB) LD C,ATIM3 LD A,0B5H ;LOAD CH.0 AS OUT (C), 0 0 b┆
0x33908…33990 (48, 0, 17) UnusedSector ┆ 0<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< GLOBAL ERROR_HANDLER EXTERNAL SIOREADWRITE EX 0 0 ┆
0x33990…33a18 (48, 0, 18) UnusedSector ┆ 0 LD DE,09H ; 10 ADD HL,DE ; 11 LD A,(HL) ; 07 AND 070H ; TRANSFER ERROR CODE 07 POP HL ; 10 OR (HL) 0 0 ┆
0x33a18…33aa0 (48, 0, 19) UnusedSector ┆ 0D DE,100 ; MAKE 10 TEST LED FLASHES CALL MDELAY ; RES TESTBI,H ; OUT (C),H ; DEC A ; JR NZ,E2LOOP ;OD LD DE,1000 C 0 0n ┆
0x33aa0…33b28 (48, 0, 20) UnusedSector ┆ 0 267 INC HL 00F5 5E 268 LD E,(HL) ;GET NEXT CHARACTER 00F6 FD750E 269 LD (IY+0EH),L 00F9 FD740F 0 0 ┆
0x33b28…33bb0 (48, 0, 21) UnusedSector ┆ 0A ;INTERVAL TIMER LD A,195 ;LOAD TIME CONSTANT ;(195 * 64 uS = Ca.12.5 mS) OUT (C),A ;START TIMER OUT (C),L ;LOAD INT 0 0 l┆
0x33bb0…33c38 (48, 0, 22) UnusedSector ┆ 0TERNAL HUNT ERROR_HANDLER LD C,(IY+01CH) ;GET SIO ADDRESS 19 IN A,(C) ;READ RECEIVED CHARACTER 12 LD L,(IY+02AH) ;IF NO 0 0A ┆
0x33c38…33cc0 (48, 0, 23) UnusedSector ┆ 0 ; TO STATUS WORD 07 LD (HL),A ; 07 LD BC,0110000000110000B CALL SIOREADWRITE ; SIOCON 0,W,S,030H RET ; RETURN 0 0~R┆
0x33cc0…33d48 (48, 0, 24) UnusedSector ┆ 0ALL MDELAY ;TURN OFF TEST LED FOR 1 SEC LD A,8 ;FOR ALL 8 BITS IN ERROR CODE E3LOOP SET TESTBI,H ;DO OUT (C),H ; RLC L 0 0og┆
0x33d48…33dd0 (48, 0, 25) UnusedSector ┆ 0 270 LD (IY+0FH),H ;SAVE NEW CHARACTER POINTER 00FC FD6E10 271 LD L,(IY+10H) 00FF FD6611 272 LD H,(IY+1 0 0 )┆
0x33dd0…33e58 (48, 0, 26) UnusedSector ┆ 0ERRUPT VECTOR (LSB) JP EXBEGIN ;--------------------------------------------------------------------------- TIMER EX AF,AF' 0 0 ┆
0x33e58…33ee0 (48, 0, 27) UnusedSector ┆ 0 BUFFER IN RECEIVER LD H,(IY+02BH) ; LD A,L ; OR H ; JR NZ,STA1ERR ;THEN DO LD BC,1000000100000000B CALL SIOREADWRI 0 0 ┆
0x33ee0…33f68 (48, 0, 28) UnusedSector ┆ 0; END *E 0 ┆
0x33f68…33ff0 (48, 0, 29) UnusedSector ┆ 0; JR C,OUT1 ; IF "0" THEN OUT0 LD DE,1000 ; TURN ON TEST LED FOR 1.0 SEC JR OUTRES ; ELSE OUT1 LD DE,250 ; TURN ON 0 0R ┆
0x33ff0…34078 (48, 0, 30) UnusedSector ┆ 01H) 0102 2B 273 DEC HL ;DECREMENT TX BYTECOUNT 0103 7D 274 LD A,L 0104 B4 275 OR H 0105 0 0 ~┆
0x34078…34100 (48, 0, 31) UnusedSector ┆ 0 PUSH HL LD HL,SRAMB INC (HL) ;INCREMENT ALIVECOUNTER POP HL EX AF,AF' EI RETI ;ECHO ;---------------- PULSE TEST LE 0 0 ┆
0x34100…34188 (49, 0, 0) UnusedSector ┆ 18401 R 242 CALL MDELAY ;TURN OFF TEST LED FOR 1 SEC 243 015E 3E08 244 LD A,8 ;FOR ALL 8 1 1 ┆
0x34188…34210 (49, 0, 1) UnusedSector ┆ 197 LD I,A ;LOAD INTERRUPT VECTOR (MSB) 0118 0E60 198 LD C,ATIM3 011A 3EB5 199 LD A,0B5H ;LOAD CH.0 AS 1 1 ┆
0x34210…34298 (49, 0, 2) UnusedSector ┆ 1 E1 213 POP HL 012E 08 214 EX AF,AF' 012F FB 215 EI 0130 ED4D 216 RETI 1 1 ┆
0x34298…34320 (49, 0, 3) UnusedSector ┆ 164 CB05 247 RLC L ; 0166 3805 248 JR C,OUT1 ; IF "0" THEN 0168 11E803 249 OUT0 LD DE,1000 ; 1 2 ┆
0x34320…343a8 (49, 0, 4) UnusedSector ┆ 1 SET TESTBI,H ; 0149 ED61 233 OUT (C),H ; 014B 116400 234 LD DE,100 ; MAKE 10 TEST LED FLASHES 014E CD 1 10 ┆
0x343a8…34430 (49, 0, 5) UnusedSector ┆ 1EP -1 M1LOOP LD B,0 M2LOOP DJNZ M2LOOP LD B,50 ;DELAY 1 MILLI SECOND M3LOOP DJNZ M3LOOP DEC E JR NZ,M1LOOP DEC D JR NZ,M1L 0 1 ┆
0x34430…344b8 (49, 0, 6) Descriptor {
0x34430…344b8 am = CHS(49, 0, 6, #4) // 0x34430 @0x0
0x34430…344b8 rsv0 = 00000000 // 0x34432 @0x2
0x34430…344b8 file_id = 0000 // 0x34436 @0x6
0x34430…344b8 dirsect = (22, 0, 11) // 0x34438 @0x8
0x34430…344b8 firstsect = (49, 0, 7) // 0x3443a @0xa
0x34430…344b8 lastsect = (51, 0, 11) // 0x3443c @0xc
0x34430…344b8 type = 0x10 // 0x3443e @0xe
0x34430…344b8 reccnt = 0x0004 // 0x3443f @0xf
0x34430…344b8 reclen = 0x0080 // 0x34441 @0x11
0x34430…344b8 blklen = 0x0080 // 0x34443 @0x13
0x34430…344b8 prop = 0x00 // 0x34445 @0x15
0x34430…344b8 adr = 0x0000 // 0x34446 @0x16
0x34430…344b8 lastbytes = 0x0080 // 0x34448 @0x18
0x34430…344b8 created = »791101 « // 0x3444a @0x1a
0x34430…344b8 modified = »791101 « // 0x34452 @0x22
0x34430…344b8 avail = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // 0x3445a @0x2a
0x34430…344b8 prev = (22, 0, 11) // 0x344b2 @0x82
0x34430…344b8 next = (49, 0, 7) // 0x344b4 @0x84
0x34430…344b8 crc = 4367 // 0x344b6 @0x86
0x34430…344b8 }
0x344b8…34540 (49, 0, 7) DataSector
0x34540…345c8 (49, 0, 8) UnusedSector ┆ 1ET 6,A 0104 D372 187 OUT (APIO1+2),A ;DISABLE DMA-SIO TRANSFER 188 1,q┆
0x345c8…34650 (49, 0, 9) UnusedSector ┆ 1011C ED79 200 OUT (C),A ;INTERVAL TIMER 011E 3EC3 201 LD A,195 ;LOAD TIME CONSTANT 20 1 1hz┆
0x34650…346d8 (49, 0, 10) UnusedSector ┆ 1OOP ;NEXT N RET ;---------------------------------------------------------------------------- DETECT LD HL,STACEND-1 LD C,(H 1 1 ┆
0x346d8…34760 (49, 0, 11) UnusedSector ┆ 1 217 218 ;ECHO 219 ;---------------- PULSE TEST LED --------------------- 1 1R ┆
0x34760…347e8 (49, 0, 12) DataSector
0x347e8…34870 (49, 0, 13) UnusedSector ┆ 1 OBT PAGE 3 LOC OBJ CODE M STMT SOURCE STATEMENT ASM 5.9 0106 1 1M ┆
0x34870…348f8 (49, 0, 14) UnusedSector ┆ 12 ;(195 * 64 uS = Ca.12.5 mS) 0120 ED79 203 OUT (C),A ;START TIMER 0122 ED69 204 OUT (C),L ;LOAD IN 1 1] ┆
0x348f8…34980 (49, 0, 15) UnusedSector ┆ 1L) LD B,0 AND A DEC HL SBC HL,BC LD (HL),A ;LOAD ERROR CODE LD HL,STACEND-1 INC (HL) ;INCREMENT ERROR COUNT RET ;RET 1 1 ┆
0x34980…34a08 (49, 0, 16) UnusedSector ┆ 1------------------ 220 0132 FB 221 ERROR EI 0133 6F 222 LD L,A 0134 320040 1 1F*┆
0x34a08…34a90 (49, 0, 17) DataSector
0x34a90…34b18 (49, 0, 18) UnusedSector ┆ 1DB71 189 O3NEXT IN A,(TESTPO) 0108 CBA7 190 RES TESTBI,A 010A D371 191 OUT (TESTPO),A ;TURN OFF TE 1 1 ┆
0x34b18…34ba0 (49, 0, 19) UnusedSector ┆ 1TERRUPT VECTOR (LSB) 205 0124 C30000 X 206 JP EXBEGIN 207 1 1 ┆
0x34ba0…34c28 (49, 0, 20) UnusedSector ┆ 1URN WITH Z=0 ERRCHK LD HL,STACEND-1 LD A,(HL) ;GET ERROR COUNT AND A RET ;UPDATE Z-FLAG ;ECHO 1 ┆
0x34c28…34cb0 (49, 0, 21) UnusedSector ┆ 1 223 LD (SRAMB),A ;LOAD ERROR CODE IN SRAMB 0137 0E71 224 LD C,TESTPO 0139 ED60 225 IN H,(C) 013B CBA4 1 1 ┆
0x34cb0…34d38 (49, 0, 22) UnusedSector ┆ 18401 R 235 CALL MDELAY ; 0151 CBA4 236 RES TESTBI,H ; 0153 ED61 237 OUT (C),H ; 0155 3D 1 1b ┆
0x34d38…34dc0 (49, 0, 23) UnusedSector ┆ 1ST LED 192 ;TEST COMPLETE 010C 212701 R 193 LD HL,TIMER 010F 220000 X 194 LD (INTCTC),HL ; 1 1 ┆
0x34dc0…34e48 (49, 0, 24) UnusedSector ┆ 1208 ;--------------------------------------------------------------------------- 0127 08 209 TIMER EX AF,AF' 0128 1 1u ┆
0x34e48…34ed0 (49, 0, 25) UnusedSector ┆ 1BITS IN ERROR CODE 0160 CBE4 245 E3LOOP SET TESTBI,H ;DO 0162 ED61 246 OUT (C),H ; 1 1 ┆
0x34ed0…34f58 (49, 0, 26) UnusedSector ┆ 1 226 RES TESTBI,H 013D ED61 227 OUT (C),H ;TURN OFF TEST LED 228 013F 3E0A 2 1 13O┆
0x34f58…34fe0 (49, 0, 27) UnusedSector ┆ 1238 DEC A ; 0156 20E9 239 JR NZ,E2LOOP ;OD 240 0158 11E803 241 LD DE,1000 015B CD 1 1 ┆
0x34fe0…35068 (49, 0, 28) UnusedSector ┆ 1LOAD TIMER ADDRESS IN INTERRUPT TABLE 0112 210000 X 195 LD HL,INTCTC 0115 7C 196 LD A,H 0116 ED47 1 1 1\:┆
0x35068…350f0 (49, 0, 29) UnusedSector ┆ 1 E5 210 PUSH HL 0129 210040 211 LD HL,SRAMB 012C 34 212 INC (HL) ;INCREMENT ALIVECOUNTER 012D 1 1 ┆
0x350f0…35178 (49, 0, 30) UnusedSector ┆ 1 OBT PAGE 4 LOC OBJ CODE M STMT SOURCE STATEMENT ASM 5.9 01 1 1 ┆
0x35178…35200 (49, 0, 31) UnusedSector ┆ 129 E1LOOP LD A,10 0141 116400 230 E2LOOP LD DE,100 ;DO 0144 CD8401 R 231 CALL MDELAY ; 0147 CBE4 232 1 1F&┆
0x35200…35288 (50, 0, 0) UnusedSector ┆ 220 ;* EXIT : Z = 1 IF DATA BYTECOUNT = 0 221 ;* Z = 0 IF DATA BYTECOUNT > 0 222 ; 2 2 ┆
0x35288…35310 (50, 0, 1) UnusedSector ┆ 2 OBJ CODE M STMT SOURCE STATEMENT ASM 5.9 243 244 ;ECHO 2 3 5┆
0x35310…35398 (50, 0, 2) UnusedSector ┆ 2 284 RET ;RETURN WITH Z=0 285 01A4 21DF7E 286 ERRCHK LD HL,STACEND-1 01A7 7E 2 2 2+ ┆
0x35398…35420 (50, 0, 3) UnusedSector ┆ 2,C 00DA B0 234 OR B 00DB C8 235 RET Z ;IF DATA BYTECOUNT = 0 THEN EXIT 00DC FD7110 236 LD (I 2 2 ┆
0x35420…354a8 (50, 0, 4) UnusedSector ┆ 2 266 LD B,50 ;DELAY 1 MILLI SECOND 018B 10FE 267 M3LOOP DJNZ M3LOOP 018D 1D 268 DEC E 018E 20 2 2E9┆
0x354a8…35530 (50, 0, 5) DataSector
0x35530…355b8 (50, 0, 6) UnusedSector ┆ 2 TURN ON TEST LED FOR 1.0 SEC 016B 1803 250 JR OUTRES ; ELSE 016D 11FA00 251 OUT1 LD DE,250 ; TURN ON T 1 2 ┆
0x355b8…35640 (50, 0, 7) Descriptor {
0x355b8…35640 am = CHS(50, 0, 7, #4) // 0x355b8 @0x0
0x355b8…35640 rsv0 = 00000000 // 0x355ba @0x2
0x355b8…35640 file_id = 0000 // 0x355be @0x6
0x355b8…35640 dirsect = (22, 0, 25) // 0x355c0 @0x8
0x355b8…35640 firstsect = (50, 0, 5) // 0x355c2 @0xa
0x355b8…35640 lastsect = (50, 0, 10) // 0x355c4 @0xc
0x355b8…35640 type = 0x10 // 0x355c6 @0xe
0x355b8…35640 reccnt = 0x0002 // 0x355c7 @0xf
0x355b8…35640 reclen = 0x0080 // 0x355c9 @0x11
0x355b8…35640 blklen = 0x0080 // 0x355cb @0x13
0x355b8…35640 prop = 0x00 // 0x355cd @0x15
0x355b8…35640 adr = 0x0000 // 0x355ce @0x16
0x355b8…35640 lastbytes = 0x0080 // 0x355d0 @0x18
0x355b8…35640 created = »791101 « // 0x355d2 @0x1a
0x355b8…35640 modified = »791101 « // 0x355da @0x22
0x355b8…35640 avail = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // 0x355e2 @0x2a
0x355b8…35640 prev = (22, 0, 25) // 0x3563a @0x82
0x355b8…35640 next = (50, 0, 5) // 0x3563c @0x84
0x355b8…35640 crc = 2fdb // 0x3563e @0x86
0x355b8…35640 }
0x35640…356c8 (50, 0, 8) DataSector
0x356c8…35750 (50, 0, 9) UnusedSector ┆ 2F5 269 JR NZ,M1LOOP 0190 15 270 DEC D 0191 20F2 271 JR NZ,M1LOOP ;NEXT N 0193 C9 272 2 2 ┆
0x35750…357d8 (50, 0, 10) DataSector
0x357d8…35860 (50, 0, 11) UnusedSector ┆ 2EST LED FOR 0.25 SEC 0170 CD8401 R 252 OUTRES CALL MDELAY ; FI 0173 CBA4 253 RES TESTBI,H ; 0175 ED61 2 2j^┆
0x35860…358e8 (50, 0, 12) UnusedSector ┆ 287 LD A,(HL) ;GET ERROR COUNT 01A8 A7 288 AND A 01A9 C9 289 RET ;UPDATE Z-FLAG 2 2> ┆
0x358e8…35970 (50, 0, 13) UnusedSector ┆ 2 287 LD A,(HL) ;GET ERROR COUNT 01A8 A7 288 AND A 01A9 C9 289 RET ;UPDATE Z-FLAG 2 2 @┆
0x35970…359f8 (50, 0, 14) UnusedSector ┆ 2 RET 273 274 ;---------------------------------------------------------------------- 2 2l ┆
0x359f8…35a80 (50, 0, 15) UnusedSector ┆ 2* 223 ;* DESTROY : A,F,B,C,D,E,H,L 224 ;*********************************************** 2 2= ┆
0x35a80…35b08 (50, 0, 16) UnusedSector ┆ 2 254 OUT (C),H ; TURN OFF TEST LED FOR 1.0 SEC 0177 11E803 255 LD DE,1000 ; 017A CD8401 R 256 CALL MDELAY 2 2ah┆
0x35b08…35b90 (50, 0, 17) UnusedSector ┆ 2 290 291 ;ECHO 1+2),A ;DISABLE DMA-SIO TRANSFER 188 2 5,┆
0x35b90…35c18 (50, 0, 18) UnusedSector ┆ 2 290 291 ;ECHO 150 CP (HL) 00BE 20CB 151 JR NZ,O1ERR 00C0 AF 152 XOR A 2 ┆
0x35c18…35ca0 (50, 0, 19) UnusedSector ┆ 2------ 0194 21DF7E 275 DETECT LD HL,STACEND-1 0197 4E 276 LD C,(HL) 0198 0600 277 LD B,0 019A 2 2 ┆
0x35ca0…35d28 (50, 0, 20) UnusedSector ┆ 2****************************** 225 00CC FD5E12 226 CHINIT LD E,(IY+12H) ;GET BUFFER ADDRESS 00CF 2 2v ┆
0x35d28…35db0 (50, 0, 21) UnusedSector ┆ 2 ; 017D 3D 257 DEC A ; 017E 20E0 258 JR NZ,E3LOOP ;OD 259 0180 18BD 260 2 2 m┆
0x35db0…35e38 (50, 0, 22) UnusedSector ┆ 2PTION : THE ROUTINE INITIALIZES TX CHAR.POINTER AND TX BY- 216 ;* TECOUNT IN CHANNEL TABLE 2 2E ┆
0x35e38…35ec0 (50, 0, 23) UnusedSector ┆ 2TOFF 00E5 19 239 ADD HL,DE 00E6 FD750E 240 LD (IY+0EH),L 00E9 FD740F 241 LD (IY+0FH),H ;SAVE DATA 2 2 ┆
0x35ec0…35f48 (50, 0, 24) UnusedSector ┆ 2A7 278 AND A 019B 2B 279 DEC HL 019C ED42 280 SBC HL,BC 019E 77 281 LD (HL),A ; 2 2b ┆
0x35f48…35fd0 (50, 0, 25) UnusedSector ┆ 2 FD5613 227 LD D,(IY+13H) 00D2 210900 228 LD HL,BYTOFF 00D5 19 229 ADD HL,DE 00D6 4E 230 2 2 k┆
0x35fd0…36058 (50, 0, 26) UnusedSector ┆ 2 JR E1LOOP 0182 18BB 261 JR E1LOOP ;RETURN TO ERROR LOOP 262 0184 14 263 MDELAY I 2 2v ┆
0x36058…360e0 (50, 0, 27) UnusedSector ┆ 2 217 ;* 218 ;* ENTRY : IY = ADDRESS OF CHANNEL TABLE 219 ;* 2 2 2 ┆
0x360e0…36168 (50, 0, 28) UnusedSector ┆ 2 CHARACTER POINTER 00EC C9 242 RET SIOTST PAGE 4 LOC 2 2 ┆
0x36168…361f0 (50, 0, 29) UnusedSector ┆ 2LOAD ERROR CODE 019F 21DF7E 282 LD HL,STACEND-1 01A2 34 283 INC (HL) ;INCREMENT ERROR COUNT 01A3 C9 2 2 h┆
0x361f0…36278 (50, 0, 30) UnusedSector ┆ 2 LD C,(HL) 00D7 23 231 INC HL ;GET TX BYTECOUNT 00D8 46 232 LD B,(HL) 00D9 79 233 LD A 2 2 :┆
0x36278…36300 (50, 0, 31) UnusedSector ┆ 2NC D ;FOR N = REG. DE TO 0 STEP -1 0185 0600 264 M1LOOP LD B,0 0187 10FE 265 M2LOOP DJNZ M2LOOP 0189 0632 2 2 4┆
0x36300…36388 (51, 0, 0) UnusedSector ┆ 3HANNEL TABLE 255 ;* 256 ;* EXIT : Z = 0 IF MORE CHARACTERS TO TRANSMIT 3 3.8┆
0x36388…36410 (51, 0, 1) UnusedSector ┆ 3 LD (IY+0FH),H ;SAVE NEW CHARACTER POINTER 00FC FD6E10 271 LD L,(IY+10H) 00FF FD6611 272 LD H,(IY+11H) 0102 3 3 X┆
0x36410…36498 (51, 0, 2) UnusedSector ┆ 3 3 6 ┆
0x36498…36520 (51, 0, 3) DataSector
0x36520…365a8 (51, 0, 4) UnusedSector ┆ 3 HL ;RESTORE BUFFER SIZE 10 PUSH HL ;SAVE BUFFER SIZE 11 POP IY ;RESTORE BUFFER SIZE 14 ADD HL,DE ;CALCULATE ADDRES 3 3 ┆
0x365a8…36630 (51, 0, 5) DataSector
0x36630…366b8 (51, 0, 6) UnusedSector ┆ 3 245 ;****************************************************************************** 246 ; 2 3< ┆
0x366b8…36740 (51, 0, 7) Descriptor {
0x366b8…36740 am = CHS(51, 0, 7, #4) // 0x366b8 @0x0
0x366b8…36740 rsv0 = 00000000 // 0x366ba @0x2
0x366b8…36740 file_id = 0000 // 0x366be @0x6
0x366b8…36740 dirsect = (22, 0, 1) // 0x366c0 @0x8
0x366b8…36740 firstsect = (51, 0, 5) // 0x366c2 @0xa
0x366b8…36740 lastsect = (51, 0, 25) // 0x366c4 @0xc
0x366b8…36740 type = 0x10 // 0x366c6 @0xe
0x366b8…36740 reccnt = 0x0005 // 0x366c7 @0xf
0x366b8…36740 reclen = 0x0080 // 0x366c9 @0x11
0x366b8…36740 blklen = 0x0080 // 0x366cb @0x13
0x366b8…36740 prop = 0x00 // 0x366cd @0x15
0x366b8…36740 adr = 0x0000 // 0x366ce @0x16
0x366b8…36740 lastbytes = 0x0080 // 0x366d0 @0x18
0x366b8…36740 created = »791101 « // 0x366d2 @0x1a
0x366b8…36740 modified = »791101 « // 0x366da @0x22
0x366b8…36740 avail = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // 0x366e2 @0x2a
0x366b8…36740 prev = (22, 0, 1) // 0x3673a @0x82
0x366b8…36740 next = (51, 0, 5) // 0x3673c @0x84
0x366b8…36740 crc = ce65 // 0x3673e @0x86
0x366b8…36740 }
0x36740…367c8 (51, 0, 8) UnusedSector ┆ 3 257 ;* E = CHARACTER TO TRANSMIT 258 ;* 259 ;* Z = 1 IF NO MORE CHARACTERS 3 3 @┆
0x367c8…36850 (51, 0, 9) UnusedSector ┆ 3 2B 273 DEC HL ;DECREMENT TX BYTECOUNT 0103 7D 274 LD A,L 0104 B4 275 OR H 0105 C8 3 3B_┆
0x36850…368d8 (51, 0, 10) DataSector
[…0x1…]
0x36960…369e8 (51, 0, 12) UnusedSector ┆ 3* PROCEDURE NAME : NEXTCHA 247 ;* 248 ;* DESCRIPTION : THE ROUTINE SAVES RECEIVED CHARA 3 3 ┆
0x369e8…36a70 (51, 0, 13) UnusedSector ┆ 3TO TRANSMIT 260 ;* 261 ;* DESTROY : A,F,E,H,L 262 ;**************** 3 3 ┆
0x36a70…36af8 (51, 0, 14) UnusedSector ┆ 3 276 RET Z ;IF TX BYTECOUNT = 0 THEN EXIT 0106 FD7510 277 LD (IY+10H),L 0109 FD7411 278 LD (IY+11H),H ; 3 3 }┆
0x36af8…36b80 (51, 0, 15) DataSector
[…0x1…]
0x36c08…36c90 (51, 0, 17) UnusedSector ┆ 3CTER IN BUFFER AND 249 ;* INCREMENTS RX BYTECOUNT IN BUFFER, 250 ;* INCREMENTS T 3 3 f┆
0x36c90…36d18 (51, 0, 18) UnusedSector ┆ 3************************************************************** 263 00ED FD6E0E 264 NEXTCHA LD L,(I 3 3 ┆
0x36d18…36da0 (51, 0, 19) UnusedSector ┆ 3SAVE NEW TX BYTECOUNT 010C C9 279 RET 280 281 ;ECHO OUT (C),L ; 0066 3 ( ┆
0x36da0…36e28 (51, 0, 20) DataSector
0x36e28…36eb0 (51, 0, 21) UnusedSector ┆ 3<<<<<<<<<<<<<<<<<<<<<<<< *E BUFEVA PUSH HL ;SAVE BUFFER QUEUE ADDRESS 11 PUSH IY ;SAVE BUFFER SIZE 15 PUSH DE ;SAVE ADDR 0 3 c┆
0x36eb0…36f38 (51, 0, 22) UnusedSector ┆ 3X CHAR.POINTER AND DECREMENTS TX BYTE- 251 ;* COUNT IN CHAN.TABLE AND GETS NEXT CHAR. TO TRANSMIT 3 3P ┆
0x36f38…36fc0 (51, 0, 23) UnusedSector ┆ 3Y+0EH) 00F0 FD660F 265 LD H,(IY+0FH) 00F3 77 266 LD (HL),A ;SAVE RECEIVED CHARACTER 00F4 23 26 3 3L ┆
0x36fc0…37048 (51, 0, 24) UnusedSector ┆ 3 / 3 g┆
0x37048…370d0 (51, 0, 25) DataSector
0x370d0…37158 (51, 0, 26) UnusedSector ┆ 3ESS OF FIRST BUFFER 11 PUSH BC ;SAVE NUMBER OF BUFFERS TO EVALUATE 11 DI ; 04 CALL SUBENQ ;CREATE BUFFER MODULE 3 3X ┆
0x37158…371e0 (51, 0, 27) UnusedSector ┆ 3 252 ;* 253 ;* ENTRY : A = RECEIVED CHARACTER 254 ;* IY = ADDRESS OF C 3 3b ┆
0x371e0…37268 (51, 0, 28) UnusedSector ┆ 37 INC HL 00F5 5E 268 LD E,(HL) ;GET NEXT CHARACTER 00F6 FD750E 269 LD (IY+0EH),L 00F9 FD740F 270 3 34 ┆
0x37268…372f0 (51, 0, 29) UnusedSector ┆ 3 3 3 L┆
0x372f0…37378 (51, 0, 30) UnusedSector ┆ 3S OF NEXT BUFFER 11 EX DE,HL ; 04 POP HL ;RESTORE ADDRESS OF BUFFER QUEUE 11 DEC BC ;DECREMENT NUMBER OF BUFFERS TO BE 3 5M ┆
0x37378…37400 (51, 0, 31) UnusedSector ┆ 3 157 EI ; 04 POP BC ;RESTORE NUMBER OF BUFFERS TO EVALUATE 10 POP DE ;RESTORE START ADDRESS OF LAST BUFFER 10 POP 3 3n ┆
0x37400…37488 (52, 0, 0) Descriptor {
0x37400…37488 am = CHS(52, 0, 0, #4) // 0x37400 @0x0
0x37400…37488 rsv0 = 00000000 // 0x37402 @0x2
0x37400…37488 file_id = 0000 // 0x37406 @0x6
0x37400…37488 dirsect = (22, 0, 1) // 0x37408 @0x8
0x37400…37488 firstsect = (52, 0, 5) // 0x3740a @0xa
0x37400…37488 lastsect = (58, 0, 14) // 0x3740c @0xc
0x37400…37488 type = 0x10 // 0x3740e @0xe
0x37400…37488 reccnt = 0x0004 // 0x3740f @0xf
0x37400…37488 reclen = 0x0080 // 0x37411 @0x11
0x37400…37488 blklen = 0x0080 // 0x37413 @0x13
0x37400…37488 prop = 0x00 // 0x37415 @0x15
0x37400…37488 adr = 0x0000 // 0x37416 @0x16
0x37400…37488 lastbytes = 0x0080 // 0x37418 @0x18
0x37400…37488 created = »791101 « // 0x3741a @0x1a
0x37400…37488 modified = »791101 « // 0x37422 @0x22
0x37400…37488 avail = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // 0x3742a @0x2a
0x37400…37488 prev = (22, 0, 1) // 0x37482 @0x82
0x37400…37488 next = (52, 0, 5) // 0x37484 @0x84
0x37400…37488 crc = a237 // 0x37486 @0x86
0x37400…37488 }
0x37488…37510 (52, 0, 1) UnusedSector ┆ 4 81 82 83 84 EXBEGIN 85 4 4 ┆
0x37510…37598 (52, 0, 2) UnusedSector ┆ 4 X 103 LD HL,EMP1QUE ;ADDRESS OF EMPTY BUFFER QUEUE 10 0014 114240 104 LD DE,STA1BUF ;ADDRESS OF FIRST BUFFER AT CH 4 4 ┆
0x37598…37620 (52, 0, 3) UnusedSector ┆ 4LL EVALUATION MODULE 121 0041 210000 X 122 LD HL,EMP4QUE ;ADDRESS OF EMPTY BUFFER QUEUE 10 0044 4 4}t┆
0x37620…376a8 (52, 0, 4) UnusedSector ┆ 40H) LD H,(IY+11H) DEC HL ;DECREMENT TX BYTECOUNT LD A,L OR H RET Z ;IF TX BYTECOUNT = 0 THEN EXIT LD (IY+10H),L LD (IY+ 6 ┆
0x376a8…37730 (52, 0, 5) DataSector
[…0x1…]
0x377b8…37840 (52, 0, 7) UnusedSector ┆ 4 INIT PAGE 1 LOC OBJ CODE M STMT SOURCE STATEMENT 4 ┆
0x37840…378c8 (52, 0, 8) DataSector
0x378c8…37950 (52, 0, 9) UnusedSector ┆ 4 86 ; **** CLEAR Z80 RAM MEMORY **** 87 0000 210210 88 LD HL,RAMSTA+2 0003 4 4`3┆
0x37950…379d8 (52, 0, 10) DataSector
0x379d8…37a60 (52, 0, 11) UnusedSector ┆ 4ANNEL 1 10 0017 010700 105 LD BC,NUM1BUF ;NUMBER OF BUFFERS TO BE EVALUATED 10 001A FD210902 106 LD IY,BUFFSIZE 4 4 ┆
0x37a60…37ae8 (52, 0, 12) UnusedSector ┆ 4 ASM 5.9 1 *P 42 2 *INCLUDE CONST.S 69 *L ON 4 4 ┆
0x37ae8…37b70 (52, 0, 13) UnusedSector ┆ 42 112 LD IY,BUFFSIZE ;BUFFER SIZE AT CHANNEL 2 10 002E CD5400 R 113 CALL BUFEVA ;CALL EVALUATION MODULE 4 4r ┆
0x37b70…37bf8 (52, 0, 14) UnusedSector ┆ 4 110040 89 LD DE,SRAMB 0006 0E00 90 LD C,0 0008 71 91 EXB1 LD (HL),C 0009 23 92 4 4* ┆
0x37bf8…37c80 (52, 0, 15) UnusedSector ┆ 411FF6A 123 LD DE,STA4BUF ;ADDRESS OF FIRST BUFFER AT CHANNEL 4 10 0047 010700 124 LD BC,NUM4BUF ;NUMBER OF BUFFE 4 4 ┆
0x37c80…37d08 (52, 0, 16) UnusedSector ┆ 4;BUFFER SIZE AT CHANNEL 1 10 001E CD5400 R 107 CALL BUFEVA ;CALL EVALUATION MODULE 108 4 4 m┆
0x37d08…37d90 (52, 0, 17) UnusedSector ┆ 4 70 71 *L ON 72 ; 73 ; 74 GL 4 4 ┆
0x37d90…37e18 (52, 0, 18) UnusedSector ┆ 4 114 ; 115 0031 210000 X 116 LD HL,EMP3QUE ;ADDRESS OF EMPTY BUFFER QUEUE 10 0034 11C05 4 4 G┆
0x37e18…37ea0 (52, 0, 19) UnusedSector ┆ 4 INC HL 000A 7A 93 LD A,D 000B BC 94 CP H 000C 20FA 95 JR NZ,EXB1 96 4 4 ┆
0x37ea0…37f28 (52, 0, 20) DataSector
0x37f28…37fb0 (52, 0, 21) UnusedSector ┆ 4 INIT PAGE 2 LOC OBJ CODE M STMT SOURCE STATEMENT 4 4 ┆
0x37fb0…38038 (52, 0, 22) UnusedSector ┆ 4OBAL EXBEGIN 75 EXTERNAL EXSCHED,PRO_CREATE 76 EXTERNAL EMP1QUE,EMP2QUE,SUBENQ 4 45!┆
0x38038…380c0 (52, 0, 23) UnusedSector ┆ 4C 117 LD DE,STA3BUF ;ADDRESS OF FIRST BUFFER AT CHANNEL 3 10 0037 010700 118 LD BC,NUM3BUF ;NUMBER OF BUFFERS TO 4 4 ┆
0x380c0…38148 (52, 0, 24) UnusedSector ┆ 4 97 ; **** CREATE PROCESSES **** 98 ; 000E CD0000 X 99 CALL PRO_CREATE 4 4W ┆
0x38148…381d0 (52, 0, 25) UnusedSector ┆ 4RS TO BE EVALUATED 10 004A FD210902 125 LD IY,BUFFSIZE ;BUFFER SIZE AT CHANNEL 4 10 004E CD5400 R 126 CALL BUFEVA 4 4 ┆
0x381d0…38258 (52, 0, 26) UnusedSector ┆ 4 ASM 5.9 0021 210000 X 109 LD HL,EMP2QUE ;ADDRESS OF EMPTY BUFFER QUEUE 10 0024 11814E 110 LD DE,STA2BUF ;ADD 4 4 o┆
0x38258…382e0 (52, 0, 27) UnusedSector ┆ 4 77 ; 78 EXTERNAL EMP3QUE,EMP4QUE 79 ; 80 4 4 ┆
0x382e0…38368 (52, 0, 28) UnusedSector ┆ 4 BE EVALUATED 10 003A FD210902 119 LD IY,BUFFSIZE ;BUFFER SIZE AT CHANNEL 3 10 003E CD5400 R 120 CALL BUFEVA ;CA 4 4 >┆
0x38368…383f0 (52, 0, 29) UnusedSector ┆ 4 100 ; 101 ; **** CREATE BUFFERS **** 102 ; 0011 210000 4 4 ┆
0x383f0…38478 (52, 0, 30) UnusedSector ┆ 4 ;CALL EVALUATION MODULE 127 ; 0051 C30000 X 128 JP EXSCHED INIT 4 5 ┆
0x38478…38500 (52, 0, 31) UnusedSector ┆ 4RESS OF FIRST BUFFER AT CHANNEL 2 10 0027 010700 111 LD BC,NUM2BUF ;NUMBER OF BUFFERS TO BE EVALUATED 10 002A FD21090 4 4 ┆
0x38500…38588 (53, 0, 0) UnusedSector ┆ 5 EQU 07H ; ERROR CODE OFFSET DATOFF EQU 09H ; DATASTART OFFSET ; BUFFHEAD EQU 0AH ; BUFFERHEAD SIZE ; MAXSIZE EQU BUFFSIZE 5 5 w┆
0x38588…38610 (53, 0, 1) UnusedSector ┆ 5E M STMT SOURCE STATEMENT ASM 5.9 150 *E 0054 E5 151 BUFEVA PUSH HL ; 5 5 ┆
0x38610…38698 (53, 0, 2) UnusedSector ┆ 5STWOFF EQU 04H ; STATUS WORD OFFSET IN BUFFERHEAD ; RSEMOFF EQU 06H ; RETUR SEMAPHORE OFFSET ; ; NUM1BUF EQU 07 NUM2BUF 5 6 L┆
0x38698…38720 (53, 0, 3) UnusedSector ┆ 5 142 ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 143 ;>>>>> 5 5 6┆
0x38720…387a8 (53, 0, 4) UnusedSector ┆ 5FER 11 0065 EB 164 EX DE,HL ; 04 0066 E1 165 POP HL ;RESTORE ADDRESS OF BUFFER QUEUE 11 0067 0 5 5 ┆
0x387a8…38830 (53, 0, 5) UnusedSector ┆ 5 PAGE 3 LOC OBJ CODE M STMT SOURCE STATEMENT ASM 5.9 4 5*r┆
0x38830…388b8 (53, 0, 6) UnusedSector ┆ 5SAVE BUFFER QUEUE ADDRESS 11 0055 FDE5 152 PUSH IY ;SAVE BUFFER SIZE 15 0057 D5 153 PUSH DE ;SAVE A 5 5 1┆
0x388b8…38940 (53, 0, 7) UnusedSector ┆ 5 06 ;EVALUATED LD A,B ; 04 OR C ; 04 JP NZ,BUFEVA ;END 10 RET ;RETURN 14 *E END ;ECHO 3 AS┆
0x38940…389c8 (53, 0, 8) UnusedSector ┆ 5>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 144 ;EKS: LD HL,EMP1QUE ADDRESS O 5 5 ┆
0x389c8…38a50 (53, 0, 9) UnusedSector ┆ 5B 166 DEC BC ;DECREMENT NUMBER OF BUFFERS TO BE 06 167 ;EVALUATED 0068 78 1 5 5 O┆
0x38a50…38ad8 (53, 0, 10) UnusedSector ┆ 5129 *E 130 ;ECHO 131 *P 43 132 ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 5 5v ┆
0x38ad8…38b60 (53, 0, 11) UnusedSector ┆ 5DDRESS OF FIRST BUFFER 11 0058 C5 154 PUSH BC ;SAVE NUMBER OF BUFFERS TO EVALUATE 11 0059 F3 155 DI 5 5uU┆
0x38b60…38be8 (53, 0, 12) UnusedSector ┆ 5 6 1 791101 791101 ┆
0x38be8…38c70 (53, 0, 13) UnusedSector ┆ 5F EMPTY BUFFER QUEUE CHANNEL 1 145 ; LD DE,STA1BUF ADDRESS OF FIRST BUFFER AT CHANNEL 1 5 5 ┆
0x38c70…38cf8 (53, 0, 14) UnusedSector ┆ 568 LD A,B ; 04 0069 B1 169 OR C ; 04 006A C25400 R 170 JP NZ,BUFEVA ;END 10 006D C9 5 5 ┆
0x38cf8…38d80 (53, 0, 15) UnusedSector ┆ 5>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 133 ;BUFEVA:GENERAL PROCESS FOR BUFFER EVALUATION. 5 5& ┆
0x38d80…38e08 (53, 0, 16) UnusedSector ┆ 5 ; 04 005A CD0000 X 156 CALL SUBENQ ;CREATE BUFFER MODULE 157 005D FB 157 EI ; 04 005E 5 5 ┆
0x38e08…38e90 (53, 0, 17) UnusedSector ┆ 5*L OFF APIO1 EQU 70H APIO2 EQU 20H ATIM1 EQU 10H ATIM2 EQU 30H ATIM3 EQU 60H ASIO1 EQU 40H ASIO2 EQU 50H ADMA EQU 00H RAMEND EQU 5 5 a┆
0x38e90…38f18 (53, 0, 18) UnusedSector ┆ 5146 ; LD BC,NUM1BUF NUMBER OF BUFFERS TO BE EVALUATED 147 ; LD IY,BUFF1SIZE BUFFER SIZE AT CHANNEL 1 5 5m=┆
0x38f18…38fa0 (53, 0, 19) UnusedSector ┆ 5 171 RET ;RETURN 14 INIT PAGE 5 LOC OBJ CODE M STMT 5 5" ┆
0x38fa0…39028 (53, 0, 20) UnusedSector ┆ 5 134 ; 135 ;ENTRY POINT: REG HL: BUFFER QUEUE ADDRESS 136 ; REG DE: ADDRES 5 5# ┆
0x39028…390b0 (53, 0, 21) UnusedSector ┆ 5 C1 158 POP BC ;RESTORE NUMBER OF BUFFERS TO EVALUATE 10 005F D1 159 POP DE ;RESTORE START ADDRESS OF 5 5 ┆
0x390b0…39138 (53, 0, 22) UnusedSector ┆ 5 3FFFH RAMSTA EQU 1000H SRAMB EQU 4000H SRAME EQU 7FFFH STACEND EQU 7EE0H TESTBI EQU 4 TESTPO EQU 71H CHA1 EQU 4002H CHA2 EQU 5 5s/┆
0x39138…391c0 (53, 0, 23) UnusedSector ┆ 5 148 ; CALL BUFEVA ACTIVATE EVALUATION MODULE 149 ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 5 5Nr┆
0x391c0…39248 (53, 0, 24) UnusedSector ┆ 5SOURCE STATEMENT ASM 5.9 172 *E 173 END 5 x ┆
0x39248…392d0 (53, 0, 25) UnusedSector ┆ 5S OF FIRST BUFFER 137 ; REG BC: NUMBER OF BUFFERS 138 ; REG IY: BUFFER SIZE 5 5 =┆
0x392d0…39358 (53, 0, 26) UnusedSector ┆ 5LAST BUFFER 10 0060 E1 160 POP HL ;RESTORE BUFFER SIZE 10 0061 E5 161 PUSH HL ;SAVE BUFFER SIZE 5 5 ┆
0x39358…393e0 (53, 0, 27) UnusedSector ┆ 5 4012H CHA3 EQU 4022H CHA4 EQU 4032H ; BUFFSIZE EQU 209H ; BUFFERSIZE ; TRAOFF EQU 05H ; TRANSMIT BUFFER DATA OFFSET ERROFF 5 5 ┆
0x393e0…39468 (53, 0, 28) UnusedSector ┆ 5<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< INIT PAGE 4 LOC OBJ COD 5 5 ┆
0x39468…394f0 (53, 0, 29) UnusedSector ┆ 5-(BUFFHEAD+TRAOFF+1) ; BCOFF EQU 02H ; BYTECOUNT OFFSET IN BUFFERHEAD ; TSAOFF EQU 08H ; DATAPOINTER OFFSET IN BUFFERHEAD ; 5 5 ┆
0x394f0…39578 (53, 0, 30) UnusedSector ┆ 5 139 ; 140 ;EXIT POINT: NONE 141 ;REGISTERS: ALL DESTROYED. 5 5 ┆
0x39578…39600 (53, 0, 31) UnusedSector ┆ 511 0062 FDE1 162 POP IY ;RESTORE BUFFER SIZE 14 0064 19 163 ADD HL,DE ;CALCULATE ADDRESS OF NEXT BUF 5 5 ┆
0x39600…39688 (54, 0, 0) UnusedSector ┆ 6 ? 6 6* ┆
0x39688…39710 (54, 0, 1) UnusedSector ┆ 6 # B ? 6 ` ┆
0x39710…39798 (54, 0, 2) UnusedSector ┆ 6 3 # B ? 6 I ┆
0x39798…39820 (54, 0, 3) UnusedSector ┆ 6 t - t 3 6 6=4┆
0x39820…398a8 (54, 0, 4) UnusedSector ┆ 6\ ^ L ` b L d e f e h j L l o e q s v x L z } / 6 6 ┆
0x398a8…39930 (54, 0, 5) UnusedSector ┆ 6EQU 07 NUM3BUF EQU 07 NUM4BUF EQU 07 ; STA1BUF EQU CHA4+010H STA2BUF EQU STA1BUF+NUM1BUF*BUFFSIZE STA3BUF EQU STA2BUF 5 6 ┆
0x39930…399b8 (54, 0, 6) UnusedSector ┆ 611H),H ;SAVE NEW TX BYTECOUNT RET ;ECHO 4 Z ┆
0x399b8…39a40 (54, 0, 7) DataSector
[…0x1…]
0x39ac8…39b50 (54, 0, 9) UnusedSector ┆ 6TO CR80 00F4 F40000 X 211 CALL P,PUTBUF ; RETURN BUFFER TO EMPTY QUEUE 00F7 C9 212 RET ;FI 6l ┆
0x39b50…39bd8 (54, 0, 10) UnusedSector ┆ 6+NUM2BUF*BUFFSIZE STA4BUF EQU STA3BUF+NUM3BUF*BUFFSIZE ; TRA1SEM EQU 0*8H TRA2SEM EQU 2*08H TRA3SEM EQU 4*08H TRA4SEM EQU 6 6 6 ┆
0x39bd8…39c60 (54, 0, 11) UnusedSector ┆ 6ECHO + * ┆
0x39c60…39ce8 (54, 0, 12) DataSector
[…0x1…]
0x39d70…39df8 (54, 0, 14) UnusedSector ┆ 6 213 214 ;ECHO X 88 CALL GETMES ;GET BUFFER FROM CR80 000A 210F00 89 LD HL,BUFFHE 6 L ┆
0x39df8…39e80 (54, 0, 15) UnusedSector ┆ 6*08H ; REC1SEM EQU 1*08H REC2SEM EQU 3*08H REC3SEM EQU 5*08H REC4SEM EQU 7*08H ; MODE0 EQU 00H MODE1 EQU 01H MODE2 EQU 02 6 6dt┆
0x39e80…39f08 (54, 0, 16) UnusedSector ┆ 6 } } 3 6n`┆
0x39f08…39f90 (54, 0, 17) UnusedSector ┆ 6~ / e ' L e ) ) L e 6 6U ┆
0x39f90…3a018 (54, 0, 18) DataSector
0x3a018…3a0a0 (54, 0, 19) UnusedSector ┆ 6 t - t # B 6 6 ┆
0x3a0a0…3a128 (54, 0, 20) UnusedSector ┆ 6H BUFEND EQU STA4BUF+(NUM4BUF*BUFFSIZE) ; *L ON 6 ┆
0x3a128…3a1b0 (54, 0, 21) UnusedSector ┆ 6 L e L e L e ! L # e 6 6 ┆
0x3a1b0…3a238 (54, 0, 22) UnusedSector ┆ 6 e l L } } ? 6 6 ┆
0x3a238…3a2c0 (54, 0, 23) DataSector
0x3a2c0…3a348 (54, 0, 24) UnusedSector ┆ 6 ? 6 6 ┆
0x3a348…3a3d0 (54, 0, 25) UnusedSector ┆ 6 t - t # B ? 6 6 ┆
0x3a3d0…3a458 (54, 0, 26) UnusedSector ┆ 6% L ' e ) L + e - L / e 1 1 e 3 5 L 7 : = @ t A / B / 6 6P ┆
0x3a458…3a4e0 (54, 0, 27) UnusedSector ┆ 6 t ! X t 6 6 a┆
0x3a4e0…3a568 (54, 0, 28) DataSector
0x3a568…3a5f0 (54, 0, 29) UnusedSector ┆ 6 t - t 6 6 O┆
0x3a5f0…3a678 (54, 0, 30) UnusedSector ┆ 6 6 6 ┆
0x3a678…3a700 (54, 0, 31) UnusedSector ┆ 6C e E ) F ) G e I K N L P e R T e V / W / X X ) Y ) Z L 6 6]t┆
0x3a700…3a788 (55, 0, 0) UnusedSector ┆ 717B CBA3 252 RES TESTBI,E 017D ED59 253 OUT (C),E 017F 18AB 254 JR E1LOOP ;RETURN TO ERROR LOO 7 7 ┆
0x3a788…3a810 (55, 0, 1) UnusedSector ┆ 7I 015C CBA3 237 RES TESTBI,E ; 015E ED59 238 OUT (C),E ; 0160 FE0B 239 CP 11 ; 0162 20C8 7 7; ┆
0x3a810…3a898 (55, 0, 2) UnusedSector ┆ 7 269 LD C,(HL) 0195 0600 270 LD B,0 0197 A7 271 AND A 0198 2B 272 DEC HL 0199 ED42 7 74 ┆
0x3a898…3a920 (55, 0, 3) UnusedSector ┆ 7 ; 0135 FE07 221 CP 7 ; SPACE AFTER BIT 3 0137 282E 222 JR Z,OUTSP ; 0139 11F401 223 LD DE,500 7 7 ┆
0x3a920…3a9a8 (55, 0, 4) UnusedSector ┆ 7 C9 282 RET ;UPDATE Z-FLAG 283 284 ;ECHO P (HL) 00B4 20D5 1 7 [ ┆
0x3a9a8…3aa30 (55, 0, 5) UnusedSector ┆ 7 HL 011D FB 202 EI 011E ED4D 203 RETI 204 205 ;ECHO 6 7 ┆
0x3aa30…3aab8 (55, 0, 6) UnusedSector ┆ 7 mC 1 b c 0 $ J A 8 / & q q! " ! | G `> y> y i ! @4 M og q 0 7 ┆
0x3aab8…3ab40 (55, 0, 7) UnusedSector ┆ 7 240 JR NZ,E1LOOP ; NEXT BIT 0164 AF 241 XOR A ; 0165 18C5 242 JR E1LOOP ;OD 7 7 -┆
0x3ab40…3abc8 (55, 0, 8) UnusedSector ┆ 7 ; FOR BIT 0 TO 8 013C CD8101 R 224 CALL MDELAY ; DELAY 1 PERIOD 013F ED58 225 IN E,(C) ; 0141 CBE3 7 7= ┆
0x3abc8…3ac50 (55, 0, 9) UnusedSector ┆ 7P 255 0181 14 256 MDELAY INC D ;FOR N = REG. DE TO 0 STEP -1 0182 0600 257 M1LOOP L 7 7 '┆
0x3ac50…3acd8 (55, 0, 10) UnusedSector ┆ 7 206 ;---------------- PULSE TEST LED --------------------------------------- 207 0120 FB 7 7 ┆
0x3acd8…3ad60 (55, 0, 11) UnusedSector ┆ 7 & m @ X Y < (6 (2 (. X Y 8 M X Y d X Y X Y 2 ! 7 7 ┆
0x3ad60…3ade8 (55, 0, 12) UnusedSector ┆ 7 243 0167 116400 244 OUTSP LD DE,100 ;DELAY 0.1 PERIOD OBT 7 7. ┆
0x3ade8…3ae70 (55, 0, 13) UnusedSector ┆ 7 226 SET TESTBI,E ; 0143 ED59 227 OUT (C),E ; TURN ON TEST LED 0145 11F401 228 LD DE,500 ; I 7 7 ┆
0x3ae70…3aef8 (55, 0, 14) UnusedSector ┆ 7D B,0 0184 10FE 258 M2LOOP DJNZ M2LOOP 0186 0632 259 LD B,50 ;DELAY 1 MILLI SECOND 0188 10FE 260 7 7pp┆
0x3aef8…3af80 (55, 0, 15) UnusedSector ┆ 7 208 ERROR EI 0121 6F 209 LD L,A 0122 67 210 LD H,A ;SAVE ERROR CODE 0123 0E71 211 L 7 7 ┆
0x3af80…3b008 (55, 0, 16) UnusedSector ┆ 7 ~N + Bw! ~4 ! ~~ X Y 8 M X Y d X Y X Y 2 ! ~ 7 ┆
0x3b008…3b090 (55, 0, 17) UnusedSector ┆ 7 PAGE 4 LOC OBJ CODE M STMT SOURCE STATEMENT ASM 5.9 016A CD8101 R 245 CALL MDELAY ; 7 7 U┆
0x3b090…3b118 (55, 0, 18) UnusedSector ┆ 7F BIT = 0 THEN 0148 CB0D 229 RRC L ; 014A 3808 230 JR C,OUT1 ; 014C 11E803 231 LD DE,1000 ; 7 7M ┆
0x3b118…3b1a0 (55, 0, 19) UnusedSector ┆ 7 M3LOOP DJNZ M3LOOP 018A 1D 261 DEC E 018B 20F5 262 JR NZ,M1LOOP 018D 15 263 DEC D 018E 2 7 77$┆
0x3b1a0…3b228 (55, 0, 20) UnusedSector ┆ 7D C,TESTPO 0125 ED58 212 IN E,(C) 0127 CBA3 213 RES TESTBI,E 0129 ED59 214 OUT (C),E ;TURN OFF 7 7 )┆
0x3b228…3b2b0 (55, 0, 21) UnusedSector ┆ 7 273 SBC HL,BC 019B 77 274 LD (HL),A ;LOAD ERROR CODE 019C 21DF7E 275 LD HL,STACEND-1 019F 34 7 7 ┆
0x3b2b0…3b338 (55, 0, 22) UnusedSector ┆ 7016D ED58 246 IN E,(C) ; 016F CBE3 247 SET TESTBI,E ; 0171 ED59 248 OUT (C),E ;TURN ON TEST L 7 7 ┆
0x3b338…3b3c0 (55, 0, 23) UnusedSector ┆ 7 DELAY 2 PERIODS 014F CD8101 R 232 CALL MDELAY ; 0152 1806 233 JR E1NEXT ; ELSE 0154 114D01 234 7 7 ┆
0x3b3c0…3b448 (55, 0, 24) UnusedSector ┆ 70F2 264 JR NZ,M1LOOP ;NEXT N 0190 C9 265 RET 266 267 ;---------- 7 7> ┆
0x3b448…3b4d0 (55, 0, 25) UnusedSector ┆ 7 TEST LED 012B AF 215 XOR A ;DO FOREVER 012C 3C 216 E1LOOP INC A ; 012D FE01 217 CP 1 ; 7 7 v┆
0x3b4d0…3b558 (55, 0, 26) UnusedSector ┆ 7 276 INC (HL) ;INCREMENT ERROR COUNT 01A0 C9 277 RET ;RETURN WITH Z=0 278 01A1 7 7Il┆
0x3b558…3b5e0 (55, 0, 27) UnusedSector ┆ 7ED 0173 118403 249 LD DE,900 0176 CD8101 R 250 CALL MDELAY ;DELAY .9 PERIOD 0179 ED58 251 IN E,(C) 0 7 7 ┆
0x3b5e0…3b668 (55, 0, 28) UnusedSector ┆ 7 OUT1 LD DE,333 ; DELAY .6 PERIODS 0157 CD8101 R 235 CALL MDELAY ; 015A ED58 236 E1NEXT IN E,(C) ; F 7 7 ┆
0x3b668…3b6f0 (55, 0, 29) UnusedSector ┆ 7------------------------------------------------------------------ 0191 21DF7E 268 DETECT LD HL,STACEND-1 0194 4E 7 7] ┆
0x3b6f0…3b778 (55, 0, 30) UnusedSector ┆ 7START WITH 2 SPACES 012F 2836 218 JR Z,OUTSP ; 0131 FE02 219 CP 2 ; 0133 2832 220 JR Z,OUTSP 7 7 ┆
0x3b778…3b800 (55, 0, 31) UnusedSector ┆ 721DF7E 279 ERRCHK LD HL,STACEND-1 01A4 7E 280 LD A,(HL) ;GET ERROR COUNT 01A5 A7 281 AND A 01A6 7 7 ┆
0x3b800…3b888 (56, 0, 0) UnusedSector ┆ 8IS RETURNED TO CR80 8 ;* IMMEDIATELY 9 ;**************************************** 8 8RM┆
0x3b888…3b910 (56, 0, 1) UnusedSector ┆ 8************************************** 10 *INCLUDE CONST.S 77 *L ON 8 9: ┆
0x3b910…3b998 (56, 0, 2) UnusedSector ┆ 8 PROCESS NAME * 0CH ; * * 0DH ; ********************** ; EXTERNAL SYSRAM,SUBCREATE EXTERNAL CHA1STA,CHA 8 8 ┆
0x3b998…3ba20 (56, 0, 3) UnusedSector ┆ 8RESS LD HL,TSAOFF ; ADD HL,DE ; POP BC ; LD (HL),C ; INC HL ; LD (HL),B ; UPDATE DATASTART ADDRESS IN BUFFER LD L,C 8 8* ┆
0x3ba20…3baa8 (56, 0, 4) UnusedSector ┆ 8H ; DEFW 7F40H ;18H DEFW COM1REC DEFW SYSRAM+100H+8*0AH ; DEFW 7F28H ;18H DEFW COM2REC DEFW SYSRAM+100H+9*0AH ; DEFW 7F 8 :3 ┆
0x3baa8…3bb30 (56, 0, 5) UnusedSector ┆ 8T OVERLOAD THEN CALL M,PUTMES ;RETURN BUFFER TO CR80 ELSE CALL P,PUTBUF ;RETURN BUFFER TO EMPTY QUEUE CALL SRELEASE ;SCHEDULE 5 8 z┆
0x3bb30…3bbb8 (56, 0, 6) UnusedSector ┆ 8 : ( 791101 791101 ┆
0x3bbb8…3bc40 (56, 0, 7) UnusedSector ┆ 8 CHX.PROC PAGE 1 LOC OBJ CODE M STMT SOURCE STATEMENT 3 8$ ┆
0x3bc40…3bcc8 (56, 0, 8) UnusedSector ┆ 8 ; LD H,B ; POP BC ; GET ERROR BYTECOUNT PUSH DE ; SAVE BUFFER ADDRESS LD (HL),MODE0 ; UPDATE OPCODE IN BUFFER INC H 8 8 :┆
0x3bcc8…3bd50 (56, 0, 9) UnusedSector ┆ 8*P 42 ; ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ; CREATE TABLE DESCRIPTION ;<<<<<<<<<<<<<<<<<<<<<< 8 8 e┆
0x3bd50…3bdd8 (56, 0, 10) UnusedSector ┆ 8 JR CH4PROC ;ECHO ERRSEN LD A,(IY+00H) CP 1 JR Z,NEXT1 ;IF CHANNEL IS NOT INITIALIZED THEN WAIT PUSH IY CALL SRELEAS 8 8 i┆
0x3bdd8…3be60 (56, 0, 11) UnusedSector ┆ 82STA,CHA3STA,CHA4STA EXTERNAL CH1PROC,CH2PROC,CH3PROC,CH4PROC EXTERNAL COM1REC,COM2REC,COM3REC,COM4REC GLOBAL PRO_CREATE,STA 8 82 ┆
0x3be60…3bee8 (56, 0, 12) UnusedSector ┆ 8 ASM 5.9 1 ;**************************************************************************** 8 8 ┆
0x3bee8…3bf70 (56, 0, 13) UnusedSector ┆ 8L ; LD (HL),0 ; INC HL ; LD DE,STACEND-2 ; GET ERROR CODE START(END) ADDRESS ; FOR NO. OF ERROR CODES NEXT2 LD A,(DE 8 8 ┆
0x3bf70…3bff8 (56, 0, 14) UnusedSector ┆ 8<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ; ; ********************** ; * NO OF PROCESSES * 00 ; * * 01 ;FIRST 8 8a ┆
0x3bff8…3c080 (56, 0, 15) UnusedSector ┆ 8E POP IY JR ERRSEN NEXT1 LD HL,STACEND-1 LD A,(HL) AND A RET Z ;IF NO ERROR MESSAGES TO BE SEND THEN EXIT LD L,(IY+08H) ; 8 8K ┆
0x3c080…3c108 (56, 0, 16) UnusedSector ┆ 8CEND CRE_TABLE DEFW (TABEND-TABSTA)/6 ; TABSTA DEFW 8000H ;18H DEFW CHA1STA DEFW SYSRAM+100H+0*0AH ; DEFW 7FE8H ;18H 8 8nN┆
0x3c108…3c190 (56, 0, 17) UnusedSector ┆ 8 2 ;* PROCESS NAME : CHXPROC 3 ;* 4 ;* DESCRIPTION : THE PROCESS G 8 8 ┆
0x3c190…3c218 (56, 0, 18) UnusedSector ┆ 8) ; DO LD (HL),A ; LOAD ERROR CODE IN BUFFER INC HL ; LD (HL),0 ; INC HL ; NEXT ADDRESS IN BUFFER DEC DE ; 8 8& ┆
0x3c218…3c2a0 (56, 0, 19) UnusedSector ┆ 8PROCESS ********************** ; * STACK START * 02 ; * ADDRESS * 03 ; ********************** ; * PROCESS NAME 8 8 ┆
0x3c2a0…3c328 (56, 0, 20) UnusedSector ┆ 8GET ADDRESS OF EMPTY BUFFER QUEUE LD H,(IY+09H) CALL SUBDEQ JR NC,ERRSEN ;IF BUFFER IN EMPTY QUEUE THEN LD HL,STACEND-1 ; L 8 8'-┆
0x3c328…3c3b0 (56, 0, 21) UnusedSector ┆ 8 DEFW CHA2STA DEFW SYSRAM+100H+1*0AH ; DEFW 7FD0H ;18H DEFW CHA3STA DEFW SYSRAM+100H+2*0AH ; DEFW 7FB8H ;18H DEFW CHA4ST 8 8F ┆
0x3c3b0…3c438 (56, 0, 22) UnusedSector ┆ 8ETS A MESSAGE BUFFER FROM CR80. 5 ;* IF IT IS A LOOP BUFFER, THE CONTENT IS LOOPED ON THE 8 8 ┆
0x3c438…3c4c0 (56, 0, 23) UnusedSector ┆ 8NEXT ADDRESS OF ERROR CODES DJNZ NEXT2 ; OD POP DE ; GET BUFFER ADDRESS CALL OVLDET ; IF NOT OVERLOAD THEN CALL M,PUTM 8 86 ┆
0x3c4c0…3c548 (56, 0, 24) UnusedSector ┆ 8 * 04 ; * * 05 ; ********************** ; * PROCESS DESCRIPTOR * 06 ; * ADDRESS * 07 ; ****************** 8 8 ┆
0x3c548…3c5d0 (56, 0, 25) UnusedSector ┆ 8D A,(HL) ;GET ERROR COUNT LD (HL),0 ;CLEAR ERROR COUNT PUSH AF ; INC A ; RLCA ; LD HL,BCOFF ; ADD HL,DE ; LD (HL), 8 88)┆
0x3c5d0…3c658 (56, 0, 26) UnusedSector ┆ 8A DEFW SYSRAM+100H+3*0AH ; DEFW 7FA0H ;18H DEFW CH1PROC DEFW SYSRAM+100H+4*0AH ; DEFW 7F88H ;18H DEFW CH2PROC DEFW SYSR 8 8 ┆
0x3c658…3c6e0 (56, 0, 27) UnusedSector ┆ 8 6 ;* SIO AND RETURNED TO CR80 WITH PROPER ERROR CODE 7 ;* IF IT IS NOT A LOOP BUFFER,IT 8 8*,┆
0x3c6e0…3c768 (56, 0, 28) UnusedSector ┆ 8ES ; SEND ERROR BUFFER TO CR80 CALL P,PUTBUF ; RETURN BUFFER TO EMPTY QUEUE RET ;FI ;ECHO 8 ┆
0x3c768…3c7f0 (56, 0, 29) UnusedSector ┆ 8**** ;SECOND PROCESS ********************** ; * STACK START * 0AH ; * ADDRESS * 0BH ; ********************** ; * 8 8 ,┆
0x3c7f0…3c878 (56, 0, 30) UnusedSector ┆ 8A ; UPDATE BYTE COUNT IN BUFFER INC HL ; LD (HL),0 ; LD HL,BUFFHEAD+TRAOFF ADD HL,DE ; PUSH HL ; SAVE DATA START ADD 8 8 ┆
0x3c878…3c900 (56, 0, 31) UnusedSector ┆ 8AM+100H+5*0AH ; DEFW 7F70H ;18H DEFW CH3PROC DEFW SYSRAM+100H+6*0AH ; DEFW 7F58H ;18H DEFW CH4PROC DEFW SYSRAM+100H+7*0A 8 8 ┆
0x3c900…3c988 (57, 0, 0) UnusedSector ┆ 9 155 JR ERRSEN 00A0 21DF7E 156 NEXT1 LD HL,STACEND-1 00A3 7E 157 LD A,(HL) 00A4 A7 158 A 9 : W┆
0x3c988…3ca10 (57, 0, 1) UnusedSector ┆ 9LOOP BUFFER IN SIO 109 ;FI 003A CD0000 X 110 CH21 CALL OVLDET ;IF NOT OVERLOAD THEN 003D FC0000 9 9>7┆
0x3ca10…3ca98 (57, 0, 2) UnusedSector ┆ 907D 2003 139 JR NZ,CH41 ;IF MODE 2-BUFFER THEN 007F CD0000 X 140 CALL LOOPTST ; LOOP BUFFER IN SIO 9 9. ┆
0x3ca98…3cb20 (57, 0, 3) UnusedSector ┆ 93 ;FI 0016 CD0000 X 94 CH11 CALL OVLDET ;IF NOT OVERLOAD THEN 0019 FC0000 X 95 CALL M,PUTMES ;RETURN BUFFER 9 9 y┆
0x3cb20…3cba8 (57, 0, 4) UnusedSector ┆ 9E 2 LOC OBJ CODE M STMT SOURCE STATEMENT ASM 5.9 125 ;FI 005E CD0000 9 9 !┆
0x3cba8…3cc30 (57, 0, 5) UnusedSector ┆ 9 78 79 GLOBAL CH1PROC,CH2PROC,CH3PROC,CH4PROC 80 EXTERNAL CHA1TAB,CHA2TAB,CHA3TA 8 9 ┆
0x3cc30…3ccb8 (57, 0, 6) UnusedSector ┆ 9 X 111 CALL M,PUTMES ;RETURN BUFFER TO CR80 ELSE 0040 F40000 X 112 CALL P,PUTBUF ;RETURN BUFFER TO EMPTY QUEUE 0043 9 9 ┆
0x3ccb8…3cd40 (57, 0, 7) UnusedSector ┆ 9 141 ;FI 0082 CD0000 X 142 CH41 CALL OVLDET ;IF NOT OVERLOAD THEN 0085 FC0000 X 143 CALL M,PUTMES ; 9 9> ┆
0x3cd40…3cdc8 (57, 0, 8) UnusedSector ┆ 9 TO CR80 ELSE 001C F40000 X 96 CALL P,PUTBUF ;RETURN BUFFER TO EMPTY QUEUE 001F CD0000 X 97 CALL SRELEASE ;SCHED 9 9 ┆
0x3cdc8…3ce50 (57, 0, 9) UnusedSector ┆ 9X 126 CH31 CALL OVLDET ;IF NOT OVERLOAD THEN 0061 FC0000 X 127 CALL M,PUTMES ;RETURN BUFFER TO CR80 ELSE 0064 F40000 9 9 f┆
0x3ce50…3ced8 (57, 0, 10) UnusedSector ┆ 9B,CHA4TAB 81 EXTERNAL GETMES,OVLDET,PUTMES,PUTBUF,SRELEASE 82 EXTERNAL SUBDEQ,LOOPTS 9 9 5┆
0x3ced8…3cf60 (57, 0, 11) UnusedSector ┆ 9 CD0000 X 113 CALL SRELEASE ;SCHEDULE 0046 18DC 114 JR CH2PROC 115 0048 FD210000 X 1 9 9 =┆
0x3cf60…3cfe8 (57, 0, 12) UnusedSector ┆ 9RETURN BUFFER TO CR80 ELSE 0088 F40000 X 144 CALL P,PUTBUF ;RETURN BUFFER TO EMPTY QUEUE 008B CD0000 X 145 CALL SR 9 9 v┆
0x3cfe8…3d070 (57, 0, 13) UnusedSector ┆ 9ULE 0022 18DC 98 JR CH1PROC 99 0024 FD210000 X 100 CH2PROC LD IY,CHA2TAB 0028 CD9000 9 9} ┆
0x3d070…3d0f8 (57, 0, 14) UnusedSector ┆ 9 X 128 CALL P,PUTBUF ;RETURN BUFFER TO EMPTY QUEUE 0067 CD0000 X 129 CALL SRELEASE ;SCHEDULE 006A 18DC 130 9 9vb┆
0x3d0f8…3d180 (57, 0, 15) UnusedSector ┆ 9T 83 0000 FD210000 X 84 CH1PROC LD IY,CHA1TAB 0004 CD9000 R 85 CALL ERRSEN ;IF CHAN. INITIA 9 9 ┆
0x3d180…3d208 (57, 0, 16) UnusedSector ┆ 916 CH3PROC LD IY,CHA3TAB 004C CD9000 R 117 CALL ERRSEN ;IF CHAN. INITIALIZED, SEND ERROR MESS. IF ANY 004F CD0000 X 9 9D-┆
0x3d208…3d290 (57, 0, 17) UnusedSector ┆ 9ELEASE ;SCHEDULE 008E 18DC 146 JR CH4PROC 147 148 ;ECHO 0090 FD7E00 9 9N ┆
0x3d290…3d318 (57, 0, 18) UnusedSector ┆ 9 R 101 CALL ERRSEN ;IF CHAN. INITIALIZED, SEND ERROR MESS. IF ANY 002B CD0000 X 102 CALL GETMES ;GET BUFFER FROM CR 9 9 ┆
0x3d318…3d3a0 (57, 0, 19) UnusedSector ┆ 9 JR CH3PROC 131 006C FD210000 X 132 CH4PROC LD IY,CHA4TAB 0070 CD9000 R 133 CALL ERRSEN ;IF 9 9M ┆
0x3d3a0…3d428 (57, 0, 20) UnusedSector ┆ 9LIZED, SEND ERROR MESS. IF ANY 0007 CD0000 X 86 CALL GETMES ;GET BUFFER FROM CR80 000A 210F00 87 LD HL,BUFFHE 9 9 ┆
0x3d428…3d4b0 (57, 0, 21) UnusedSector ┆ 9 118 CALL GETMES ;GET BUFFER FROM CR80 0052 210F00 119 LD HL,BUFFHEAD+TRAOFF 0055 19 120 ADD HL,DE 005 9 9 ┆
0x3d4b0…3d538 (57, 0, 22) UnusedSector ┆ 9 149 ERRSEN LD A,(IY+00H) 0093 FE01 150 CP 1 0095 2809 151 JR Z,NEXT1 ;IF CHANNEL IS NOT INITIALIZED 9 9 ┆
0x3d538…3d5c0 (57, 0, 23) UnusedSector ┆ 980 002E 210F00 103 LD HL,BUFFHEAD+TRAOFF 0031 19 104 ADD HL,DE 0032 7E 105 LD A,(HL) 0033 F 9 9L ┆
0x3d5c0…3d648 (57, 0, 24) UnusedSector ┆ 9 CHAN. INITIALIZED, SEND ERROR MESS. IF ANY 0073 CD0000 X 134 CALL GETMES ;GET BUFFER FROM CR80 0076 210F00 135 9 9 K┆
0x3d648…3d6d0 (57, 0, 25) UnusedSector ┆ 9AD+TRAOFF 000D 19 88 ADD HL,DE 000E 7E 89 LD A,(HL) 000F FE02 90 CP MODE2 0011 2003 9 9s;┆
0x3d6d0…3d758 (57, 0, 26) UnusedSector ┆ 96 7E 121 LD A,(HL) 0057 FE02 122 CP MODE2 0059 2003 123 JR NZ,CH31 ;IF MODE 2-BUFFER THEN 00 9 9oz┆
0x3d758…3d7e0 (57, 0, 27) UnusedSector ┆ 9THEN WAIT 0097 FDE5 152 PUSH IY 0099 CD0000 X 153 CALL SRELEASE 009C FDE1 154 POP IY 009E 18F0 9 9 ┆
0x3d7e0…3d868 (57, 0, 28) UnusedSector ┆ 9E02 106 CP MODE2 0035 2003 107 JR NZ,CH21 ;IF MODE 2-BUFFER THEN 0037 CD0000 X 108 CALL LOOPTST ; 9 9U/┆
0x3d868…3d8f0 (57, 0, 29) UnusedSector ┆ 9 LD HL,BUFFHEAD+TRAOFF 0079 19 136 ADD HL,DE 007A 7E 137 LD A,(HL) 007B FE02 138 CP MODE2 0 9 9F?┆
0x3d8f0…3d978 (57, 0, 30) UnusedSector ┆ 9 91 JR NZ,CH11 ;IF MODE 2-BUFFER THEN 0013 CD0000 X 92 CALL LOOPTST ; LOOP BUFFER IN SIO 9 9 9: ┆
0x3d978…3da00 (57, 0, 31) UnusedSector ┆ 95B CD0000 X 124 CALL LOOPTST ; LOOP BUFFER IN SIO CHX.PROC PAG 9 9`B┆
0x3da00…3da88 (58, 0, 0) UnusedSector ┆ : X 203 CALL M,PUTMES ; SEND ERROR BUFFER TO CR80 00EC F40000 X 204 CALL P,PUTBUF ; RETURN BUFFER TO EMPTY QUEUE 00EF : : ┆
0x3da88…3db10 (58, 0, 1) UnusedSector ┆ : (HL),MODE0 ; UPDATE OPCODE IN BUFFER 00D5 23 189 INC HL ; 00D6 3600 190 LD (HL),0 ; 00D8 23 : :b#┆
0x3db10…3db98 (58, 0, 2) UnusedSector ┆ :<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 6 ; 7 ; **************** : :z*┆
0x3db98…3dc20 (58, 0, 3) UnusedSector ┆ : ; 00C2 210F00 175 LD HL,BUFFHEAD+TRAOFF 00C5 19 176 ADD HL,DE ; 00C6 E5 177 PUSH HL ; SAV : :Q ┆
0x3dc20…3dca8 (58, 0, 4) UnusedSector ┆ :****** 8 ; * NO OF PROCESSES * 00 9 ; * * 01 10 ;F : ; z┆
0x3dca8…3dd30 (58, 0, 5) UnusedSector ┆ :ND A 00A5 C8 159 RET Z ;IF NO ERROR MESSAGES TO BE SEND THEN EXIT 00A6 FD6E08 160 LD L,(IY+08H) ;GET ADDR 9 : ┆
0x3dd30…3ddb8 (58, 0, 6) UnusedSector ┆ : X c ! ~~ n f 0 ! ~~6 < ! w#6 ! ! q#pi` 6 #6 # ~ w#6 # 2 ( ~ ( ! 3 ┆
0x3ddb8…3de40 (58, 0, 7) UnusedSector ┆ : 191 INC HL ; 00D9 11DE7E 192 LD DE,STACEND-2 ; GET ERROR CODE START(END) ADDRESS 193 ; : :x ┆
0x3de40…3dec8 (58, 0, 8) UnusedSector ┆ :E DATA START ADDRESS 00C7 210800 178 LD HL,TSAOFF ; 00CA 19 179 ADD HL,DE ; 00CB C1 180 POP : :q*┆
0x3dec8…3df50 (58, 0, 9) UnusedSector ┆ : C9 205 RET ;FI 206 207 ;ECHO 80 EXTERNAL CHA1TAB,CHA2TAB,CHA3TA : ┆
0x3df50…3dfd8 (58, 0, 10) UnusedSector ┆ :ESS OF EMPTY BUFFER QUEUE 00A9 FD6609 161 LD H,(IY+09H) 00AC CD0000 X 162 CALL SUBDEQ 00AF 30DF 163 J : :Gv┆
0x3dfd8…3e060 (58, 0, 11) UnusedSector ┆ :10H ;18H DEFW COM3REC DEFW SYSRAM+100H+10*0AH ; DEFW 7EF8H ;18H DEFW COM4REC DEFW SYSRAM+100H+11*0AH ; STACEND EQU 7EE0H 8 : ┆
0x3e060…3e0e8 (58, 0, 12) UnusedSector ┆ :FOR NO. OF ERROR CODES 00DC 1A 194 NEXT2 LD A,(DE) ; DO 00DD 77 195 LD (HL),A ; LOAD ERROR CODE I : : U┆
0x3e0e8…3e170 (58, 0, 13) UnusedSector ┆ :BC ; 00CC 71 181 LD (HL),C ; 00CD 23 182 INC HL ; CHX.PROC : : ┆
0x3e170…3e1f8 (58, 0, 14) DataSector
0x3e1f8…3e280 (58, 0, 15) UnusedSector ┆ :R NC,ERRSEN ;IF BUFFER IN EMPTY QUEUE THEN 00B1 21DF7E 164 LD HL,STACEND-1 ; 00B4 7E 165 LD A,(HL) ;GET E : :h?┆
0x3e280…3e308 (58, 0, 16) UnusedSector ┆ :; TABEND PRO_CREATE LD IY,CRE_TABLE LD C,(IY+00) LD B,(IY+01) INC IY INC IY CRE_LOOP LD A,C OR B JP Z,CRE_STOP LD L,( : : ┆
0x3e308…3e390 (58, 0, 17) UnusedSector ┆ :N BUFFER 00DE 23 196 INC HL ; 00DF 3600 197 LD (HL),0 ; 00E1 23 198 INC HL ; NEXT ADD : : ┆
0x3e390…3e418 (58, 0, 18) UnusedSector ┆ : PAGE 3 LOC OBJ CODE M STMT SOURCE STATEMENT ASM 5.9 00CE 70 183 LD : :Q ┆
0x3e418…3e4a0 (58, 0, 19) UnusedSector ┆ : CREA PAGE 1 LOC OBJ CODE M STMT SOURCE STATEMENT 4 : ┆
0x3e4a0…3e528 (58, 0, 20) UnusedSector ┆ :RROR COUNT 00B5 3600 166 LD (HL),0 ;CLEAR ERROR COUNT 00B7 F5 167 PUSH AF ; 00B8 3C 168 I : : ┆
0x3e528…3e5b0 (58, 0, 21) UnusedSector ┆ :IY+00) LD H,(IY+01) DEC HL DEC HL LD E,(IY+02) LD D,(IY+03) PUSH BC LD C,(IY+04) LD B,(IY+05) PUSH BC POP IX LD C,00H : : ┆
0x3e5b0…3e638 (58, 0, 22) UnusedSector ┆ :RESS IN BUFFER 00E2 1B 199 DEC DE ; NEXT ADDRESS OF ERROR CODES 00E3 10F7 200 DJNZ NEXT2 ; OD 00E5 : : A┆
0x3e638…3e6c0 (58, 0, 23) UnusedSector ┆ :(HL),B ; UPDATE DATASTART ADDRESS IN BUFFER 00CF 69 184 LD L,C ; 00D0 60 185 LD H,B ; 00D1 C1 : :P ┆
0x3e6c0…3e748 (58, 0, 24) UnusedSector ┆ : ASM 5.9 1 *P 42 2 ; 3 ;>>>>>>>>>>>>>>>>>>>>>>>>>> : : Q┆
0x3e748…3e7d0 (58, 0, 25) UnusedSector ┆ :NC A ; 00B9 07 169 RLCA ; 00BA 210200 170 LD HL,BCOFF ; 00BD 19 171 ADD HL,DE ; 00BE 77 : :7 ┆
0x3e7d0…3e858 (58, 0, 26) UnusedSector ┆ : LD B,00 LD A,01H PUSH IY LD IY,SYSRAM CALL SUBCREATE POP HL LD DE,06H ADD HL,DE PUSH HL POP IY POP BC DEC BC JP : : `┆
0x3e858…3e8e0 (58, 0, 27) UnusedSector ┆ : D1 201 POP DE ; GET BUFFER ADDRESS 00E6 CD0000 X 202 CALL OVLDET ; IF NOT OVERLOAD THEN 00E9 FC0000 : : ┆
0x3e8e0…3e968 (58, 0, 28) UnusedSector ┆ : 186 POP BC ; GET ERROR BYTECOUNT 00D2 D5 187 PUSH DE ; SAVE BUFFER ADDRESS 00D3 3600 188 LD : :k ┆
0x3e968…3e9f0 (58, 0, 29) UnusedSector ┆ :>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 4 ; CREATE TABLE DESCRIPTION 5 ;<<<<<<<<< : :h9┆
0x3e9f0…3ea78 (58, 0, 30) UnusedSector ┆ : 172 LD (HL),A ; UPDATE BYTE COUNT IN BUFFER 00BF 23 173 INC HL ; 00C0 3600 174 LD (HL),0 : : ┆
0x3ea78…3eb00 (58, 0, 31) UnusedSector ┆ :CRE_LOOP CRE_STOP RET END ;ECHO : ┆
0x3eb00…3eb88 (59, 0, 0) UnusedSector ┆ ;101 JP Z,CRE_STOP 005D FD6E00 102 LD L,(IY+00) 0060 FD6601 103 LD H,(IY+01) 0063 2B 104 DEC HL ; <, ┆
0x3eb88…3ec10 (59, 0, 1) UnusedSector ┆ ; PAGE 2 LOC OBJ CODE M STMT SOURCE STATEMENT ASM 5.9 0004 0000 X 43 DEFW CHA1STA 00 ; ; ┆
0x3ec10…3ec98 (59, 0, 2) UnusedSector ┆ ;C 0042 6401 X 84 DEFW SYSRAM+100H+10*0AH CREA PAGE 3 L ; ; ┆
0x3ec98…3ed20 (59, 0, 3) UnusedSector ┆ ; 25 ; * * 0DH 26 ; ********************** 27 ; 28 ; ; ┆
0x3ed20…3eda8 (59, 0, 4) UnusedSector ┆ ;0024 3201 X 64 DEFW SYSRAM+100H+5*0AH 65 ; 0026 707F 66 DEFW 7F70H ;18H 0028 0000 ; ;Q ┆
0x3eda8…3ee30 (59, 0, 5) UnusedSector ┆ ;IRST PROCESS ********************** 11 ; * STACK START * 02 12 ; * ADDRESS : ; ┆
0x3ee30…3eeb8 (59, 0, 6) UnusedSector ┆ ;06 0001 X 44 DEFW SYSRAM+100H+0*0AH 45 ; 0008 E87F 46 DEFW 7FE8H ;18H 000A 0000 ; ;Uo┆
0x3eeb8…3ef40 (59, 0, 7) UnusedSector ┆ ;OC OBJ CODE M STMT SOURCE STATEMENT ASM 5.9 85 ; 0044 F87E 86 DEFW ; ; ┆
0x3ef40…3efc8 (59, 0, 8) UnusedSector ┆ ; 29 30 EXTERNAL SYSRAM,SUBCREATE 31 32 ; ;'k┆
0x3efc8…3f050 (59, 0, 9) UnusedSector ┆ ; X 67 DEFW CH3PROC 002A 3C01 X 68 DEFW SYSRAM+100H+6*0AH 69 ; 002C 587F 70 DEF ; ;0 ┆
0x3f050…3f0d8 (59, 0, 10) UnusedSector ┆ ; * 03 13 ; ********************** 14 ; * PROCESS NAME * 04 ; ; ┆
0x3f0d8…3f160 (59, 0, 11) UnusedSector ┆ ; X 47 DEFW CHA2STA 000C 0A01 X 48 DEFW SYSRAM+100H+1*0AH 49 ; 000E D07F 50 DEFW ; ;L ┆
0x3f160…3f1e8 (59, 0, 12) UnusedSector ┆ ;7EF8H ;18H 0046 0000 X 87 DEFW COM4REC 0048 6E01 X 88 DEFW SYSRAM+100H+11*0AH 89 ; ; ; ┆
0x3f1e8…3f270 (59, 0, 13) UnusedSector ┆ ; EXTERNAL CHA1STA,CHA2STA,CHA3STA,CHA4STA 33 EXTERNAL CH1PROC,CH2PROC,CH3PROC,CH4PROC ; ;g ┆
0x3f270…3f2f8 (59, 0, 14) UnusedSector ┆ ;W 7F58H ;18H 002E 0000 X 71 DEFW CH4PROC 0030 4601 X 72 DEFW SYSRAM+100H+7*0AH 73 ; 00 ; ; ^┆
0x3f2f8…3f380 (59, 0, 15) UnusedSector ┆ ; 15 ; * * 05 16 ; ********************** 17 ; * PROCESS DESCRIPTOR * 06 ; ; ┆
0x3f380…3f408 (59, 0, 16) UnusedSector ┆ ;7FD0H ;18H 0010 0000 X 51 DEFW CHA3STA 0012 1401 X 52 DEFW SYSRAM+100H+2*0AH 53 ; 0014 ; ; ┆
0x3f408…3f490 (59, 0, 17) UnusedSector ┆ ; 90 TABEND 91 92 PRO_CREATE 004A FD210000 R 93 LD IY,CRE_TABL ; ; ┆
0x3f490…3f518 (59, 0, 18) UnusedSector ┆ ;34 EXTERNAL COM1REC,COM2REC,COM3REC,COM4REC 35 GLOBAL PRO_CREATE 36 ; ;C ┆
0x3f518…3f5a0 (59, 0, 19) UnusedSector ┆ ;32 407F 74 DEFW 7F40H ;18H 0034 0000 X 75 DEFW COM1REC 0036 5001 X 76 DEFW SYSRAM+100H+8*0AH ; ; ┆
0x3f5a0…3f628 (59, 0, 20) UnusedSector ┆ ; 18 ; * ADDRESS * 07 19 ; ********************** 20 ;SECON ; ; U┆
0x3f628…3f6b0 (59, 0, 21) UnusedSector ┆ ; B87F 54 DEFW 7FB8H ;18H 0016 0000 X 55 DEFW CHA4STA 0018 1E01 X 56 DEFW SYSRAM+100H+3*0AH ; ;wT┆
0x3f6b0…3f738 (59, 0, 22) UnusedSector ┆ ;E 004E FD4E00 94 LD C,(IY+00) 0051 FD4601 95 LD B,(IY+01) 0054 FD23 96 INC IY 0056 FD23 ; ; 2┆
0x3f738…3f7c0 (59, 0, 23) UnusedSector ┆ ; 37 38 CRE_TABLE 0000 0C00 39 DEFW (TABEND-TABSTA)/6 40 ; ; ; ┆
0x3f7c0…3f848 (59, 0, 24) UnusedSector ┆ ; 77 ; 0038 287F 78 DEFW 7F28H ;18H 003A 0000 X 79 DEFW COM2REC 003C 5A01 X 80 ; ; G┆
0x3f848…3f8d0 (59, 0, 25) UnusedSector ┆ ;D PROCESS ********************** 21 ; * STACK START * 0AH 22 ; * ADDRESS ; ;{ ┆
0x3f8d0…3f958 (59, 0, 26) UnusedSector ┆ ; 57 ; 001A A07F 58 DEFW 7FA0H ;18H 001C 0000 X 59 DEFW CH1PROC 001E 2801 X 60 D ; ;p ┆
0x3f958…3f9e0 (59, 0, 27) UnusedSector ┆ ; 97 INC IY 98 CRE_LOOP 0058 79 99 LD A,C 0059 B0 100 OR B 005A CA9100 R ; ; ┆
0x3f9e0…3fa68 (59, 0, 28) UnusedSector ┆ ; 41 TABSTA 0002 0080 42 DEFW 8000H ;18H CREA ; ;, ┆
0x3fa68…3faf0 (59, 0, 29) UnusedSector ┆ ; DEFW SYSRAM+100H+9*0AH 81 ; 003E 107F 82 DEFW 7F10H ;18H 0040 0000 X 83 DEFW COM3RE ; ; ┆
0x3faf0…3fb78 (59, 0, 30) UnusedSector ┆ ;* 0BH 23 ; ********************** 24 ; * PROCESS NAME * 0CH ; ;D ┆
0x3fb78…3fc00 (59, 0, 31) UnusedSector ┆ ;EFW SYSRAM+100H+4*0AH 61 ; 0020 887F 62 DEFW 7F88H ;18H 0022 0000 X 63 DEFW CH2PROC ; ; ┆
0x3fc00…3fc88 (60, 0, 0) UnusedSector ┆ < WAIT FOR INTERRUPT POP BC DI AND A LD A,1 OUT (C),A ; RESET CHANNEL INTERRUPT LD A,B RET Z ; RETURN IF NO INTERRUPT < = ┆
0x3fc88…3fd10 (60, 0, 1) UnusedSector ┆ <),A ; ENABLE CH ANNEL INTERRUPT LD A,5 OUT (C),A ; LOAD TIME CONSTANT LD A,0 EI PUSH BC LD B,5 C22LOOP DJNZ C22LOOP ; < <R ┆
0x3fd10…3fd98 (60, 0, 2) UnusedSector ┆ <OUT (C),H ; OUTPUT COUNTER IN E,(C) ; IN D,(C) ; INPUT COUNTER LD A,H ; CP D ; LD A,4 ; RET NZ ; RETURN IF < < e┆
0x3fd98…3fe20 (60, 0, 3) UnusedSector ┆ < CREA PAGE 4 LOC OBJ CODE M STMT SOURCE STATEMENT < < ┆
0x3fe20…3fea8 (60, 0, 4) UnusedSector ┆ <D INTERRUPT VECTOR OUT (C),L IM 2 LD B,4 LD DE,TCTCINT C1LOOP LD (HL),E ;INIT INTERRUPT TABLE INC HL LD (HL),D INC HL D < < ┆
0x3fea8…3ff30 (60, 0, 5) UnusedSector ┆ <0064 2B 105 DEC HL 0065 FD5E02 106 LD E,(IY+02) 0068 FD5603 107 LD D,(IY+03) 006B C5 1 ; < (┆
0x3ff30…3ffb8 (60, 0, 6) UnusedSector ┆ <HL,STACEND-1 INC (HL) ;INCREMENT ERROR COUNT RET ;RETURN WITH Z=0 ERRCHK LD HL,STACEND-1 LD A,(HL) ;GET ERROR COUNT AN 4 < ┆
0x3ffb8…40040 (60, 0, 7) UnusedSector ┆ < = @ 791101 791101 C┆
0x40040…400c8 (60, 0, 8) UnusedSector ┆ < ASM 5.9 127 CRE_STOP 0091 C9 128 RET 129 130 < <K ┆
0x400c8…40150 (60, 0, 9) UnusedSector ┆ <*INCLUDE CONST.S GLOBAL TTIM1,TTIM2,TTIM3 EXTERNAL DETECT TTIM1 LD C,ATIM1 CALL T8253 ;DO TIMER TEST AND A RET Z ;RET < < ┆
0x40150…401d8 (60, 0, 10) UnusedSector ┆ <08 PUSH BC 006C FD4E04 109 LD C,(IY+04) 006F FD4605 110 LD B,(IY+05) 0072 C5 111 PUSH BC 0073 < < ┆
0x401d8…40260 (60, 0, 11) UnusedSector ┆ <D A RET ;UPDATE Z-FLAG ;ECHO < (┆
0x40260…402e8 (60, 0, 12) UnusedSector ┆ < < 791101 791101 O ┆
0x402e8…40370 (60, 0, 13) UnusedSector ┆ < END < y ┆
0x40370…403f8 (60, 0, 14) UnusedSector ┆ <URN IF NO ERRORS LD B,10H ADD A,B ;LOAD ERROR CODE CALL DETECT TTIM2 LD C,ATIM2 CALL T8253 ;DO TIMER TEST AND A RET Z < <R ┆
0x403f8…40480 (60, 0, 15) UnusedSector ┆ < DDE1 112 POP IX 0075 0E00 113 LD C,00H 0077 0600 114 LD B,00 0079 3E01 115 LD A,01H 0 < <-4┆
0x40480…40508 (60, 0, 16) UnusedSector ┆ < MSB NOT EQUAL RRC H ; DJNZ T1LOOP ; NEXT BIT INC C ;OD LD A,36H ;SET ALL COUNTERS TO : OUT (C),A ; MODE 3 LD A,76H < < |┆
0x40508…40590 (60, 0, 17) UnusedSector ┆ < ERR4RE EXT4ST REC4RO TRA4RO ERR3RE EXT3ST REC3RO TRA3RO ERR2RE EXT2ST REC2RO < < ┆
0x40590…40618 (60, 0, 18) UnusedSector ┆ <JNZ C1LOOP LD B,4 LD A,C ADD A,B LD C,A DEC C C2LOOP LD E,8 ;FOR CHANNEL = 3 TO 0 LD H,80H C21LOOP LD A,3 ; FOR BIT = 7 < < ┆
0x40618…406a0 (60, 0, 19) UnusedSector ┆ < ;RETURN IF NO ERRORS LD B,30H ADD A,B ;LOAD ERROR CODE CALL DETECT TTIM3 LD HL,RAMSTA LD C,ATIM3 CALL T1CTC ;DO TIMER < < k┆
0x406a0…40728 (60, 0, 20) UnusedSector ┆ <07B FDE5 116 PUSH IY 007D FD210000 X 117 LD IY,SYSRAM 0081 CD0000 X 118 CALL SUBCREATE 0084 E1 < < x┆
0x40728…407b0 (60, 0, 21) UnusedSector ┆ < ; OUT (C),A ; LD A,0B6H OUT (C),A LD B,3 ; T2LOOP DEC C ;FOR COUNTER = 2 TO 0 LD HL,208 ; SET COUNTER TO 9600 HZ OU < < ┆
0x407b0…40838 (60, 0, 22) UnusedSector ┆ <TRA2RO ERR1RE EXT1ST REC1RO TRA1RO < < ┆
0x40838…408c0 (60, 0, 23) UnusedSector ┆ < TO 0 OUT (C),A ; RESET CHANNEL LD A,25H OUT (C),A OUT (C),H ; WRITE TIME CONSTANT IN L,(C) LD A,H CP L LD A,5 < < ┆
0x408c0…40948 (60, 0, 24) UnusedSector ┆ <TEST AND A RET Z ;RETURN IF NO ERRORS LD B,60H ADD A,B CALL DETECT T8253 INC C INC C INC C ;LOAD CONTROL WORD ADDRESS < < y┆
0x40948…409d0 (60, 0, 25) UnusedSector ┆ < 119 POP HL 0085 110600 120 LD DE,06H 0088 19 121 ADD HL,DE 0089 E5 122 PUSH HL 008A FDE < <6 ┆
0x409d0…40a58 (60, 0, 26) UnusedSector ┆ <T (C),L OUT (C),H IN E,(C) IN D,(C) ; READ COUNTER AND A SBC HL,DE LD A,B RET Z ; RETURN IF NO COUNT DJNZ T2LOOP ; < < ┆
0x40a58…40ae0 (60, 0, 27) UnusedSector ┆ < M x M x M x M x M M MY < ┆
0x40ae0…40b68 (60, 0, 28) UnusedSector ┆ <RET NZ ; RETURN IF I/O ERROR RRC H DEC E JR NZ,C21LOOP ; NEXT BIT LD A,3 OUT (C),A ; RESET CHANNEL LD A,85H OUT (C < <; ┆
0x40b68…40bf0 (60, 0, 29) UnusedSector ┆ < LD A,10110000B ;DO I/O TEST OUT (C),A ; SET COUNTER 2 DEC C LD B,8 LD HL,80FFH ; FOR BIT = 7 TO 0 T1LOOP OUT (C),L ; < <9 ┆
0x40bf0…40c78 (60, 0, 30) UnusedSector ┆ <1 123 POP IY 008C C1 124 POP BC 008D 0B 125 DEC BC 008E C35800 R 126 JP CRE_LOOP < < I┆
0x40c78…40d00 (60, 0, 31) UnusedSector ┆ < NEXT COUNTER LD A,0 RET ;------------------------------------------------------------------------- T1CTC LD A,H LD I,A ;LOA < < c┆
0x40d00…40d88 (61, 0, 0) UnusedSector ┆ = IN E,(C) ; 0040 ED50 112 IN D,(C) ; INPUT COUNTER 0042 7C 113 LD A,H ; 0043 BA 114 = =) ┆
0x40d88…40e10 (61, 0, 1) UnusedSector ┆ = RRC H ; 0049 10EF 118 DJNZ T1LOOP ; NEXT BIT 004B 0C 119 INC C ;OD 004C 3E36 120 LD A,3 = ><p┆
0x40e10…40e98 (61, 0, 2) UnusedSector ┆ = X 79 CALL DETECT 000D C9 80 RET 81 000E 0E30 82 TTIM2 LD C,ATIM2 0010 CD2 = = ┆
0x40e98…40f20 (61, 0, 3) DataSector
0x40f20…40fa8 (61, 0, 4) UnusedSector ┆ = 99 RET 100 002D 0C 101 T8253 INC C 002E 0C 102 INC C 002F 0C 103 = = ┆
0x40fa8…41030 (61, 0, 5) DataSector
0x41030…410b8 (61, 0, 6) Descriptor {
0x41030…410b8 am = CHS(61, 0, 6, #4) // 0x41030 @0x0
0x41030…410b8 rsv0 = 00000000 // 0x41032 @0x2
0x41030…410b8 file_id = 0000 // 0x41036 @0x6
0x41030…410b8 dirsect = (22, 0, 6) // 0x41038 @0x8
0x41030…410b8 firstsect = (61, 0, 5) // 0x4103a @0xa
0x41030…410b8 lastsect = (61, 0, 8) // 0x4103c @0xc
0x41030…410b8 type = 0x10 // 0x4103e @0xe
0x41030…410b8 reccnt = 0x0008 // 0x4103f @0xf
0x41030…410b8 reclen = 0x0080 // 0x41041 @0x11
0x41030…410b8 blklen = 0x0080 // 0x41043 @0x13
0x41030…410b8 prop = 0x00 // 0x41045 @0x15
0x41030…410b8 adr = 0x0000 // 0x41046 @0x16
0x41030…410b8 lastbytes = 0x0080 // 0x41048 @0x18
0x41030…410b8 created = »791101 « // 0x4104a @0x1a
0x41030…410b8 modified = »791101 « // 0x41052 @0x22
0x41030…410b8 avail = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // 0x4105a @0x2a
0x41030…410b8 prev = (22, 0, 6) // 0x410b2 @0x82
0x41030…410b8 next = (61, 0, 5) // 0x410b4 @0x84
0x41030…410b8 crc = 8715 // 0x410b6 @0x86
0x41030…410b8 }
0x410b8…41140 (61, 0, 7) UnusedSector ┆ = DEC C DJNZ C2LOOP ;NEXT CHANNEL XOR A RET ;RETURN IF TEST COMPLETED ;------------------------------------------------- < =% ┆
0x41140…411c8 (61, 0, 8) DataSector
0x411c8…41250 (61, 0, 9) UnusedSector ┆ = TTIM PAGE 1 LOC OBJ CODE M STMT SOURCE STATEMENT = ┆
0x41250…412d8 (61, 0, 10) DataSector
0x412d8…41360 (61, 0, 11) UnusedSector ┆ =D00 R 83 CALL T8253 ;DO TIMER TEST 0013 A7 84 AND A 0014 C8 85 RET Z ;RETURN IF NO ERRORS 00 = = K┆
0x41360…413e8 (61, 0, 12) UnusedSector ┆ =----------------------------- TCTCINT INC A EI RETI ;ECHO = ┆
0x413e8…41470 (61, 0, 13) DataSector
0x41470…414f8 (61, 0, 14) UnusedSector ┆ = ASM 5.9 1 *INCLUDE CONST.S 68 *L ON 69 = = ┆
0x414f8…41580 (61, 0, 15) DataSector
0x41580…41608 (61, 0, 16) UnusedSector ┆ =15 0630 86 LD B,30H 0017 80 87 ADD A,B ;LOAD ERROR CODE 0018 CD0000 X 88 CALL DETECT 001B C = = ┆
0x41608…41690 (61, 0, 17) UnusedSector ┆ = INC C ;LOAD CONTROL WORD ADDRESS 0030 3EB0 104 LD A,10110000B ;DO I/O TEST 0032 ED79 105 OUT (C),A ; S = = ┆
0x41690…41718 (61, 0, 18) DataSector
0x41718…417a0 (61, 0, 19) UnusedSector ┆ = 70 GLOBAL TTIM1,TTIM2,TTIM3 71 EXTERNAL DETECT 72 0000 0E10 7 = = ┆
0x417a0…41828 (61, 0, 20) DataSector
0x41828…418b0 (61, 0, 21) UnusedSector ┆ =9 89 RET 90 001C 210010 91 TTIM3 LD HL,RAMSTA 001F 0E60 92 LD C,ATIM3 00 = = ┆
0x418b0…41938 (61, 0, 22) UnusedSector ┆ =ET COUNTER 2 0034 0D 106 DEC C 0035 0608 107 LD B,8 0037 21FF80 108 LD HL,80FFH ; FOR BIT = 7 = = ┆
0x41938…419c0 (61, 0, 23) DataSector
0x419c0…41a48 (61, 0, 24) UnusedSector ┆ =3 TTIM1 LD C,ATIM1 0002 CD2D00 R 74 CALL T8253 ;DO TIMER TEST 0005 A7 75 AND A 0006 C8 76 = =~ ┆
0x41a48…41ad0 (61, 0, 25) DataSector
0x41ad0…41b58 (61, 0, 26) UnusedSector ┆ =21 CD7000 R 93 CALL T1CTC ;DO TIMER TEST 0024 A7 94 AND A 0025 C8 95 RET Z ;RETURN IF NO E = = +┆
0x41b58…41be0 (61, 0, 27) UnusedSector ┆ =TO 0 003A ED69 109 T1LOOP OUT (C),L ; 003C ED61 110 OUT (C),H ; OUTPUT COUNTER 003E ED58 111 = = {┆
0x41be0…41c68 (61, 0, 28) UnusedSector ┆ =CP D ; 0044 3E04 115 LD A,4 ; 0046 C0 116 RET NZ ; RETURN IF MSB NOT EQUAL 0047 CB0C 117 = =Yg┆
0x41c68…41cf0 (61, 0, 29) UnusedSector ┆ =RET Z ;RETURN IF NO ERRORS 0007 0610 77 LD B,10H 0009 80 78 ADD A,B ;LOAD ERROR CODE 000A CD0000 = = ┆
0x41cf0…41d78 (61, 0, 30) DataSector
0x41d78…41e00 (61, 0, 31) UnusedSector ┆ =RRORS 0026 0660 96 LD B,60H 0028 80 97 ADD A,B 0029 CD0000 X 98 CALL DETECT 002C C9 = =,w┆
0x41e00…41e88 (62, 0, 0) UnusedSector ┆ > ? 791101 791101 *┆
0x41e88…41f10 (62, 0, 1) UnusedSector ┆ >C 0085 80 154 ADD A,B 0086 4F 155 LD C,A 0087 0D 156 DEC C 0088 1E08 157 C2LOOP > > ┆
0x41f10…41f98 (62, 0, 2) UnusedSector ┆ > 00A4 ED79 173 OUT (C),A ; RESET CHANNEL 00A6 3E85 174 LD A,85H 00A8 ED79 175 OUT (C),A ; E > > ┆
0x41f98…42020 (62, 0, 3) UnusedSector ┆ > LD A,B 006A C8 136 RET Z ; RETURN IF NO COUNT 006B 10ED 137 DJNZ T2LOOP ; NEXT COUNTER 006D 3E00 > >`]┆
0x42020…420a8 (62, 0, 4) UnusedSector ┆ >PT 00BD 78 188 LD A,B 00BE C8 189 RET Z ; RETURN IF NO INTERRUPT 00BF 0D 190 DEC C 00C0 > >M_┆
0x420a8…42130 (62, 0, 5) UnusedSector ┆ >6H ;SET ALL COUNTERS TO : 004E ED79 121 OUT (C),A ; MODE 3 0050 3E76 122 LD A,76H ; 0052 ED79 = > /┆
0x42130…421b8 (62, 0, 6) Descriptor {
0x42130…421b8 am = CHS(62, 0, 6, #4) // 0x42130 @0x0
0x42130…421b8 rsv0 = 00000000 // 0x42132 @0x2
0x42130…421b8 file_id = 0000 // 0x42136 @0x6
0x42130…421b8 dirsect = (22, 0, 6) // 0x42138 @0x8
0x42130…421b8 firstsect = (62, 0, 7) // 0x4213a @0xa
0x42130…421b8 lastsect = (68, 0, 6) // 0x4213c @0xc
0x42130…421b8 type = 0x10 // 0x4213e @0xe
0x42130…421b8 reccnt = 0x0007 // 0x4213f @0xf
0x42130…421b8 reclen = 0x0080 // 0x42141 @0x11
0x42130…421b8 blklen = 0x0080 // 0x42143 @0x13
0x42130…421b8 prop = 0x00 // 0x42145 @0x15
0x42130…421b8 adr = 0x0000 // 0x42146 @0x16
0x42130…421b8 lastbytes = 0x0080 // 0x42148 @0x18
0x42130…421b8 created = »791101 « // 0x4214a @0x1a
0x42130…421b8 modified = »791101 « // 0x42152 @0x22
0x42130…421b8 avail = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // 0x4215a @0x2a
0x42130…421b8 prev = (22, 0, 6) // 0x421b2 @0x82
0x42130…421b8 next = (62, 0, 7) // 0x421b4 @0x84
0x42130…421b8 crc = faf7 // 0x421b6 @0x86
0x42130…421b8 }
0x421b8…42240 (62, 0, 7) DataSector
0x42240…422c8 (62, 0, 8) UnusedSector ┆ > 138 LD A,0 006F C9 139 RET 140 ;----------------------------------------------------- > > ┆
0x422c8…42350 (62, 0, 9) UnusedSector ┆ > LD E,8 ;FOR CHANNEL = 3 TO 0 008A 2680 158 LD H,80H 008C 3E03 159 C21LOOP LD A,3 ; FOR BIT = 7 TO 0 008 > > ┆
0x42350…423d8 (62, 0, 10) UnusedSector ┆ > 123 OUT (C),A ; 0054 3EB6 124 LD A,0B6H TTIM PAGE > > z┆
0x423d8…42460 (62, 0, 11) UnusedSector ┆ >NABLE CH ANNEL INTERRUPT 00AA 3E05 176 LD A,5 00AC ED79 177 OUT (C),A ; LOAD TIME CONSTANT 00AE 3E00 > >1 ┆
0x42460…424e8 (62, 0, 12) UnusedSector ┆ > 10C6 191 DJNZ C2LOOP ;NEXT CHANNEL 00C2 AF 192 XOR A 00C3 C9 193 RET ;RETURN IF TEST CO > >G,┆
0x424e8…42570 (62, 0, 13) UnusedSector ┆ >-------------------- 0070 7C 141 T1CTC LD A,H 0071 ED47 142 LD I,A ;LOAD INTERRUPT VECTOR 0073 ED69 > > U┆
0x42570…425f8 (62, 0, 14) UnusedSector ┆ >E ED79 160 OUT (C),A ; RESET CHANNEL 0090 3E25 161 LD A,25H 0092 ED79 162 OUT (C),A 0094 > >e ┆
0x425f8…42680 (62, 0, 15) UnusedSector ┆ >2 LOC OBJ CODE M STMT SOURCE STATEMENT ASM 5.9 0056 ED79 125 OUT (C),A 0058 0603 > > }┆
0x42680…42708 (62, 0, 16) UnusedSector ┆ > 178 LD A,0 00B0 FB 179 EI 00B1 C5 180 PUSH BC 00B2 0605 181 LD B,5 00B4 10FE > > ┆
0x42708…42790 (62, 0, 17) UnusedSector ┆ >MPLETED 194 195 ;--------------------------------------------------------------------- > > _┆
0x42790…42818 (62, 0, 18) UnusedSector ┆ > 143 OUT (C),L 0075 ED5E 144 IM 2 0077 0604 145 LD B,4 0079 11C400 R 146 LD DE,TCTCINT 007C > > h┆
0x42818…428a0 (62, 0, 19) UnusedSector ┆ >ED61 163 OUT (C),H ; WRITE TIME CONSTANT 0096 ED68 164 IN L,(C) 0098 7C 165 LD A,H 0099 B > > 2┆
0x428a0…42928 (62, 0, 20) UnusedSector ┆ > 126 LD B,3 ; 005A 0D 127 T2LOOP DEC C ;FOR COUNTER = 2 TO 0 005B 21D000 128 LD HL,208 ; SET COUNTER > >9 ┆
0x42928…429b0 (62, 0, 21) UnusedSector ┆ > 182 C22LOOP DJNZ C22LOOP ; WAIT FOR INTERRUPT TTIM PAGE 3 > > ┆
0x429b0…42a38 (62, 0, 22) UnusedSector ┆ >--------- 00C4 3C 196 TCTCINT INC A 00C5 FB 197 EI 00C6 ED4D 198 RETI 199 > > D┆
0x42a38…42ac0 (62, 0, 23) UnusedSector ┆ > 73 147 C1LOOP LD (HL),E ;INIT INTERRUPT TABLE 007D 23 148 INC HL 007E 72 149 LD (HL),D 007 > > ┆
0x42ac0…42b48 (62, 0, 24) UnusedSector ┆ >D 166 CP L 009A 3E05 167 LD A,5 009C C0 168 RET NZ ; RETURN IF I/O ERROR 009D CB0C > > ┆
0x42b48…42bd0 (62, 0, 25) UnusedSector ┆ > TO 9600 HZ 005E ED69 129 OUT (C),L 0060 ED61 130 OUT (C),H 0062 ED58 131 IN E,(C) 0064 ED50 > > ┆
0x42bd0…42c58 (62, 0, 26) UnusedSector ┆ >LOC OBJ CODE M STMT SOURCE STATEMENT ASM 5.9 00B6 C1 183 POP BC 00B7 F3 184 > > ┆
0x42c58…42ce0 (62, 0, 27) UnusedSector ┆ > 200 ;ECHO > ┆
0x42ce0…42d68 (62, 0, 28) UnusedSector ┆ >F 23 150 INC HL 0080 10FA 151 DJNZ C1LOOP 0082 0604 152 LD B,4 0084 79 153 LD A, > >!A┆
0x42d68…42df0 (62, 0, 29) UnusedSector ┆ > 169 RRC H 009F 1D 170 DEC E 00A0 20EA 171 JR NZ,C21LOOP ; NEXT BIT 00A2 3E03 172 LD A,3 > > ┆
0x42df0…42e78 (62, 0, 30) UnusedSector ┆ > 132 IN D,(C) ; READ COUNTER 0066 A7 133 AND A 0067 ED52 134 SBC HL,DE 0069 78 135 > > ┆
0x42e78…42f00 (62, 0, 31) UnusedSector ┆ > DI 00B8 A7 185 AND A 00B9 3E01 186 LD A,1 00BB ED79 187 OUT (C),A ; RESET CHANNEL INTERRU > > ┆
0x42f00…42f88 (63, 0, 0) UnusedSector ┆ ?01000111B ; *16 CLOCK ; 1 STOP BIT OUT (C),A ; EVEN PARITY LD L,3 OUT (C),L LD A,11000001B ; 8 RX BIT/CHAR OUT (C) ? ? ┆
0x42f88…43010 (63, 0, 1) UnusedSector ┆ ?DRESS INC HL LD (HL),D LD A,1 OUT (C),A LD A,00011100B ;ENABLE RX INTERRUPT OUT (C),A DEC C DEC C LD A,55H OUT (C),A ? ?k ┆
0x43010…43098 (63, 0, 2) UnusedSector ┆ ? ;JUMP IF CHARACTER NOT RECEIVED DEC C DEC C IN A,(C) CP H JR NZ,TR17ERR ;JUMP IF RX CHAR. NOT EQUAL TX CHAR. SLA H ;NEXT ? ?Hm┆
0x43098…43120 (63, 0, 3) UnusedSector ┆ ?SIO BASE ADDRESS INC C INC C LD A,18H OUT (C),A ;RESET CHANNEL A INC C OUT (C),A ;RESET CHANNEL B LD B,4 LD H,80H ;FO ? ? ┆
0x43120…431a8 (63, 0, 4) DataSector
0x431a8…43230 (63, 0, 5) UnusedSector ┆ ?*INCLUDE CONST.S GLOBAL T1SIO,T1TXRX,TSIO1,TSIO2 EXTERNAL DETECT TSIO1 IN A,(APIO1+1) AND 11111110B ;SET LOOP1 OUT (APIO1+ > ?WZ┆
0x43230…432b8 (63, 0, 6) DataSector
0x432b8…43340 (63, 0, 7) UnusedSector ┆ ?;TRANSMIT CHARACTER XOR A EI LD B,0 TWAIT1 DJNZ TWAIT1 LD B,50 ;WAIT 1 MILLI SEC. TWAIT2 DJNZ TWAIT2 DI INC C LD L,18H ? ?r ┆
0x43340…433c8 (63, 0, 8) UnusedSector ┆ ?R BIT 7 TO 4 S1LOOP LD A,2 OUT (C),A ; LOAD INTERRUPT VECTOR OUT (C),H OUT (C),A IN A,(C) ; READ INTERRUPT VECTOR XOR H ? ? ┆
0x433c8…43450 (63, 0, 9) UnusedSector ┆ ?,A ; RX ENABLED LD L,5 OUT (C),L LD A,01100000B ; 8 TX BIT/CHAR OUT (C),A ; TX DISABLED IN L,(C) BIT 2,L JR Z,TR14 ? ?Q ┆
0x43450…434d8 (63, 0, 10) UnusedSector ┆ ?1),A LD HL,6 LD C,ATIM1 ;SET CLOCK 1,2 = 333 KHZ OUT (C),L OUT (C),H LD C,ATIM1+1 OUT (C),L OUT (C),H LD C,ASIO1 LD HL ? ? ┆
0x434d8…43560 (63, 0, 11) DataSector
0x43560…435e8 (63, 0, 12) UnusedSector ┆ ?OUT (C),L ;RESET CHANNEL A INC C OUT (C),L ;RESET CHANNEL B CP 55H JR NZ,S3ERROR XOR A RET ;RETURN ON TEST COMPLETED S ? ?sM┆
0x435e8…43670 (63, 0, 13) UnusedSector ┆ ? AND 0F0H JR NZ,S1ERROR ; JUMP IF I/O ERROR RRC H DJNZ S1LOOP ;NEXT BIT LD C,E ;RESTORE SIO BASE ADDRESS INC C INC C ? ?o ┆
0x43670…436f8 (63, 0, 14) UnusedSector ┆ ?ERR ;JUMP IF TRANSMIT BUFFER NOT EMPTY DEC C DEC C LD H,01H ;LOAD FIRST CHARACTER OUT (C),H INC C INC C IN L,(C) BIT 2, ? ? +┆
0x436f8…43780 (63, 0, 15) UnusedSector ┆ ?,RAMSTA CALL T1SIO ;DO SIO1 TEST AND A ;RETURN IF NO ERROR RET Z LD C,ASIO1 ADD A,C ;LOAD ERROR CODE CALL DETECT ;JUMP ? ? ┆
0x43780…43808 (63, 0, 16) UnusedSector ┆ ? BIT JR Z,TR1END OUT (C),H JR TR1LOOP TR1END INC C INC C LD L,1 OUT (C),L IN A,(C) AND 70H JR NZ,TR17ERR ;JUMP IF TRANS ? ?3 ┆
0x43808…43890 (63, 0, 17) UnusedSector ┆ ?1ERROR LD A,1 ;RETURN ON I/O ERROR S2ERROR POP HL RET S3ERROR LD A,2 ;RETURN ON INTERRUPT ERROR RET ;--------------------- ? ? ┆
0x43890…43918 (63, 0, 18) UnusedSector ┆ ?;DO CHANNEL A TRANSMISSIONS TEST CALL T1TXRX AND A JR NZ,S2ERROR ;RETURN ON CHANNEL A ERROR INC C CALL T1TXRX ;DO CHANNEL ? ?|t┆
0x43918…439a0 (63, 0, 19) UnusedSector ┆ ?L JR NZ,TR14ERR ;JUMP IF TRANSMIT BUFFER EMPTY LD L,5 OUT (C),L SET 3,A ;ENABLE TX OUT (C),A DEC C DEC C TR1LOOP INC C ? ? ┆
0x439a0…43a28 (63, 0, 20) UnusedSector ┆ ? TO ERROR ROUTINE TSIO2 IN A,(APIO1+1) AND 11111101B ;SET LOOP2 OUT (APIO1+1),A LD HL,6 LD C,ATIM2 ;SET CLOCK 1,2 = 333 K ? ? ┆
0x43a28…43ab0 (63, 0, 21) UnusedSector ┆ ?MISSIONS ERROR RET ;RETURN ON TEST COMPLETED TR14ERR LD A,4 ;RETURN ON TRANSMIT ERROR RET TR15ERR LD A,5 ;RETURN ON TRANSM ? ? _┆
0x43ab0…43b38 (63, 0, 22) UnusedSector ┆ ?-------------------------------------------------------- RXINT IN A,(C) ;GET RECEIVED CHARACTER EI RETI ;------------------ ? ? ┆
0x43b38…43bc0 (63, 0, 23) UnusedSector ┆ ?B TRANSMISSIONS TEST AND A JR Z,T1NEXT LD B,4 ADD A,B ;RETURN ON CHANNEL B ERROR JR S2ERROR T1NEXT POP HL LD A,H LD I,A ? ?9 ┆
0x43bc0…43c48 (63, 0, 24) UnusedSector ┆ ?;FOR BIT = 7 TO 0 INC C LD B,0 TWAIT3 DJNZ TWAIT3 LD B,50 ;WAIT 1 MILLI SEC. TWAIT4 DJNZ TWAIT4 LD L,1 OUT (C),L IN L,(C) ? ?m ┆
0x43c48…43cd0 (63, 0, 25) UnusedSector ┆ ?HZ OUT (C),L OUT (C),H LD C,ATIM2+1 OUT (C),L OUT (C),H LD C,ASIO2 LD HL,RAMSTA CALL T1SIO ;DO SIO2 TEST AND A ;RETUR ? ? 2┆
0x43cd0…43d58 (63, 0, 26) UnusedSector ┆ ?IT CLOCK ERROR RET TR16ERR LD A,6 ;RETURN ON RECEIVE ERROR RET TR17ERR LD A,7 ;RETURN ON TRANSMISSIONS ERROR RET ;ECHO ? ? ┆
0x43d58…43de0 (63, 0, 27) UnusedSector ┆ ?----------------------------------------------------------- T1TXRX LD A,18H OUT (C),A ;RESET CHANNEL LD L,4 OUT (C),L LD A, ? ?o ┆
0x43de0…43e68 (63, 0, 28) UnusedSector ┆ ? LD A,2 OUT (C),A OUT (C),L ;LOAD INTERRUPT VECTOR LD DE,4 ADD HL,DE LD DE,RXINT LD (HL),E ;LOAD RX INTERRUPT ROUTINE AD ? ? ┆
0x43e68…43ef0 (63, 0, 29) UnusedSector ┆ ? BIT 0,L JR Z,TR15ERR ;JUMP IF CHARACTER NOT SENT IN L,(C) BIT 2,L JR Z,TR15ERR ;JUMP IF NO TX-CLOCK BIT 0,L JR Z,TR16ERR ? ? ┆
0x43ef0…43f78 (63, 0, 30) UnusedSector ┆ ?N IF NO ERROR RET Z LD C,ASIO2 ADD A,C ;LOAD ERROR CODE CALL DETECT ;JUMP TO ERROR ROUTINE T1SIO PUSH HL LD E,C ;SAVE ? ?B ┆
0x43f78…44000 (63, 0, 31) UnusedSector ┆ ? ? /┆
0x44000…44088 (64, 0, 0) UnusedSector ┆ @ 0009 0E10 76 LD C,ATIM1 ;SET CLOCK 1,2 = 333 KHZ 000B ED69 77 OUT (C),L 000D ED61 78 OUT ( @ @ ┆
0x44088…44110 (64, 0, 1) UnusedSector ┆ @ e / / L e ) ) e L e e @ @{ ┆
0x44110…44198 (64, 0, 2) UnusedSector ┆ @ 91 0026 DB71 92 TSIO2 IN A,(APIO1+1) 0028 E6FD 93 AND 11111101B ;SET LOOP2 002A D371 9 @ @ 6┆
0x44198…44220 (64, 0, 3) UnusedSector ┆ @8 : < > @ A B B B B D F H J L N @ @[ ┆
0x44220…442a8 (64, 0, 4) UnusedSector ┆ @ 104 CALL T1SIO ;DO SIO2 TEST 0043 A7 105 AND A ;RETURN IF NO ERROR 0044 C8 106 RET Z 0045 0E50 @ A ┆
0x442a8…44330 (64, 0, 5) UnusedSector ┆ @ @ N 791101 791101 [ ┆
0x44330…443b8 (64, 0, 6) DataSector
[…0x1…]
0x44440…444c8 (64, 0, 8) UnusedSector ┆ @ SYSRAM PAGE 1 LOC OBJ CODE M STMT SOURCE STATEMENT @ @ ┆
0x444c8…44550 (64, 0, 9) DataSector
0x44550…445d8 (64, 0, 10) UnusedSector ┆ @ @ @ >┆
0x445d8…44660 (64, 0, 11) UnusedSector ┆ @ " / # / $ e & ' ' ) w + - e / 1 ) 2 ) 3 L 5 e 7 e @ @Z ┆
0x44660…446e8 (64, 0, 12) UnusedSector ┆ @ TSIO PAGE 1 LOC OBJ CODE M STMT SOURCE STATEMENT @ ┆
0x446e8…44770 (64, 0, 13) UnusedSector ┆ @ ASM 5.9 1 GLOBAL INTCTC,SYSRAM 2 GLOBAL EMP1QUE,EMP2QUE,EMP3QUE,EMP4Q @ @ ┆
0x44770…447f8 (64, 0, 14) UnusedSector ┆ @C),H 000F 0E11 79 LD C,ATIM1+1 0011 ED69 80 OUT (C),L 0013 ED61 81 OUT (C),H 0015 0E40 @ @ C┆
0x447f8…44880 (64, 0, 15) UnusedSector ┆ @ @ @ ┆
0x44880…44908 (64, 0, 16) UnusedSector ┆ @9 l ; = ? > L @ ? A L C ? D L F ? G L I ? J J J @ ┆
0x44908…44990 (64, 0, 17) UnusedSector ┆ @ ASM 5.9 1 *INCLUDE CONST.S 68 *L ON 69 GLOBAL T1SI @ @ ┆
0x44990…44a18 (64, 0, 18) UnusedSector ┆ @UE 3 0000 4 INTCTC DEFS 0002H 0002 5 SYSRAM DEFS 1C0H 01C2 @ @ 3┆
0x44a18…44aa0 (64, 0, 19) UnusedSector ┆ @ 82 LD C,ASIO1 0017 210010 83 LD HL,RAMSTA 001A CD4C00 R 84 CALL T1SIO ;DO SIO1 TEST 001D A7 @ @ ┆
0x44aa0…44b28 (64, 0, 20) UnusedSector ┆ @ @ @ ┆
0x44b28…44bb0 (64, 0, 21) UnusedSector ┆ @4 OUT (APIO1+1),A 002C 210600 95 LD HL,6 002F 0E30 96 LD C,ATIM2 ;SET CLOCK 1,2 = 333 KHZ 0031 ED69 @ @ N┆
0x44bb0…44c38 (64, 0, 22) UnusedSector ┆ @O,T1TXRX,TSIO1,TSIO2 70 EXTERNAL DETECT 71 0000 DB71 72 TSIO1 IN A,(APIO @ @ Z┆
0x44c38…44cc0 (64, 0, 23) UnusedSector ┆ @ 6 EMP1QUE DEFS 08H 01CA 7 EMP2QUE DEFS 08H 01D2 8 EMP3QUE DEFS 08H 01DA @ @\p┆
0x44cc0…44d48 (64, 0, 24) UnusedSector ┆ @ 85 AND A ;RETURN IF NO ERROR 001E C8 86 RET Z 001F 0E40 87 LD C,ASIO1 0021 81 88 AD @ @ ┆
0x44d48…44dd0 (64, 0, 25) UnusedSector ┆ @ @ @ ┆
0x44dd0…44e58 (64, 0, 26) UnusedSector ┆ @ 97 OUT (C),L 0033 ED61 98 OUT (C),H 0035 0E31 99 LD C,ATIM2+1 0037 ED69 100 OUT (C), @ @ ┆
0x44e58…44ee0 (64, 0, 27) UnusedSector ┆ @1+1) 0002 E6FE 73 AND 11111110B ;SET LOOP1 0004 D371 74 OUT (APIO1+1),A 0006 210600 75 LD HL,6 @ @ g┆
0x44ee0…44f68 (64, 0, 28) UnusedSector ┆ @9 EMP4QUE DEFS 08H 10 11 ;ECHO @ ┆
0x44f68…44ff0 (64, 0, 29) UnusedSector ┆ @D A,C ;LOAD ERROR CODE 0022 CD0000 X 89 CALL DETECT ;JUMP TO ERROR ROUTINE 0025 C9 90 RET @ @ ┆
0x44ff0…45078 (64, 0, 30) UnusedSector ┆ @ " $ & ( * + , , , . 0 2 4 6 @ @- ┆
0x45078…45100 (64, 0, 31) UnusedSector ┆ @L 0039 ED61 101 OUT (C),H 003B 0E50 102 LD C,ASIO2 003D 210010 103 LD HL,RAMSTA 0040 CD4C00 R @ @ ┆
0x45100…45188 (65, 0, 0) UnusedSector ┆ A(C),A 009B 3E1C 159 LD A,00011100B ;ENABLE RX INTERRUPT 009D ED79 160 OUT (C),A 009F 0D 161 D A ABS┆
0x45188…45210 (65, 0, 1) UnusedSector ┆ ATXRX ;DO CHANNEL B TRANSMISSIONS TEST 007B A7 140 AND A 007C 2805 141 JR Z,T1NEXT 007E 0604 14 A A V┆
0x45210…45298 (65, 0, 2) UnusedSector ┆ A JR NZ,S3ERROR 00BC AF 179 XOR A 00BD C9 180 RET ;RETURN ON TEST COMPLETED 00BE 3E01 181 A A k┆
0x45298…45320 (65, 0, 3) UnusedSector ┆ ATSIO PAGE 2 LOC OBJ CODE M STMT SOURCE STATEMENT ASM 5.9 0061 ED79 A A ┆
0x45320…453a8 (65, 0, 4) UnusedSector ┆ A A,(C) ;GET RECEIVED CHARACTER 00C7 FB 189 EI 00C8 ED4D 190 RETI 191 A B ┆
0x453a8…45430 (65, 0, 5) UnusedSector ┆ A 107 LD C,ASIO2 0047 81 108 ADD A,C ;LOAD ERROR CODE 0048 CD0000 X 109 CALL DETECT ;JUMP TO ERROR @ AZ2┆
0x45430…454b8 (65, 0, 6) UnusedSector ┆ A2 LD B,4 0080 80 143 ADD A,B ;RETURN ON CHANNEL B ERROR 0081 183D 144 JR S2ERROR 0083 E1 1 A ACo┆
0x454b8…45540 (65, 0, 7) UnusedSector ┆ AEC C 00A0 0D 162 DEC C 00A1 3E55 163 LD A,55H 00A3 ED79 164 OUT (C),A ;TRANSMIT CHARACTER 00 A A ┆
0x45540…455c8 (65, 0, 8) UnusedSector ┆ A 125 OUT (C),A 0063 ED78 126 IN A,(C) ; READ INTERRUPT VECTOR 0065 AC 127 XOR H 0066 E6F0 A A ┆
0x455c8…45650 (65, 0, 9) UnusedSector ┆ A S1ERROR LD A,1 ;RETURN ON I/O ERROR 00C0 E1 182 S2ERROR POP HL TSIO A A o┆
0x45650…456d8 (65, 0, 10) UnusedSector ┆ A ROUTINE 004B C9 110 RET 111 004C E5 112 T1SIO PUSH HL 004D 59 113 L A A a┆
0x456d8…45760 (65, 0, 11) UnusedSector ┆ A45 T1NEXT POP HL 0084 7C 146 LD A,H 0085 ED47 147 LD I,A 0087 3E02 148 LD A,2 0089 ED79 A A ┆
0x45760…457e8 (65, 0, 12) DataSector
0x457e8…45870 (65, 0, 13) UnusedSector ┆ A 128 AND 0F0H 0068 2054 129 JR NZ,S1ERROR ; JUMP IF I/O ERROR 006A CB0C 130 RRC H 006C 10ED A AF ┆
0x45870…458f8 (65, 0, 14) UnusedSector ┆ AA5 AF 165 XOR A 00A6 FB 166 EI 00A7 0600 167 LD B,0 00A9 10FE 168 TWAIT1 DJNZ TWA A A ┆
0x458f8…45980 (65, 0, 15) UnusedSector ┆ AD E,C ;SAVE SIO BASE ADDRESS 004E 0C 114 INC C 004F 0C 115 INC C 0050 3E18 116 LD A,18H 00 A A ┆
0x45980…45a08 (65, 0, 16) UnusedSector ┆ A 149 OUT (C),A 008B ED69 150 OUT (C),L ;LOAD INTERRUPT VECTOR 008D 110400 151 LD DE,4 0090 19 A AqZ┆
0x45a08…45a90 (65, 0, 17) UnusedSector ┆ A PAGE 3 LOC OBJ CODE M STMT SOURCE STATEMENT ASM 5.9 00C1 C9 183 RET 0 A Ag ┆
0x45a90…45b18 (65, 0, 18) UnusedSector ┆ A 131 DJNZ S1LOOP ;NEXT BIT 006E 4B 132 LD C,E ;RESTORE SIO BASE ADDRESS 006F 0C 133 INC C 0070 A A -┆
0x45b18…45ba0 (65, 0, 19) UnusedSector ┆ AIT1 00AB 0632 169 LD B,50 ;WAIT 1 MILLI SEC. 00AD 10FE 170 TWAIT2 DJNZ TWAIT2 00AF F3 171 DI A A ┆
0x45ba0…45c28 (65, 0, 20) UnusedSector ┆ A52 ED79 117 OUT (C),A ;RESET CHANNEL A 0054 0C 118 INC C 0055 ED79 119 OUT (C),A ;RESET CHA A A o┆
0x45c28…45cb0 (65, 0, 21) UnusedSector ┆ A 152 ADD HL,DE 0091 11C500 R 153 LD DE,RXINT 0094 73 154 LD (HL),E ;LOAD RX INTERRUPT ROUTINE ADDRESS A A O┆
0x45cb0…45d38 (65, 0, 22) UnusedSector ┆ A0C2 3E02 184 S3ERROR LD A,2 ;RETURN ON INTERRUPT ERROR 00C4 C9 185 RET 186 A A +┆
0x45d38…45dc0 (65, 0, 23) UnusedSector ┆ A 0C 134 INC C ;DO CHANNEL A TRANSMISSIONS TEST 0071 CDCA00 R 135 CALL T1TXRX 0074 A7 136 AND A 0 A A ┆
0x45dc0…45e48 (65, 0, 24) UnusedSector ┆ A00B0 0C 172 INC C 00B1 2E18 173 LD L,18H 00B3 ED69 174 OUT (C),L ;RESET CHANNEL A 00B5 0C A A B┆
0x45e48…45ed0 (65, 0, 25) UnusedSector ┆ ANNEL B 0057 0604 120 LD B,4 0059 2680 121 LD H,80H ;FOR BIT 7 TO 4 005B 3E02 122 S1LOOP LD A,2 A A ┆
0x45ed0…45f58 (65, 0, 26) UnusedSector ┆ A0095 23 155 INC HL 0096 72 156 LD (HL),D 0097 3E01 157 LD A,1 0099 ED79 158 OUT A Ag2┆
0x45f58…45fe0 (65, 0, 27) UnusedSector ┆ A 187 ;----------------------------------------------------------------------------- 00C5 ED78 188 RXINT IN A A ┆
0x45fe0…46068 (65, 0, 28) UnusedSector ┆ A075 2049 137 JR NZ,S2ERROR ;RETURN ON CHANNEL A ERROR 0077 0C 138 INC C 0078 CDCA00 R 139 CALL T1 A A ┆
0x46068…460f0 (65, 0, 29) UnusedSector ┆ A 175 INC C 00B6 ED69 176 OUT (C),L ;RESET CHANNEL B 00B8 FE55 177 CP 55H 00BA 2006 178 A A ┆
0x460f0…46178 (65, 0, 30) UnusedSector ┆ A005D ED79 123 OUT (C),A ; LOAD INTERRUPT VECTOR 005F ED61 124 OUT (C),H A A@ ┆
0x46178…46200 (65, 0, 31) DataSector
0x46200…46288 (66, 0, 0) UnusedSector ┆ BIVED 0122 0D 243 DEC C 0123 0D 244 DEC C 0124 ED78 245 IN A,(C) 0126 BC 246 CP B B ┆
0x46288…46310 (66, 0, 1) UnusedSector ┆ B0C 228 INC C 0106 0600 229 LD B,0 0108 10FE 230 TWAIT3 DJNZ TWAIT3 010A 0632 231 LD B B B Y┆
0x46310…46398 (66, 0, 2) UnusedSector ┆ B 261 RET 0141 3E05 262 TR15ERR LD A,5 ;RETURN ON TRANSMIT CLOCK ERROR 0143 C9 263 RET 0144 3E06 B B 3┆
0x46398…46420 (66, 0, 3) UnusedSector ┆ B 00E6 ED68 209 IN L,(C) 00E8 CB55 210 BIT 2,L 00EA 2852 211 JR Z,TR14ERR ;JUMP IF TRANSMIT BUF B BW ┆
0x46420…464a8 (66, 0, 4) UnusedSector ┆ BE1 137 POP HL 0080 36C9 138 LD (HL),0C9H ;LOAD RET INTO LAST Z80 RAM ADDRESS 0082 EB 139 EX D B B ┆
0x464a8…46530 (66, 0, 5) UnusedSector ┆ B 192 ;----------------------------------------------------------------------------- 00CA 3E18 193 T1TXRX LD A,1 A B[|┆
0x46530…465b8 (66, 0, 6) DataSector
0x465b8…46640 (66, 0, 7) UnusedSector ┆ B,50 ;WAIT 1 MILLI SEC. 010C 10FE 232 TWAIT4 DJNZ TWAIT4 010E 2E01 233 LD L,1 0110 ED69 234 OUT B B/ ┆
0x46640…466c8 (66, 0, 8) UnusedSector ┆ BFER NOT EMPTY 00EC 0D 212 DEC C 00ED 0D 213 DEC C 00EE 2601 214 LD H,01H ;LOAD FIRST CHARA B B ]┆
0x466c8…46750 (66, 0, 9) UnusedSector ┆ B H 0127 201E 247 JR NZ,TR17ERR ;JUMP IF RX CHAR. NOT EQUAL TX CHAR. 0129 CB24 248 SLA H ;NEXT BIT 012B B B ┆
0x46750…467d8 (66, 0, 10) UnusedSector ┆ B8H 00CC ED79 194 OUT (C),A ;RESET CHANNEL 00CE 2E04 195 LD L,4 00D0 ED69 196 OUT (C),L 00D2 B B ┆
0x467d8…46860 (66, 0, 11) DataSector
0x46860…468e8 (66, 0, 12) UnusedSector ┆ B(C),L 0112 ED68 235 IN L,(C) 0114 CB45 236 BIT 0,L 0116 2829 237 JR Z,TR15ERR ;JUMP IF CHARACTE B B4u┆
0x468e8…46970 (66, 0, 13) UnusedSector ┆ BCTER 00F0 ED61 215 OUT (C),H 00F2 0C 216 INC C 00F3 0C 217 INC C 00F4 ED68 218 I B B ┆
0x46970…469f8 (66, 0, 14) UnusedSector ┆ B2804 249 JR Z,TR1END 012D ED61 250 OUT (C),H 012F 18D3 251 JR TR1LOOP 0131 0C 252 TR1 B B ┆
0x469f8…46a80 (66, 0, 15) UnusedSector ┆ B3E47 197 LD A,01000111B ; *16 CLOCK 198 ; 1 STOP BIT 00D4 ED79 199 OUT (C),A ; E B B ┆
0x46a80…46b08 (66, 0, 16) UnusedSector ┆ B 264 TR16ERR LD A,6 ;RETURN ON RECEIVE ERROR 0146 C9 265 RET 0147 3E07 266 TR17ERR LD A,7 ;RETURN ON B BW ┆
0x46b08…46b90 (66, 0, 17) UnusedSector ┆ BR NOT SENT 0118 ED68 238 IN L,(C) 011A CB55 239 BIT 2,L 011C 2823 240 JR Z,TR15ERR ;JUMP IF NO B B ┆
0x46b90…46c18 (66, 0, 18) UnusedSector ┆ BN L,(C) 00F6 CB55 219 BIT 2,L 00F8 2044 220 JR NZ,TR14ERR ;JUMP IF TRANSMIT BUFFER EMPTY 00FA 2E05 B B ┆
0x46c18…46ca0 (66, 0, 19) UnusedSector ┆ BEND INC C 0132 0C 253 INC C 0133 2E01 254 LD L,1 0135 ED69 255 OUT (C),L 0137 ED78 2 B B ┆
0x46ca0…46d28 (66, 0, 20) UnusedSector ┆ BVEN PARITY 00D6 2E03 200 LD L,3 00D8 ED69 201 OUT (C),L 00DA 3EC1 202 LD A,11000001B ; 8 RX BI B BK ┆
0x46d28…46db0 (66, 0, 21) UnusedSector ┆ B TRANSMISSIONS ERROR 0149 C9 267 RET 268 269 ;ECHO B f ┆
0x46db0…46e38 (66, 0, 22) UnusedSector ┆ BTX-CLOCK TSIO PAGE 4 LOC OBJ CODE M STMT SOURCE STATEMENT B B0$┆
0x46e38…46ec0 (66, 0, 23) UnusedSector ┆ B 221 LD L,5 00FC ED69 222 OUT (C),L 00FE CBDF 223 SET 3,A ;ENABLE TX 0100 ED79 224 OUT (C), B B5 ┆
0x46ec0…46f48 (66, 0, 24) UnusedSector ┆ B56 IN A,(C) 0139 E670 257 AND 70H 013B 200A 258 JR NZ,TR17ERR ;JUMP IF TRANSMISSIONS ERROR 013D C9 B B a┆
0x46f48…46fd0 (66, 0, 25) UnusedSector ┆ BT/CHAR 00DC ED79 203 OUT (C),A ; RX ENABLED 00DE 2E05 204 LD L,5 00E0 ED69 205 OUT (C),L 00E2 B B ┆
0x46fd0…47058 (66, 0, 26) UnusedSector ┆ B INTO SHARED RAM THEN 0078 0604 132 LD B,4 :LOAD ERROR CODE 007A 80 133 ADD A,B 007B CD0000 X 134 B B v┆
0x47058…470e0 (66, 0, 27) UnusedSector ┆ B ASM 5.9 011E CB45 241 BIT 0,L 0120 2822 242 JR Z,TR16ERR ;JUMP IF CHARACTER NOT RECE B Bi ┆
0x470e0…47168 (66, 0, 28) UnusedSector ┆ BA 0102 0D 225 DEC C 0103 0D 226 DEC C 0104 0C 227 TR1LOOP INC C ;FOR BIT = 7 TO 0 0105 B Bo ┆
0x47168…471f0 (66, 0, 29) UnusedSector ┆ B 259 RET ;RETURN ON TEST COMPLETED 013E 3E04 260 TR14ERR LD A,4 ;RETURN ON TRANSMIT ERROR 0140 C9 B BS ┆
0x471f0…47278 (66, 0, 30) UnusedSector ┆ B 3E60 206 LD A,01100000B ; 8 TX BIT/CHAR 00E4 ED79 207 OUT (C),A ; TX DISABLED 208 B B ┆
0x47278…47300 (66, 0, 31) UnusedSector ┆ B CALL ERROR ;JUMP TO ERROR 135 007E D1 136 R4NEXT POP DE ;RESTORE Z80 RAM ADDRESSES 007F B B'_┆
0x47300…47388 (67, 0, 0) UnusedSector ┆ C247 JR NZ,T31ERROR ;JUMP WRITE/READ ERROR 0102 1D 248 DEC E 0103 20F3 249 JR NZ,T32LOOP 0105 15 C D ┆
0x47388…47410 (67, 0, 1) UnusedSector ┆ CCE 20F8 205 JR NZ,T22LOOP 00D0 15 206 DEC D 00D1 20F5 207 JR NZ,T22LOOP ;NEXT ADDRESS 00D3 C C u┆
0x47410…47498 (67, 0, 2) UnusedSector ┆ C 222 T31LOOP INC HL 00E3 77 223 LD (HL),A ;WRITE TEST PATTERN 00E4 BE 224 CP (HL) 00E5 203F C C+ ┆
0x47498…47520 (67, 0, 3) UnusedSector ┆ C88 RET 00BD 3E09 189 T13ERROR LD A,09H ;ERROR EXIT IF REFLECTION ERROR 00BF C9 190 RET C C ┆
0x47520…475a8 (67, 0, 4) UnusedSector ┆ C4 EB 236 EX DE,HL ;FOR ADDRESS = START TO END 00F5 1C 237 INC E 00F6 14 238 INC D 00F7 C C w┆
0x475a8…47630 (67, 0, 5) UnusedSector ┆ CERN 00AA 77 175 LD (HL),A ;WRITE TEST PATTERN 00AB BE 176 CP (HL) 00AC 200C 177 JR NZ,T12E B C< ┆
0x47630…476b8 (67, 0, 6) DataSector
0x476b8…47740 (67, 0, 7) UnusedSector ┆ C e m ` @! ( 6 R +#w #/ R +# /w > > > / R +# / 1 C ┆
0x47740…477c8 (67, 0, 8) UnusedSector ┆ C 191 192 ;---------------------------------------------------------------------------- 00C0 2F C C ┆
0x477c8…47850 (67, 0, 9) UnusedSector ┆ C3E00 208 T22NEXT LD A,0 ;TEST COMPLETE 00D5 C9 209 RET 00D6 3E0A 210 T22ERROR LD A,0AH ;ERROR E C C h┆
0x47850…478d8 (67, 0, 10) UnusedSector ┆ CRROR ;JUMP IF WRITE/READ ERROR TRAM PAGE 3 LOC OBJ CODE M STMT C C ┆
0x478d8…47960 (67, 0, 11) UnusedSector ┆ C 225 JR NZ,T31ERROR ;JUMP IF WRITE/READ ERROR 00E7 1D 226 DEC E 00E8 20F8 227 JR NZ,T31LOOP 00EA 15 C C ┆
0x47960…479e8 (67, 0, 12) UnusedSector ┆ C b > > R +#w ? R +# //w / $ R #+/ / w > > > +# / C J┆
0x479e8…47a70 (67, 0, 13) UnusedSector ┆ C 193 T2RAM CPL 00C1 A7 194 AND A 00C2 ED52 195 SBC HL,DE ;BYTE COUNT = START ADDRESS - END ADDRESS C C h┆
0x47a70…47af8 (67, 0, 14) UnusedSector ┆ CXIT 00D8 C9 211 RET 212 213 ;-------------------------------------------- C C ┆
0x47af8…47b80 (67, 0, 15) UnusedSector ┆ C SOURCE STATEMENT ASM 5.9 00AE 1D 178 DEC E 00AF 20F4 179 JR NZ,T12LOOP 00B1 C CF[┆
0x47b80…47c08 (67, 0, 16) UnusedSector ┆ C 228 DEC D 00EB 20F5 229 JR NZ,T31LOOP ;NEXT ADDRESS 00ED E1 230 T31NEXT POP HL ;RESTORE ENTR C C ┆
0x47c08…47c90 (67, 0, 17) UnusedSector ┆ C 2B 239 DEC HL 00F8 23 240 T32LOOP INC HL 00F9 BE 241 CP (HL) 00FA 202F 242 JR NZ C C W┆
0x47c90…47d18 (67, 0, 18) UnusedSector ┆ C00C4 EB 196 EX DE,HL ;FOR ADDRESS = START TO END 00C5 1C 197 INC E 00C6 14 198 INC D 00C C CG ┆
0x47d18…47da0 (67, 0, 19) UnusedSector ┆ C------------------------------ 00D9 D5 214 T3RAM PUSH DE 00DA E5 215 PUSH HL 00DB A7 216 A C C ┆
0x47da0…47e28 (67, 0, 20) UnusedSector ┆ C 15 180 DEC D 00B2 20F1 181 JR NZ,T12LOOP ;NEXT ADDRESS 00B4 3E00 182 T12NEXT LD A,0 ;TEST COMP C CZ ┆
0x47e28…47eb0 (67, 0, 21) UnusedSector ┆ CY DATA 00EE D1 231 POP DE 00EF D5 232 PUSH DE 00F0 E5 233 PUSH HL ;SAVE ENTRY DATA 00F1 C Cb ┆
0x47eb0…47f38 (67, 0, 22) UnusedSector ┆ C,T33ERROR ;JUMP IF REFLECTION ERROR 00FC 2F 243 CPL ;COMPLEMENT TEST PATTERN 00FD 77 244 LD (HL),A C C ┆
0x47f38…47fc0 (67, 0, 23) UnusedSector ┆ C7 2B 199 DEC HL 00C8 23 200 T22LOOP INC HL 00C9 BE 201 CP (HL) 00CA 200A 202 JR C C ┆
0x47fc0…48048 (67, 0, 24) UnusedSector ┆ CND A 00DC ED52 217 SBC HL,DE ;BYTECOUNT = START ADDRESS - END ADDRESS 00DE EB 218 EX DE,HL ;FOR ADDRES C Cm ┆
0x48048…480d0 (67, 0, 25) UnusedSector ┆ CLETE 00B6 C9 183 RET 00B7 D1 184 T11ERROR POP DE ;ADJUST STACK POINTER 00B8 D1 185 POP DE C C^ ┆
0x480d0…48158 (67, 0, 26) UnusedSector ┆ C A7 234 AND A 00F2 ED52 235 SBC HL,DE ;BYTE COUNT = START ADDRESS - END ADDRESS C C A┆
0x48158…481e0 (67, 0, 27) UnusedSector ┆ C;WRITE TEST PATTERN 00FE BE 245 CP (HL) 00FF 2F 246 CPL ;COMPLEMENT TEST PATTERN 0100 2024 C C }┆
0x481e0…48268 (67, 0, 28) UnusedSector ┆ C NZ,T22ERROR ;JUMP IF REFLECTION ERROR 00CC 2F 203 CPL ;COMPLEMENT TEST PATTERN 00CD 1D 204 DEC E 00 C C ┆
0x48268…482f0 (67, 0, 29) UnusedSector ┆ CS = START TO END 00DF 1C 219 INC E 00E0 14 220 INC D 00E1 2B 221 DEC HL 00E2 23 C C V┆
0x482f0…48378 (67, 0, 30) UnusedSector ┆ C 00B9 D1 186 POP DE 00BA 3E08 187 T12ERROR LD A,08H ;ERROR EXIT IF WRITE/READ ERROR 00BC C9 1 C C ┆
0x48378…48400 (67, 0, 31) UnusedSector ┆ C TRAM PAGE 4 LOC OBJ CODE M STMT SOURCE STATEMENT ASM 5.9 00F C Cg"┆
0x48400…48488 (68, 0, 0) UnusedSector ┆ DH 003B 0608 106 LD B,8 003D ED79 107 P12LOOP OUT (C),A ;DO RUNNING 0 TEST 003F ED50 108 IN D,(C D D n┆
0x48488…48510 (68, 0, 1) UnusedSector ┆ D------ 286 ;ECHO USH DE 0087 E5 146 PUSH HL 0088 A7 147 AND A 0089 ED52 D /D┆
0x48510…48598 (68, 0, 2) UnusedSector ┆ D NOT EQUAL RRC H ; DJNZ T1LOOP ; NEXT BIT INC C ;OD LD A,36H ;SET ALL COUNTERS TO : OUT (C),A ; MODE 3 LD A,76H ; D E ┆
0x48598…48620 (68, 0, 3) UnusedSector ┆ D2ERROR ;JUMP IF WRITE/READ ERROR 011D 1D 270 DEC E 011E 20F3 271 JR NZ,T33LOOP 0120 15 272 D D :┆
0x48620…486a8 (68, 0, 4) UnusedSector ┆ D A,10110000B ;DO I/O TEST OUT (C),A ; SET COUNTER 2 DEC C LD B,8 LD HL,80FFH ; FOR BIT = 7 TO 0 T1LOOP OUT (C),L ; OUT D D9 ┆
0x486a8…48730 (68, 0, 5) UnusedSector ┆ D 250 DEC D 0106 20F0 251 JR NZ,T32LOOP ;NEXT ADDRESS 0108 E1 252 POP HL 0109 D1 253 P C D> ┆
0x48730…487b8 (68, 0, 6) DataSector
0x487b8…48840 (68, 0, 7) UnusedSector ┆ DD,(C) ;DO `00` TEST 001F BA 89 CP D 0020 2029 90 JR NZ,P1ERROR 0022 3EFF 91 LD A,0FFH 002 A DR ┆
0x48840…488c8 (68, 0, 8) UnusedSector ┆ DDEC D 0121 20F0 273 JR NZ,T33LOOP ;NEXT ADDRESS 0123 3E00 274 T32NEXT LD A,0 ;TEST COMPLETE 0125 C9 D D k┆
0x488c8…48950 (68, 0, 9) UnusedSector ┆ D) 0041 BA 109 CP D 0042 2007 110 JR NZ,P1ERROR 0044 0F 111 RRCA 0045 10F6 112 DJ D DLF┆
0x48950…489d8 (68, 0, 10) UnusedSector ┆ DOP DE 010A E5 254 PUSH HL ;SAVE END ADDRESS 010B A7 255 AND A 010C ED52 256 SBC HL,DE 010E D D ┆
0x489d8…48a60 (68, 0, 11) UnusedSector ┆ D E 2 791101 791101 k(┆
0x48a60…48ae8 (68, 0, 12) UnusedSector ┆ D4 ED79 92 OUT (C),A ;DO `FF` TEST 0026 ED50 93 IN D,(C) 0028 BA 94 CP D 0029 2020 D D N┆
0x48ae8…48b70 (68, 0, 13) UnusedSector ┆ D 275 RET 0126 D1 276 T31ERROR POP DE ;ADJUST STACK POINTER 0127 D1 277 POP DE 0128 3E08 D D ┆
0x48b70…48bf8 (68, 0, 14) UnusedSector ┆ DNZ P12LOOP 0047 AF 113 XOR A 0048 ED59 114 OUT (C),E ;RESTORE PORT 004A C9 115 RET ;RETU D D ┆
0x48bf8…48c80 (68, 0, 15) UnusedSector ┆ D EB 257 EX DE,HL 010F E1 258 POP HL ;RESTORE END ADDRESS 0110 1C 259 INC E 0111 14 D D v┆
0x48c80…48d08 (68, 0, 16) UnusedSector ┆ D*INCLUDE CONST.S GLOBAL TTIM1,TTIM2,TTIM3 EXTERNAL ERROR TTIM1 LD C,ATIM1 CALL T8253 ;DO TIMER TEST AND A RET Z ;RETU D D ┆
0x48d08…48d90 (68, 0, 17) UnusedSector ┆ D 95 JR NZ,P1ERROR 002B 3E80 96 LD A,80H 002D 0608 97 LD B,8 002F ED79 98 P11LOOP OUT (C), D D b┆
0x48d90…48e18 (68, 0, 18) UnusedSector ┆ D 278 T32ERROR LD A,08H ;ERROR EXIT IF WRITE/READ ERROR 012A C9 279 RET 012B D1 280 T33ERROR POP DE 01 D D't┆
0x48e18…48ea0 (68, 0, 19) UnusedSector ┆ DRN IF TEST COMPLETED 004B ED59 116 P1ERROR OUT (C),E ;RETURN IF ERROR 004D 3EFF 117 LD A,0FFH 004F C9 D DA ┆
0x48ea0…48f28 (68, 0, 20) UnusedSector ┆ D 260 INC D 0112 23 261 INC HL 0113 2B 262 T33LOOP DEC HL ;FOR ADDRESS = END TO START STEP -1 01 D D -┆
0x48f28…48fb0 (68, 0, 21) UnusedSector ┆ DRN IF NO ERRORS LD B,10H ADD A,B ;LOAD ERROR CODE CALL ERROR TTIM2 LD C,ATIM2 CALL T8253 ;DO TIMER TEST AND A RET Z ; D D[ ┆
0x48fb0…49038 (68, 0, 22) UnusedSector ┆ DA ;DO RUNNING 1 TEST 0031 ED50 99 IN D,(C) 0033 BA 100 CP D 0034 2015 101 JR NZ,P1ERROR 003 D D e┆
0x49038…490c0 (68, 0, 23) UnusedSector ┆ D2C D1 281 POP DE 012D 3E09 282 T34ERROR LD A,09H ;ERROR EXIT IF REFLECTION ERROR 012F C9 283 D D ┆
0x490c0…49148 (68, 0, 24) UnusedSector ┆ D 118 RET D &┆
0x49148…491d0 (68, 0, 25) UnusedSector ┆ D14 2F 263 CPL 0115 BE 264 CP (HL) 0116 2F 265 CPL 0117 2014 266 JR NZ,T34ERROR D D ┆
0x491d0…49258 (68, 0, 26) UnusedSector ┆ DRETURN IF NO ERRORS LD B,30H ADD A,B ;LOAD ERROR CODE CALL ERROR TTIM3 LD HL,RAMSTA LD C,ATIM3 CALL T1CTC ;DO TIMER TES D DY ┆
0x49258…492e0 (68, 0, 27) UnusedSector ┆ D6 0F 102 RRCA 0037 10F6 103 DJNZ P11LOOP ;OD 104 0039 3E7F 105 LD A,7F D D- ┆
0x492e0…49368 (68, 0, 28) UnusedSector ┆ D RET 284 285 ;----------------------------------------------------------------------- D D[8┆
0x49368…493f0 (68, 0, 29) UnusedSector ┆ D(C),H ; OUTPUT COUNTER IN E,(C) ; IN D,(C) ; INPUT COUNTER LD A,H ; CP D ; LD A,4 ; RET NZ ; RETURN IF MSB D D o┆
0x493f0…49478 (68, 0, 30) UnusedSector ┆ D ;JUMP IF REFLECTION ERROR 0119 77 267 LD (HL),A 011A BE 268 CP (HL) 011B 200B 269 JR NZ,T3 D D 4┆
0x49478…49500 (68, 0, 31) UnusedSector ┆ DT AND A RET Z ;RETURN IF NO ERRORS LD B,60H ADD A,B CALL ERROR T8253 INC C INC C INC C ;LOAD CONTROL WORD ADDRESS LD D D ┆
0x49500…49588 (69, 0, 0) UnusedSector ┆ E 112 DJNZ T1LOOP ; NEXT BIT 0048 0C 113 INC C ;OD 0049 3E36 114 LD A,36H ;SET ALL COUNTERS TO E E >┆
0x49588…49610 (69, 0, 1) UnusedSector ┆ E 3EB6 118 LD A,0B6H 0053 ED79 119 OUT (C),A TTIM E F ┆
0x49610…49698 (69, 0, 2) UnusedSector ┆ ED ADDRESS 002D 3EB0 98 LD A,10110000B ;DO I/O TEST 002F ED79 99 OUT (C),A ; SET COUNTER 2 0031 0D E E ┆
0x49698…49720 (69, 0, 3) UnusedSector ┆ ENZ ; RETURN IF I/O ERROR RRC H DEC E JR NZ,C21LOOP ; NEXT BIT LD A,3 OUT (C),A ; RESET CHANNEL LD A,85H OUT (C),A E E l┆
0x49720…497a8 (69, 0, 4) UnusedSector ┆ E 78 TTIM2 LD C,ATIM2 000F CD2A00 R 79 CALL T8253 ;DO TIMER TEST 0012 A7 80 AND A 0013 C8 81 E E ┆
0x497a8…49830 (69, 0, 5) UnusedSector ┆ E OUT (C),A ; LD A,0B6H OUT (C),A LD B,3 ; T2LOOP DEC C ;FOR COUNTER = 2 TO 0 LD HL,208 ; SET COUNTER TO 9600 HZ OUT (C D E% ┆
0x49830…498b8 (69, 0, 6) UnusedSector ┆ E TTIM PAGE 1 LOC OBJ CODE M STMT SOURCE STATEMENT E ┆
0x498b8…49940 (69, 0, 7) UnusedSector ┆ E g ^ > | G i ^ s#r# y O & > y>% y a h| > > y> y> y> > yx < M i a X P Rx ,?┆
0x49940…499c8 (69, 0, 8) UnusedSector ┆ E ; ENABLE CH ANNEL INTERRUPT LD A,5 OUT (C),A ; LOAD TIME CONSTANT LD A,0 EI PUSH BC LD B,5 C22LOOP DJNZ C22LOOP ; WA E Ez*┆
0x499c8…49a50 (69, 0, 9) UnusedSector ┆ E RET Z ;RETURN IF NO ERRORS 0014 0630 82 LD B,30H 0016 80 83 ADD A,B ;LOAD ERROR CODE 0017 CD000 E E i┆
0x49a50…49ad8 (69, 0, 10) UnusedSector ┆ E),L OUT (C),H IN E,(C) IN D,(C) ; READ COUNTER AND A SBC HL,DE LD A,B RET Z ; RETURN IF NO COUNT DJNZ T2LOOP ; NEX E EK ┆
0x49ad8…49b60 (69, 0, 11) UnusedSector ┆ E ASM 5.9 1 *INCLUDE CONST.S 63 *L ON 64 ;ECHO E E#S┆
0x49b60…49be8 (69, 0, 12) UnusedSector ┆ E 100 DEC C 0032 0608 101 LD B,8 0034 21FF80 102 LD HL,80FFH ; FOR BIT = 7 TO 0 0037 ED69 1 E E ┆
0x49be8…49c70 (69, 0, 13) UnusedSector ┆ EIT FOR INTERRUPT POP BC DI AND A LD A,1 OUT (C),A ; RESET CHANNEL INTERRUPT LD A,B RET Z ; RETURN IF NO INTERRUPT DE E E ┆
0x49c70…49cf8 (69, 0, 14) UnusedSector ┆ E0 X 84 CALL DETECT 85 001A 210010 86 TTIM3 LD HL,RAMSTA 001D 0E60 87 LD C,ATIM E E ┆
0x49cf8…49d80 (69, 0, 15) UnusedSector ┆ ET COUNTER LD A,0 RET ;------------------------------------------------------------------------- T1CTC LD A,H LD I,A ;LOAD IN E EF ┆
0x49d80…49e08 (69, 0, 16) UnusedSector ┆ E 65 *L ON 66 67 GLOBAL TTIM1,TTIM2,TTIM3 68 E E E >┆
0x49e08…49e90 (69, 0, 17) UnusedSector ┆ E03 T1LOOP OUT (C),L ; 0039 ED61 104 OUT (C),H ; OUTPUT COUNTER 003B ED58 105 IN E,(C) ; 003D ED50 E EB ┆
0x49e90…49f18 (69, 0, 18) UnusedSector ┆ EC C DJNZ C2LOOP ;NEXT CHANNEL XOR A RET ;RETURN IF TEST COMPLETED ;----------------------------------------------------- E Elu┆
0x49f18…49fa0 (69, 0, 19) UnusedSector ┆ E3 001F CD6D00 R 88 CALL T1CTC ;DO TIMER TEST 0022 A7 89 AND A 0023 C8 90 RET Z ;RETURN IF E E ┆
0x49fa0…4a028 (69, 0, 20) UnusedSector ┆ ETERRUPT VECTOR OUT (C),L IM 2 LD B,4 LD DE,TCTCINT C1LOOP LD (HL),E ;INIT INTERRUPT TABLE INC HL LD (HL),D INC HL DJNZ E E 9┆
0x4a028…4a0b0 (69, 0, 21) UnusedSector ┆ EXTERNAL DETECT 69 0000 0E10 70 TTIM1 LD C,ATIM1 0002 CD2A00 R 71 CALL T8253 ;DO TIMER E E 9┆
0x4a0b0…4a138 (69, 0, 22) UnusedSector ┆ E 106 IN D,(C) ; INPUT COUNTER 003F 7C 107 LD A,H ; 0040 BA 108 CP D ; 0041 3E04 E END┆
0x4a138…4a1c0 (69, 0, 23) UnusedSector ┆ E------------------------- TCTCINT INC A EI RETI E ┆
0x4a1c0…4a248 (69, 0, 24) UnusedSector ┆ ENO ERRORS 0024 0660 91 LD B,60H 0026 80 92 ADD A,B 0027 CD0000 X 93 CALL DETECT E E8 ┆
0x4a248…4a2d0 (69, 0, 25) UnusedSector ┆ EC1LOOP LD B,4 LD A,C ADD A,B LD C,A DEC C C2LOOP LD E,8 ;FOR CHANNEL = 3 TO 0 LD H,80H C21LOOP LD A,3 ; FOR BIT = 7 TO E E ┆
0x4a2d0…4a358 (69, 0, 26) UnusedSector ┆ E TEST 0005 A7 72 AND A 0006 C8 73 RET Z ;RETURN IF NO ERRORS 0007 0610 74 LD B,10H 0009 E E ┆
0x4a358…4a3e0 (69, 0, 27) UnusedSector ┆ E 109 LD A,4 ; 0043 C0 110 RET NZ ; RETURN IF MSB NOT EQUAL 0044 CB0C 111 RRC H ; 0046 10EF E E ┆
0x4a3e0…4a468 (69, 0, 28) UnusedSector ┆ E: 004B ED79 115 OUT (C),A ; MODE 3 004D 3E76 116 LD A,76H ; 004F ED79 117 OUT (C),A ; 0051 E E ┆
0x4a468…4a4f0 (69, 0, 29) UnusedSector ┆ E 94 002A 0C 95 T8253 INC C 002B 0C 96 INC C 002C 0C 97 INC C ;LOAD CONTROL WOR E E r┆
0x4a4f0…4a578 (69, 0, 30) UnusedSector ┆ E0 OUT (C),A ; RESET CHANNEL LD A,25H OUT (C),A OUT (C),H ; WRITE TIME CONSTANT IN L,(C) LD A,H CP L LD A,5 RET E E ┆
0x4a578…4a600 (69, 0, 31) UnusedSector ┆ E 80 75 ADD A,B ;LOAD ERROR CODE 000A CD0000 X 76 CALL DETECT 77 000D 0E30 E E ┆
0x4a600…4a688 (70, 0, 0) UnusedSector ┆ F OUT (C),L OUT (C),H LD C,ATIM2+1 OUT (C),L OUT (C),H LD C,ASIO2 LD HL,RAMSTA CALL T1SIO ;DO SIO2 TEST AND A ;RETURN F G {┆
0x4a688…4a710 (70, 0, 1) UnusedSector ┆ F (C),A ; RESET CHANNEL 008D 3E25 155 LD A,25H 008F ED79 156 OUT (C),A 0091 ED61 157 OUT (C) F F n┆
0x4a710…4a798 (70, 0, 2) UnusedSector ┆ F 190 TCTCINT INC A 00C2 FB 191 EI 00C3 ED4D 192 RETI F ?┆
0x4a798…4a820 (70, 0, 3) UnusedSector ┆ F 7C 135 T1CTC LD A,H 006E ED47 136 LD I,A ;LOAD INTERRUPT VECTOR 0070 ED69 137 OUT (C),L 0072 F F ┆
0x4a820…4a8a8 (70, 0, 4) UnusedSector ┆ FOOP ; WAIT FOR INTERRUPT 00B3 C1 177 POP BC TTIM PAG F Fr ┆
0x4a8a8…4a930 (70, 0, 5) UnusedSector ┆ F PAGE 2 LOC OBJ CODE M STMT SOURCE STATEMENT ASM 5.9 0055 0603 120 LD B,3 ; 0057 E FP ┆
0x4a930…4a9b8 (70, 0, 6) UnusedSector ┆ F,H ; WRITE TIME CONSTANT 0093 ED68 158 IN L,(C) 0095 7C 159 LD A,H 0096 BD 160 CP L 009 F F~ ┆
0x4a9b8…4aa40 (70, 0, 7) UnusedSector ┆ F G s 791101 791101 ` ┆
0x4aa40…4aac8 (70, 0, 8) UnusedSector ┆ F ED5E 138 IM 2 0074 0604 139 LD B,4 0076 11C100 R 140 LD DE,TCTCINT 0079 73 141 C1LOOP F F ┆
0x4aac8…4ab50 (70, 0, 9) UnusedSector ┆ FE 3 LOC OBJ CODE M STMT SOURCE STATEMENT ASM 5.9 00B4 F3 178 DI 00B5 A7 1 F F+E┆
0x4ab50…4abd8 (70, 0, 10) UnusedSector ┆ F0D 121 T2LOOP DEC C ;FOR COUNTER = 2 TO 0 0058 21D000 122 LD HL,208 ; SET COUNTER TO 9600 HZ 005B ED69 F F ┆
0x4abd8…4ac60 (70, 0, 11) UnusedSector ┆ F7 3E05 161 LD A,5 0099 C0 162 RET NZ ; RETURN IF I/O ERROR 009A CB0C 163 RRC H 009C 1D F F ;┆
0x4ac60…4ace8 (70, 0, 12) UnusedSector ┆ F*INCLUDE CONST.S GLOBAL T1SIO,T1TXRX,TSIO1,TSIO2 EXTERNAL ERROR TSIO1 IN A,(APIO1+1) AND 11111110B ;SET LOOP1 OUT (APIO1+1 F FI ┆
0x4ace8…4ad70 (70, 0, 13) UnusedSector ┆ FLD (HL),E ;INIT INTERRUPT TABLE 007A 23 142 INC HL 007B 72 143 LD (HL),D 007C 23 144 INC F F j┆
0x4ad70…4adf8 (70, 0, 14) UnusedSector ┆ F79 AND A 00B6 3E01 180 LD A,1 00B8 ED79 181 OUT (C),A ; RESET CHANNEL INTERRUPT 00BA 78 182 F F}c┆
0x4adf8…4ae80 (70, 0, 15) UnusedSector ┆ F 123 OUT (C),L 005D ED61 124 OUT (C),H 005F ED58 125 IN E,(C) 0061 ED50 126 IN D,(C) ; F F! ┆
0x4ae80…4af08 (70, 0, 16) UnusedSector ┆ F 164 DEC E 009D 20EA 165 JR NZ,C21LOOP ; NEXT BIT 009F 3E03 166 LD A,3 00A1 ED79 167 F F ┆
0x4af08…4af90 (70, 0, 17) UnusedSector ┆ F),A LD HL,6 LD C,ATIM1 ;SET CLOCK 1,2 = 333 KHZ OUT (C),L OUT (C),H LD C,ATIM1+1 OUT (C),L OUT (C),H LD C,ASIO1 LD HL, F FR ┆
0x4af90…4b018 (70, 0, 18) UnusedSector ┆ F HL 007D 10FA 145 DJNZ C1LOOP 007F 0604 146 LD B,4 0081 79 147 LD A,C 0082 80 148 F F ┆
0x4b018…4b0a0 (70, 0, 19) UnusedSector ┆ F LD A,B 00BB C8 183 RET Z ; RETURN IF NO INTERRUPT 00BC 0D 184 DEC C 00BD 10C6 185 DJNZ F F 6┆
0x4b0a0…4b128 (70, 0, 20) UnusedSector ┆ F READ COUNTER 0063 A7 127 AND A 0064 ED52 128 SBC HL,DE 0066 78 129 LD A,B 0067 C8 F FP ┆
0x4b128…4b1b0 (70, 0, 21) UnusedSector ┆ F OUT (C),A ; RESET CHANNEL 00A3 3E85 168 LD A,85H 00A5 ED79 169 OUT (C),A ; ENABLE CH ANNEL INTERRUPT F F "┆
0x4b1b0…4b238 (70, 0, 22) UnusedSector ┆ FRAMSTA CALL T1SIO ;DO SIO1 TEST AND A ;RETURN IF NO ERROR RET Z LD C,ASIO1 ADD A,C ;LOAD ERROR CODE CALL ERROR ;JUMP T F F; ┆
0x4b238…4b2c0 (70, 0, 23) UnusedSector ┆ F ADD A,B 0083 4F 149 LD C,A 0084 0D 150 DEC C 0085 1E08 151 C2LOOP LD E,8 ;FOR CHANNEL = 3 F Fin┆
0x4b2c0…4b348 (70, 0, 24) UnusedSector ┆ F C2LOOP ;NEXT CHANNEL 00BF AF 186 XOR A 00C0 C9 187 RET ;RETURN IF TEST COMPLETED F F r┆
0x4b348…4b3d0 (70, 0, 25) UnusedSector ┆ F 130 RET Z ; RETURN IF NO COUNT 0068 10ED 131 DJNZ T2LOOP ; NEXT COUNTER 006A 3E00 132 LD A,0 006C F Fk ┆
0x4b3d0…4b458 (70, 0, 26) UnusedSector ┆ F00A7 3E05 170 LD A,5 00A9 ED79 171 OUT (C),A ; LOAD TIME CONSTANT 00AB 3E00 172 LD A,0 00AD F F ┆
0x4b458…4b4e0 (70, 0, 27) UnusedSector ┆ FO ERROR ROUTINE TSIO2 IN A,(APIO1+1) AND 11111101B ;SET LOOP2 OUT (APIO1+1),A LD HL,6 LD C,ATIM2 ;SET CLOCK 1,2 = 333 KHZ F F@v┆
0x4b4e0…4b568 (70, 0, 28) UnusedSector ┆ F TO 0 0087 2680 152 LD H,80H 0089 3E03 153 C21LOOP LD A,3 ; FOR BIT = 7 TO 0 008B ED79 154 OUT F F7 ┆
0x4b568…4b5f0 (70, 0, 29) UnusedSector ┆ F 188 189 ;------------------------------------------------------------------------------ 00C1 3C F F S┆
0x4b5f0…4b678 (70, 0, 30) UnusedSector ┆ F C9 133 RET 134 ;------------------------------------------------------------------------- 006D F Fj ┆
0x4b678…4b700 (70, 0, 31) UnusedSector ┆ F FB 173 EI 00AE C5 174 PUSH BC 00AF 0605 175 LD B,5 00B1 10FE 176 C22LOOP DJNZ C22L F F w┆
0x4b700…4b788 (71, 0, 0) UnusedSector ┆ GLD (HL),0 INC HL ;CLEAR ERROR WORD LD (HL),0 CALL CHINIT ;INITIALIZE CHAR.POINTER AND BYTECOUNTERS JP NC,LOOPOUT ;IF TX G G ┆
0x4b788…4b810 (71, 0, 1) UnusedSector ┆ G-------------------------------------------------------- T1TXRX LD A,18H OUT (C),A ;RESET CHANNEL LD L,4 OUT (C),L LD A,010 G GZ|┆
0x4b810…4b898 (71, 0, 2) UnusedSector ┆ G(C),L ; LD A,01100000B ;8 TX BIT/CHAR OUT (C),A ;TX DISABLED IN L,(C) BIT 2,L LD B,4 JP Z,SIOERR ;IF TRANSMIT BUFFER N G H ┆
0x4b898…4b920 (71, 0, 3) UnusedSector ┆ G A,2 OUT (C),A OUT (C),L ;LOAD INTERRUPT VECTOR LD DE,4 ADD HL,DE LD DE,RXINT LD (HL),E ;LOAD RX INTERRUPT ROUTINE ADDRE G G ┆
0x4b920…4b9a8 (71, 0, 4) UnusedSector ┆ GUMP IF CHARACTER NOT RECEIVED DEC C DEC C IN A,(C) CP H JR NZ,TR17ERR ;JUMP IF RX CHAR. NOT EQUAL TX CHAR. SLA H ;NEXT BI G G4 ┆
0x4b9a8…4ba30 (71, 0, 5) UnusedSector ┆ GIF NO ERROR RET Z LD C,ASIO2 ADD A,C ;LOAD ERROR CODE CALL ERROR ;JUMP TO ERROR ROUTINE T1SIO PUSH HL LD E,C ;SAVE SIO F G ┆
0x4ba30…4bab8 (71, 0, 6) UnusedSector ┆ G00111B ; *16 CLOCK ; 1 STOP BIT OUT (C),A ; EVEN PARITY LD L,3 OUT (C),L LD A,11000001B ; 8 RX BIT/CHAR OUT (C),A G G ┆
0x4bab8…4bb40 (71, 0, 7) UnusedSector ┆ GS OF MESSAGE BUFFER ;* IY = ADDRESS OF CHANNEL TABLE ;* ;* EXIT : DE = ADDRESS OF MESSAGE BUFFER ;* ERROR CODE IN BUFF - G;>┆
0x4bb40…4bbc8 (71, 0, 8) UnusedSector ┆ GSS INC HL LD (HL),D LD A,1 OUT (C),A LD A,00011100B ;ENABLE RX INTERRUPT OUT (C),A DEC C DEC C LD A,55H OUT (C),A ;TR G GC ┆
0x4bbc8…4bc50 (71, 0, 9) UnusedSector ┆ GT JR Z,TR1END OUT (C),H JR TR1LOOP TR1END INC C INC C LD L,1 OUT (C),L IN A,(C) AND 70H JR NZ,TR17ERR ;JUMP IF TRANSMIS G G ┆
0x4bc50…4bcd8 (71, 0, 10) UnusedSector ┆ G BASE ADDRESS INC C INC C LD A,18H OUT (C),A ;RESET CHANNEL A INC C OUT (C),A ;RESET CHANNEL B LD B,4 LD H,80H ;FOR B G G ┆
0x4bcd8…4bd60 (71, 0, 11) UnusedSector ┆ G ; RX ENABLED LD L,5 OUT (C),L LD A,01100000B ; 8 TX BIT/CHAR OUT (C),A ; TX DISABLED IN L,(C) BIT 2,L JR Z,TR14ERR G Gw ┆
0x4bd60…4bde8 (71, 0, 12) UnusedSector ┆ GER : ;* 0 : NO ERRORS FOUND ;* 1 : I/O ERROR ;* 2 : INTERRUPT ERROR ;* 4 : TRANSMIT ERROR ;* 5 : TX CLOCK ERROR ; G G ┆
0x4bde8…4be70 (71, 0, 13) UnusedSector ┆ GANSMIT CHARACTER XOR A EI LD B,0 TWAIT1 DJNZ TWAIT1 LD B,50 ;WAIT 1 MILLI SEC. TWAIT2 DJNZ TWAIT2 DI INC C LD L,18H OUT G G[ ┆
0x4be70…4bef8 (71, 0, 14) UnusedSector ┆ GSIONS ERROR RET ;RETURN ON TEST COMPLETED TR14ERR LD A,4 ;RETURN ON TRANSMIT ERROR RET TR15ERR LD A,5 ;RETURN ON TRANSMIT G G ┆
0x4bef8…4bf80 (71, 0, 15) UnusedSector ┆ GIT 7 TO 4 S1LOOP LD A,2 OUT (C),A ; LOAD INTERRUPT VECTOR OUT (C),H OUT (C),A IN A,(C) ; READ INTERRUPT VECTOR XOR H A G Ge ┆
0x4bf80…4c008 (71, 0, 16) UnusedSector ┆ G ;JUMP IF TRANSMIT BUFFER NOT EMPTY DEC C DEC C LD H,01H ;LOAD FIRST CHARACTER OUT (C),H INC C INC C IN L,(C) BIT 2,L G GX ┆
0x4c008…4c090 (71, 0, 17) UnusedSector ┆ G* 6 : RECEIVE ERROR ;* 7 : TRANSMISSION ERROR ;* ;* DESTROY : SIO WRITE REGISTERS ;* A,F,B,C,H,L ;******************* G G g┆
0x4c090…4c118 (71, 0, 18) UnusedSector ┆ G (C),L ;RESET CHANNEL A INC C OUT (C),L ;RESET CHANNEL B CP 55H JR NZ,S3ERROR XOR A RET ;RETURN ON TEST COMPLETED S1ER G G ┆
0x4c118…4c1a0 (71, 0, 19) UnusedSector ┆ GCLOCK ERROR RET TR16ERR LD A,6 ;RETURN ON RECEIVE ERROR RET TR17ERR LD A,7 ;RETURN ON TRANSMISSIONS ERROR RET G ┆
0x4c1a0…4c228 (71, 0, 20) UnusedSector ┆ GND 0F0H JR NZ,S1ERROR ; JUMP IF I/O ERROR RRC H DJNZ S1LOOP ;NEXT BIT LD C,E ;RESTORE SIO BASE ADDRESS INC C INC C ;DO G G3 ┆
0x4c228…4c2b0 (71, 0, 21) UnusedSector ┆ GJR NZ,TR14ERR ;JUMP IF TRANSMIT BUFFER EMPTY LD L,5 OUT (C),L SET 3,A ;ENABLE TX OUT (C),A DEC C DEC C TR1LOOP INC C ;FO G G ┆
0x4c2b0…4c338 (71, 0, 22) UnusedSector ┆ G********************************************************** *INCLUDE CONSTANT.S GLOBAL LOOPTST LOOPTST IN A,(APIO1+1) SET 4 G G ┆
0x4c338…4c3c0 (71, 0, 23) UnusedSector ┆ GROR LD A,1 ;RETURN ON I/O ERROR S2ERROR POP HL RET S3ERROR LD A,2 ;RETURN ON INTERRUPT ERROR RET ;------------------------ G G ┆
0x4c3c0…4c448 (71, 0, 24) UnusedSector ┆ GBYTECOUNT =< 4 THEN EXIT LD A,18H ; OUT (C),A ;RESET CHANNEL LD L,4 ; OUT (C),L ; LD A,01000111B ;*16 CLOCK ;1 ST G G ┆
0x4c448…4c4d0 (71, 0, 25) UnusedSector ┆ G CHANNEL A TRANSMISSIONS TEST CALL T1TXRX AND A JR NZ,S2ERROR ;RETURN ON CHANNEL A ERROR INC C CALL T1TXRX ;DO CHANNEL B T G G ┆
0x4c4d0…4c558 (71, 0, 26) UnusedSector ┆ GR BIT = 7 TO 0 INC C LD B,0 TWAIT3 DJNZ TWAIT3 LD B,50 ;WAIT 1 MILLI SEC. TWAIT4 DJNZ TWAIT4 LD L,1 OUT (C),L IN L,(C) B G G ┆
0x4c558…4c5e0 (71, 0, 27) UnusedSector ┆ G,A OUT (APIO1+1),A ;TURN ON TEST LED LD (IY+12H),E ;SAVE BUFFER ADDRESS LD (IY+13H),D LD HL,BUFFHEAD+ERROFF ADD HL,DE G G r┆
0x4c5e0…4c668 (71, 0, 28) UnusedSector ┆ G----------------------------------------------------- RXINT IN A,(C) ;GET RECEIVED CHARACTER EI RETI ;--------------------- G G ┆
0x4c668…4c6f0 (71, 0, 29) UnusedSector ┆ GOP BIT OUT (C),A ;EVEN PARITY LD L,3 ; OUT (C),L ; LD A,11000001B ;8 RX BIT/CHAR OUT (C),A ;RX ENABLED LD L,5 ; OUT G G h┆
0x4c6f0…4c778 (71, 0, 30) UnusedSector ┆ GRANSMISSIONS TEST AND A JR Z,T1NEXT LD B,4 ADD A,B ;RETURN ON CHANNEL B ERROR JR S2ERROR T1NEXT POP HL LD A,H LD I,A LD G G P┆
0x4c778…4c800 (71, 0, 31) UnusedSector ┆ GIT 0,L JR Z,TR15ERR ;JUMP IF CHARACTER NOT SENT IN L,(C) BIT 2,L JR Z,TR15ERR ;JUMP IF NO TX-CLOCK BIT 0,L JR Z,TR16ERR ;J G G d┆
0x4c800…4c888 (72, 0, 0) UnusedSector ┆ HA,2 005B ED79 118 OUT (C),A ; LOAD INTERRUPT VECTOR 005D ED61 119 OUT (C),H H H ┆
0x4c888…4c910 (72, 0, 1) UnusedSector ┆ H6E 0C 129 INC C ;DO CHANNEL A TRANSMISSIONS TEST 006F CDC800 R 130 CALL T1TXRX 0072 A7 131 AND H I ┆
0x4c910…4c998 (72, 0, 2) UnusedSector ┆ H LD HL,RAMSTA 003F CD4A00 R 100 CALL T1SIO ;DO SIO2 TEST 0042 A7 101 AND A ;RETURN IF NO ERROR 0043 C8 H H4 ┆
0x4c998…4ca20 (72, 0, 3) UnusedSector ┆ H IF RX CH AR. <> TX CHAR THEN ERROR ; CALL NEXTCHA ; SAVE CHARACTER AND GET NEXT CHARACTER JR Z,TR1NEXT ; IF NO MORE C H H' ┆
0x4ca20…4caa8 (72, 0, 4) UnusedSector ┆ HCD4A00 R 81 CALL T1SIO ;DO SIO1 TEST 001D A7 82 AND A ;RETURN IF NO ERROR 001E C8 83 RET Z 0 H H ┆
0x4caa8…4cb30 (72, 0, 5) UnusedSector ┆ HOT EMPTY THEN ERROR LD L,(IY+0EH) LD H,(IY+0FH) ;GET POINTER TO FIRST CHARACTER LD E,(HL) ;GET FIRST CHARACTER DEC C DEC C G H ┆
0x4cb30…4cbb8 (72, 0, 6) UnusedSector ┆ H ASM 5.9 1 *INCLUDE CONST.S 63 *L ON 64 ;ECHO H ┆
0x4cbb8…4cc40 (72, 0, 7) UnusedSector ┆ H 102 RET Z 0044 0E50 103 LD C,ASIO2 0046 81 104 ADD A,C ;LOAD ERROR CODE 0047 CD0000 X H H u┆
0x4cc40…4ccc8 (72, 0, 8) UnusedSector ┆ HHARACTERS THEN EXIT ; OUT (C),E ; TRANSMIT NEXT CHARACTER JR LOOP2 ;OD TR1NEXT INC C INC C LD L,1 OUT (C),L IN A, H Jre┆
0x4ccc8…4cd50 (72, 0, 9) UnusedSector ┆ H01F 0E40 84 LD C,ASIO1 0021 81 85 ADD A,C ;LOAD ERROR CODE 0022 CD0000 X 86 CALL DETECT ;JUM H H ┆
0x4cd50…4cdd8 (72, 0, 10) UnusedSector ┆ H OUT (C),E ;LOAD FIRST CHARACER INC C INC C IN L,(C) BIT 2,L JP NZ,SIOERR ;IF TRANSMIT BUFFER EMPTY THEN ERROR LD L,5 O H H ┆
0x4cdd8…4ce60 (72, 0, 11) UnusedSector ┆ H 65 *L ON 66 GLOBAL T1SIO,T1TXRX,TSIO1,TSIO2 67 EXTERNAL DETECT H H% ┆
0x4ce60…4cee8 (72, 0, 12) UnusedSector ┆ H105 CALL DETECT ;JUMP TO ERROR ROUTINE 106 004A E5 107 T1SIO PUSH HL 004B 59 108 H H E┆
0x4cee8…4cf70 (72, 0, 13) UnusedSector ┆ H TSIO PAGE 2 LOC OBJ CODE M STMT SOURCE STATEMENT ASM 5.9 005F H H) ┆
0x4cf70…4cff8 (72, 0, 14) UnusedSector ┆ HP TO ERROR ROUTINE 87 0025 DB71 88 TSIO2 IN A,(APIO1+1) 0027 E6FD 89 AND 11111101B H H &┆
0x4cff8…4d080 (72, 0, 15) UnusedSector ┆ HUT (C),L SET 3,A OUT (C),A ;ENABLE TX DEC C DEC C LOOP2 INC C ;DO INC C ; LD B,0 ; WAIT1 DJNZ WAIT1 ; LD B,50 ; H HMC┆
0x4d080…4d108 (72, 0, 16) UnusedSector ┆ H 68 0000 DB71 69 TSIO1 IN A,(APIO1+1) 0002 E6FE 70 AND 11111110B ;SET LOOP1 0004 D371 H H ┆
0x4d108…4d190 (72, 0, 17) UnusedSector ┆ H LD E,C ;SAVE SIO BASE ADDRESS 004C 0C 109 INC C 004D 0C 110 INC C 004E 3E18 111 LD A,18 H HC ┆
0x4d190…4d218 (72, 0, 18) UnusedSector ┆ HED79 120 OUT (C),A 0061 ED78 121 IN A,(C) ; READ INTERRUPT VECTOR 0063 AC 122 XOR H 0064 E6 H Hu ┆
0x4d218…4d2a0 (72, 0, 19) UnusedSector ┆ H ;SET LOOP2 0029 D371 90 OUT (APIO1+1),A 002B 210600 91 LD HL,6 002E 0E30 92 LD C,ATIM2 ;SET H H F┆
0x4d2a0…4d328 (72, 0, 20) UnusedSector ┆ HDELAY 1 MILLI SEC. WAIT2 DJNZ WAIT2 ; LD L,1 ; OUT (C),L ; IN L,(C) ; BIT 0,L ; LD B,5 ; JR Z,SIOERR ; IF CHARACTER H H ┆
0x4d328…4d3b0 (72, 0, 21) UnusedSector ┆ H 71 OUT (APIO1+1),A 0006 210600 72 LD HL,6 0009 0E10 73 LD C,ATIM1 ;SET CLOCK 1,2 = 333 KHZ 000 H Hg ┆
0x4d3b0…4d438 (72, 0, 22) UnusedSector ┆ HH 0050 ED79 112 OUT (C),A ;RESET CHANNEL A 0052 0C 113 INC C 0053 ED79 114 OUT (C),A ;RESET H H6 ┆
0x4d438…4d4c0 (72, 0, 23) UnusedSector ┆ HF0 123 AND 0F0H 0066 2054 124 JR NZ,S1ERROR ; JUMP IF I/O ERROR 0068 CB0C 125 RRC H 006A 10ED H H4 ┆
0x4d4c0…4d548 (72, 0, 24) UnusedSector ┆ HCLOCK 1,2 = 333 KHZ 0030 ED69 93 OUT (C),L 0032 ED61 94 OUT (C),H 0034 0E31 95 LD C,ATIM2+1 H H Z┆
0x4d548…4d5d0 (72, 0, 25) UnusedSector ┆ H NOT SENT THEN ERROR IN L,(C) ; BIT 2,L ; JR Z,SIOERR ; IF NO TX-CLOCK THEN ERROR BIT 0,L ; LD B,6 ; JR Z,SIOERR ; I H H ┆
0x4d5d0…4d658 (72, 0, 26) UnusedSector ┆ HB ED69 74 OUT (C),L 000D ED61 75 OUT (C),H 000F 0E11 76 LD C,ATIM1+1 0011 ED69 77 H H M┆
0x4d658…4d6e0 (72, 0, 27) UnusedSector ┆ H CHANNEL B 0055 0604 115 LD B,4 0057 2680 116 LD H,80H ;FOR BIT 7 TO 4 0059 3E02 117 S1LOOP LD H H ┆
0x4d6e0…4d768 (72, 0, 28) UnusedSector ┆ H 126 DJNZ S1LOOP ;NEXT BIT 006C 4B 127 LD C,E ;RESTORE SIO BASE ADDRESS 006D 0C 128 INC C 00 H H d┆
0x4d768…4d7f0 (72, 0, 29) UnusedSector ┆ H0036 ED69 96 OUT (C),L 0038 ED61 97 OUT (C),H 003A 0E50 98 LD C,ASIO2 003C 210010 99 H H ┆
0x4d7f0…4d878 (72, 0, 30) UnusedSector ┆ HF CHARACTER NOT RECEIVED THEN ERROR DEC C ; DEC C ; IN A,(C) ; GET RECEIVED CHARACTER CP E ; LD B,7 ; JR NZ,SIOERR ; H H( ┆
0x4d878…4d900 (72, 0, 31) UnusedSector ┆ H OUT (C),L 0013 ED61 78 OUT (C),H 0015 0E40 79 LD C,ASIO1 0017 210010 80 LD HL,RAMSTA 001A H H ┆
0x4d900…4d988 (73, 0, 0) UnusedSector ┆ I 216 LD L,5 00FA ED69 217 OUT (C),L 00FC CBDF 218 SET 3,A ;ENABLE TX 00FE ED79 219 OUT I J ┆
0x4d988…4da10 (73, 0, 1) UnusedSector ┆ I 0C 170 INC C 00B4 ED69 171 OUT (C),L ;RESET CHANNEL B 00B6 FE55 172 CP 55H 00B8 2006 I I%Z┆
0x4da10…4da98 (73, 0, 2) UnusedSector ┆ I03 00E4 ED68 204 IN L,(C) 00E6 CB55 205 BIT 2,L 00E8 2852 206 JR Z,TR14ERR ;JUMP IF TRANSMIT I I ┆
0x4da98…4db20 (73, 0, 3) UnusedSector ┆ IESS 0093 23 150 INC HL 0094 72 151 LD (HL),D 0095 3E01 152 LD A,1 0097 ED79 153 I I ┆
0x4db20…4dba8 (73, 0, 4) UnusedSector ┆ I 187 ;----------------------------------------------------------------------------- 00C8 3E18 188 T1TXRX LD I I ┆
0x4dba8…4dc30 (73, 0, 5) UnusedSector ┆ I A 0073 2049 132 JR NZ,S2ERROR ;RETURN ON CHANNEL A ERROR 0075 0C 133 INC C 0076 CDC800 R 134 CAL H I ┆
0x4dc30…4dcb8 (73, 0, 6) UnusedSector ┆ I 173 JR NZ,S3ERROR 00BA AF 174 XOR A 00BB C9 175 RET ;RETURN ON TEST COMPLETED 00BC 3E01 I I y┆
0x4dcb8…4dd40 (73, 0, 7) UnusedSector ┆ I m i> y. i>` y h U(R & a h U D. i y 2 . i h E() h U(# E(" x $( a . i x p > > > I" ┆
0x4dd40…4ddc8 (73, 0, 8) UnusedSector ┆ IOUT (C),A 0099 3E1C 154 LD A,00011100B ;ENABLE RX INTERRUPT 009B ED79 155 OUT (C),A 009D 0D 156 I I ┆
0x4ddc8…4de50 (73, 0, 9) UnusedSector ┆ I A,18H 00CA ED79 189 OUT (C),A ;RESET CHANNEL 00CC 2E04 190 LD L,4 00CE ED69 191 OUT (C),L 00D I I y┆
0x4de50…4ded8 (73, 0, 10) UnusedSector ┆ IL T1TXRX ;DO CHANNEL B TRANSMISSIONS TEST 0079 A7 135 AND A 007A 2805 136 JR Z,T1NEXT 007C 0604 I Ik ┆
0x4ded8…4df60 (73, 0, 11) UnusedSector ┆ I176 S1ERROR LD A,1 ;RETURN ON I/O ERROR 00BE E1 177 S2ERROR POP HL TSIO I I ┆
0x4df60…4dfe8 (73, 0, 12) UnusedSector ┆ I C > W. i>` y h U(R & a h U D. i y 2 . i h E() h U(# E(" x $( a . i x p > > > I ┆
0x4dfe8…4e070 (73, 0, 13) UnusedSector ┆ I DEC C 009E 0D 157 DEC C 009F 3E55 158 LD A,55H 00A1 ED79 159 OUT (C),A ;TRANSMIT CHARACTE I I ┆
0x4e070…4e0f8 (73, 0, 14) UnusedSector ┆ I0 3E47 192 LD A,01000111B ; *16 CLOCK 193 ; 1 STOP BIT 00D2 ED79 194 OUT (C),A I I _┆
0x4e0f8…4e180 (73, 0, 15) UnusedSector ┆ I 137 LD B,4 007E 80 138 ADD A,B ;RETURN ON CHANNEL B ERROR 007F 183D 139 JR S2ERROR 0081 E1 I I ┆
0x4e180…4e208 (73, 0, 16) UnusedSector ┆ I PAGE 3 LOC OBJ CODE M STMT SOURCE STATEMENT ASM 5.9 00BF C9 178 R I I ┆
0x4e208…4e290 (73, 0, 17) UnusedSector ┆ I BUFFER NOT EMPTY 00EA 0D 207 DEC C 00EB 0D 208 DEC C 00EC 2601 209 LD H,01H ;LOAD FIRST C I IW ┆
0x4e290…4e318 (73, 0, 18) UnusedSector ┆ IR 00A3 AF 160 XOR A 00A4 FB 161 EI 00A5 0600 162 LD B,0 00A7 10FE 163 TWAIT1 DJNZ I II#┆
0x4e318…4e3a0 (73, 0, 19) UnusedSector ┆ I; EVEN PARITY 00D4 2E03 195 LD L,3 00D6 ED69 196 OUT (C),L 00D8 3EC1 197 LD A,11000001B ; 8 R I I:L┆
0x4e3a0…4e428 (73, 0, 20) UnusedSector ┆ I 140 T1NEXT POP HL 0082 7C 141 LD A,H 0083 ED47 142 LD I,A 0085 3E02 143 LD A,2 0087 ED7 I I >┆
0x4e428…4e4b0 (73, 0, 21) UnusedSector ┆ IET 00C0 3E02 179 S3ERROR LD A,2 ;RETURN ON INTERRUPT ERROR 00C2 C9 180 RET 181 I IRs┆
0x4e4b0…4e538 (73, 0, 22) UnusedSector ┆ IHARACTER 00EE ED61 210 OUT (C),H 00F0 0C 211 INC C 00F1 0C 212 INC C 00F2 ED68 213 I I ┆
0x4e538…4e5c0 (73, 0, 23) UnusedSector ┆ I TWAIT1 00A9 0632 164 LD B,50 ;WAIT 1 MILLI SEC. 00AB 10FE 165 TWAIT2 DJNZ TWAIT2 00AD F3 166 I Iz ┆
0x4e5c0…4e648 (73, 0, 24) UnusedSector ┆ IX BIT/CHAR 00DA ED79 198 OUT (C),A ; RX ENABLED 00DC 2E05 199 LD L,5 00DE ED69 200 OUT (C),L I I% ┆
0x4e648…4e6d0 (73, 0, 25) UnusedSector ┆ I9 144 OUT (C),A 0089 ED69 145 OUT (C),L ;LOAD INTERRUPT VECTOR 008B 110400 146 LD DE,4 008E 19 I I ┆
0x4e6d0…4e758 (73, 0, 26) UnusedSector ┆ I 182 ;----------------------------------------------------------------------------- 00C3 ED78 183 RXIN I I h┆
0x4e758…4e7e0 (73, 0, 27) UnusedSector ┆ I IN L,(C) 00F4 CB55 214 BIT 2,L 00F6 2044 215 JR NZ,TR14ERR ;JUMP IF TRANSMIT BUFFER EMPTY 00F8 2E05 I I5 ┆
0x4e7e0…4e868 (73, 0, 28) UnusedSector ┆ I DI 00AE 0C 167 INC C 00AF 2E18 168 LD L,18H 00B1 ED69 169 OUT (C),L ;RESET CHANNEL A 00B3 I ISZ┆
0x4e868…4e8f0 (73, 0, 29) UnusedSector ┆ I00E0 3E60 201 LD A,01100000B ; 8 TX BIT/CHAR 00E2 ED79 202 OUT (C),A ; TX DISABLED 2 I I. ┆
0x4e8f0…4e978 (73, 0, 30) UnusedSector ┆ I 147 ADD HL,DE 008F 11C300 R 148 LD DE,RXINT 0092 73 149 LD (HL),E ;LOAD RX INTERRUPT ROUTINE ADDR I IY ┆
0x4e978…4ea00 (73, 0, 31) UnusedSector ┆ IT IN A,(C) ;GET RECEIVED CHARACTER 00C5 FB 184 EI 00C6 ED4D 185 RETI 186 I I5 ┆
0x4ea00…4ea88 (74, 0, 0) UnusedSector ┆ JBYTECOUNT =< 4 ;* CY = 1 IF TX BYTECOUNT > 4 ;* ;* DESTROY : A,F,B,C,D,E,H,L ;******************************************** J J ┆
0x4ea88…4eb10 (74, 0, 1) UnusedSector ┆ J 254 RET ;RETURN ON TEST COMPLETED 013C 3E04 255 TR14ERR LD A,4 ;RETURN ON TRANSMIT ERROR 013E C9 J J ┆
0x4eb10…4eb98 (74, 0, 2) UnusedSector ┆ J : THE ROUTINE SAVES RECEIVED CHARACTER IN BUFFER AND ;* INCREMENTS RX BYTECOUNT IN BUFFER, ;* INCREMENTS TX CHAR.POINT J J ┆
0x4eb98…4ec20 (74, 0, 3) UnusedSector ┆ J ASM 5.9 011C CB45 236 BIT 0,L 011E 2822 237 JR Z,TR16ERR ;JUMP IF CHARACTER NOT J J_ ┆
0x4ec20…4eca8 (74, 0, 4) UnusedSector ┆ J******************** NEXTCHA LD L,(IY+0EH) LD H,(IY+0FH) LD (HL),A ;SAVE RECEIVED CHARACTER INC HL LD A,(HL) ;GET NEXT C J K ┆
0x4eca8…4ed30 (74, 0, 5) UnusedSector ┆ J(C),A 0100 0D 220 DEC C 0101 0D 221 DEC C 0102 0C 222 TR1LOOP INC C ;FOR BIT = 7 TO 0 010 I J ┆
0x4ed30…4edb8 (74, 0, 6) UnusedSector ┆ J 256 RET 013F 3E05 257 TR15ERR LD A,5 ;RETURN ON TRANSMIT CLOCK ERROR 0141 C9 258 RET 0142 3E06 J JoJ┆
0x4edb8…4ee40 (74, 0, 7) UnusedSector ┆ J(C) AND 70H LD B,7 JR Z,SIOOK ;IF TRANSMISSION COMPLETED THEN EXIT SIOERR LD A,(IY+14H) ;GET SIO BASE ADDRESS ADD A,B ;G H J, ┆
0x4ee40…4eec8 (74, 0, 8) UnusedSector ┆ JRECEIVED 0120 0D 238 DEC C 0121 0D 239 DEC C 0122 ED78 240 IN A,(C) 0124 BC 241 J J ┆
0x4eec8…4ef50 (74, 0, 9) UnusedSector ┆ J********************************* CHINIT LD E,(IY+12H) ;GET BUFFER ADDRESS LD D,(IY+13H) LD HL,BCOFF ADD HL,DE LD C,(HL) J J ┆
0x4ef50…4efd8 (74, 0, 10) UnusedSector ┆ J3 0C 223 INC C 0104 0600 224 LD B,0 0106 10FE 225 TWAIT3 DJNZ TWAIT3 0108 0632 226 J J )┆
0x4efd8…4f060 (74, 0, 11) UnusedSector ┆ J 259 TR16ERR LD A,6 ;RETURN ON RECEIVE ERROR 0144 C9 260 RET 0145 3E07 261 TR17ERR LD A,7 ;RETUR J JS ┆
0x4f060…4f0e8 (74, 0, 12) UnusedSector ┆ JET ERROR CODE SIOOK LD E,(IY+12H) LD D,(IY+13H) LD HL,BUFFHEAD+ERROFF ADD HL,DE LD (HL),A ;SAVE ERROR CODE IN BUFFER LOOPOU J J 2┆
0x4f0e8…4f170 (74, 0, 13) UnusedSector ┆ J CP H 0125 201E 242 JR NZ,TR17ERR ;JUMP IF RX CHAR. NOT EQUAL TX CHAR. 0127 CB24 243 SLA H ;NEXT BIT 012 J J ┆
0x4f170…4f1f8 (74, 0, 14) UnusedSector ┆ JINC HL ;GET TX BYTECOUNT LD B,(HL) PUSH HL XOR A LD HL,4 SBC HL,BC POP HL RET NC ;IF TX BYTECOUNT =< 6 THEN EXIT LD (H J J& ┆
0x4f1f8…4f280 (74, 0, 15) UnusedSector ┆ JLD B,50 ;WAIT 1 MILLI SEC. 010A 10FE 227 TWAIT4 DJNZ TWAIT4 010C 2E01 228 LD L,1 010E ED69 229 J Jf@┆
0x4f280…4f308 (74, 0, 16) UnusedSector ┆ JN ON TRANSMISSIONS ERROR 0147 C9 262 RET PT VECTOR 005D ED61 119 OUT (C),H J & ┆
0x4f308…4f390 (74, 0, 17) UnusedSector ┆ JT IN A,(APIO1+1) RES 4,A OUT (APIO1+1),A ;TURN OFF TEST LED RET ;ECHO ;**************************************************** J J ┆
0x4f390…4f418 (74, 0, 18) UnusedSector ┆ J9 2804 244 JR Z,TR1END 012B ED61 245 OUT (C),H 012D 18D3 246 JR TR1LOOP 012F 0C 247 J JY6┆
0x4f418…4f4a0 (74, 0, 19) UnusedSector ┆ JL),0 DEC HL LD (HL),4 ;INITIALIZE RX BYTECOUNT := 4 LD HL,BUFFHEAD+DATOFF ADD HL,DE LD (IY+0EH),L LD (IY+0FH),H ;SAVE NEW J J ┆
0x4f4a0…4f528 (74, 0, 20) UnusedSector ┆ JOUT (C),L 0110 ED68 230 IN L,(C) 0112 CB45 231 BIT 0,L 0114 2829 232 JR Z,TR15ERR ;JUMP IF CHAR J J ┆
0x4f528…4f5b0 (74, 0, 21) UnusedSector ┆ JER AND DECREMENTS TX BYTE- ;* COUNT IN CHAN.TABLE AND GETS NEXT CHAR. TO TRANSMIT ;* ;* ENTRY : A = RECEIVED CHARACTER ;* J J ┆
0x4f5b0…4f638 (74, 0, 22) UnusedSector ┆ J************************ ;* PROCEDURE NAME : CHINIT ;* ;* DESCRIPTION : THE ROUTINE INITIALIZES TX CHAR.POINTER AND TX BY- ;* J J ┆
0x4f638…4f6c0 (74, 0, 23) UnusedSector ┆ J TR1END INC C 0130 0C 248 INC C 0131 2E01 249 LD L,1 0133 ED69 250 OUT (C),L 0135 ED78 J J ┆
0x4f6c0…4f748 (74, 0, 24) UnusedSector ┆ J CHARACTER POINTER DEC BC DEC BC DEC BC DEC BC LD (IY+10H),C LD (IY+11H),B ;SAVE NEW TX BYTECOUNT XOR A CCF RET ;ECHO J J 7┆
0x4f748…4f7d0 (74, 0, 25) UnusedSector ┆ JACTER NOT SENT 0116 ED68 233 IN L,(C) 0118 CB55 234 BIT 2,L 011A 2823 235 JR Z,TR15ERR ;JUMP IF J J ┆
0x4f7d0…4f858 (74, 0, 26) UnusedSector ┆ J IY = ADDRESS OF CHANNEL TABLE ;* ;* EXIT : Z = 0 IF MORE CHARACTERS TO TRANSMIT ;* E = CHARACTER TO TRANSMIT ;* ;* J J k┆
0x4f858…4f8e0 (74, 0, 27) UnusedSector ┆ J TECOUNT IN CHANNEL TABLE AND RX BYTECOUNT IN BUFFER ;* ;* ENTRY : IY = ADDRESS OF CHANNEL TABLE ;* ;* EXIT : CY = 0 IF TX J JA ┆
0x4f8e0…4f968 (74, 0, 28) UnusedSector ┆ J 251 IN A,(C) 0137 E670 252 AND 70H 0139 200A 253 JR NZ,TR17ERR ;JUMP IF TRANSMISSIONS ERROR 013B C9 J J ┆
0x4f968…4f9f0 (74, 0, 29) UnusedSector ┆ J ;****************************************************************************** ;* PROCEDURE NAME : NEXTCHA ;* ;* DESCRIPTION J J m┆
0x4f9f0…4fa78 (74, 0, 30) UnusedSector ┆ J NO TX-CLOCK TSIO PAGE 4 LOC OBJ CODE M STMT SOURCE STATEMENT J J ┆
0x4fa78…4fb00 (74, 0, 31) UnusedSector ┆ JZ = 1 IF NO MORE CHARACTERS TO TRANSMIT ;* ;* DESTROY : A,F,D,E,H,L ;********************************************************** J J ┆
0x4fb00…4fb88 (75, 0, 0) UnusedSector ┆ KSEND ERROR BUFFER TO CR80 CALL P,PUTBUF ; RETURN BUFFER TO EMPTY QUEUE RET ;FI ;ECHO K ┆
0x4fb88…4fc10 (75, 0, 1) UnusedSector ┆ K UPDATE BYTE COUNT IN BUFFER INC HL ; LD (HL),0 ; LD HL,BUFFHEAD+TRAOFF ADD HL,DE ; PUSH HL ; SAVE DATA START ADDRESS K K c┆
0x4fc10…4fc98 (75, 0, 2) UnusedSector ┆ K SIO ;FI CH31 CALL OVLDET ;IF NOT OVERLOAD THEN CALL M,PUTMES ;RETURN BUFFER TO CR80 ELSE CALL P,PUTBUF ;RETURN BUFFER TO K K~ ┆
0x4fc98…4fd20 (75, 0, 3) UnusedSector ┆ KDO LD (HL),A ; LOAD ERROR CODE IN BUFFER INC HL ; LD (HL),0 ; INC HL ; NEXT ADDRESS IN BUFFER DEC DE ; NEXT A K KV ┆
0x4fd20…4fda8 (75, 0, 4) UnusedSector ┆ KFFER THEN CALL LOOPTST ; LOOP BUFFER IN SIO ;FI CH11 CALL OVLDET ;IF NOT OVERLOAD THEN CALL M,PUTMES ;RETURN BUFFER TO K KQ ┆
0x4fda8…4fe30 (75, 0, 5) UnusedSector ┆ KHARACTER LD (IY+0EH),L LD (IY+0FH),H ;SAVE NEW CHARACTER POINTER LD E,(IY+12H) LD D,(IY+13H) LD HL,BCOFF ADD HL,DE INC (H J K ┆
0x4fe30…4feb8 (75, 0, 6) UnusedSector ┆ K;**************************************************************************** ;* PROCESS NAME : CHXPROC ;* ;* DESCRIPTION : TH K {┆
0x4feb8…4ff40 (75, 0, 7) UnusedSector ┆ K EMPTY QUEUE CALL SRELEASE ;SCHEDULE JR CH3PROC CH4PROC LD IY,CHA4TAB CALL GETMES ;GET BUFFER FROM CR80 LD HL,BUFFHEAD+ K K B┆
0x4ff40…4ffc8 (75, 0, 8) UnusedSector ┆ KAD THEN CALL M,PUTMES ;RETURN BUFFER TO CR80 ELSE CALL P,PUTBUF ;RETURN BUFFER TO EMPTY QUEUE CALL SRELEASE ;SCHEDULE JR CH4 KU ┆
0x4ffc8…50050 (75, 0, 9) UnusedSector ┆ KCR80 ELSE CALL P,PUTBUF ;RETURN BUFFER TO EMPTY QUEUE CALL SRELEASE ;SCHEDULE JR CH1PROC CH2PROC LD IY,CHA2TAB CALL GETM K K ┆
0x50050…500d8 (75, 0, 10) UnusedSector ┆ KL) JR NZ,NEXT1 ;INCREMENT RX BYTECOUNT INC HL INC (HL) NEXT1 LD E,A LD L,(IY+10H) LD H,(IY+11H) DEC HL ;DECREMENT TX BYTE K Kgj┆
0x500d8…50160 (75, 0, 11) UnusedSector ┆ KE PROCESS GETS A MESSAGE BUFFER FROM CR80. ;* IF IT IS A LOOP BUFFER, THE CONTENT IS LOOPED ON THE ;* SIO AND RETURNED T K K E┆
0x50160…501e8 (75, 0, 12) UnusedSector ┆ KTRAOFF ADD HL,DE LD A,(HL) CP MODE1 JR NZ,CH41 ;IF MODE 1-BUFFER THEN CALL LOOPTST ; LOOP BUFFER IN SIO ;FI CH41 CAL K K ┆
0x501e8…50270 (75, 0, 13) UnusedSector ┆ KPROC ;----------------------------------------------------------------------------- ERRSEN LD A,(IY+00H) CP 1 JR Z,NEXT1 K KVr┆
0x50270…502f8 (75, 0, 14) UnusedSector ┆ KES ;GET BUFFER FROM CR80 LD HL,BUFFHEAD+TRAOFF ADD HL,DE LD A,(HL) CP MODE1 JR NZ,CH21 ;IF MODE 1-BUFFER THEN CALL LOOPT K K ┆
0x502f8…50380 (75, 0, 15) UnusedSector ┆ KCOUNT LD A,L OR H RET Z ;IF TX BYTECOUNT = 0 THEN EXIT LD (IY+10H),L LD (IY+11H),H ;SAVE NEW TX BYTECOUNT RET ;ECHO K ~┆
0x50380…50408 (75, 0, 16) UnusedSector ┆ KO CR80 WITH PROPER ERROR CODE ;* IF IT IS NOT A LOOP BUFFER,IT IS RETURNED TO CR80 ;* IMMEDIATELY ;********************* K Kn ┆
0x50408…50490 (75, 0, 17) UnusedSector ┆ KL OVLDET ;IF NOT OVERLOAD THEN CALL M,PUTMES ;RETURN BUFFER TO CR80 ELSE CALL P,PUTBUF ;RETURN BUFFER TO EMPTY QUEUE CALL SR K K D┆
0x50490…50518 (75, 0, 18) UnusedSector ┆ K;IF CHANNEL IS NOT INITIALIZED THEN WAIT PUSH IY CALL SRELEASE POP IY JR ERRSEN NEXT1 LD HL,SRAME LD A,(HL) AND A RET Z K K M┆
0x50518…505a0 (75, 0, 19) UnusedSector ┆ KST ; LOOP BUFFER IN SIO ;FI CH21 CALL OVLDET ;IF NOT OVERLOAD THEN CALL M,PUTMES ;RETURN BUFFER TO CR80 ELSE CALL P,PUT K K ┆
0x505a0…50628 (75, 0, 20) UnusedSector ┆ K LD HL,TSAOFF ; ADD HL,DE ; POP BC ; LD (HL),C ; INC HL ; LD (HL),B ; UPDATE DATASTART ADDRESS IN BUFFER LD L,C ; K Kw ┆
0x50628…506b0 (75, 0, 21) UnusedSector ┆ K********************************************************* *INCLUDE CONSTANT.S GLOBAL CH1PROC,CH2PROC,CH3PROC,CH4PROC EXTERNA K K ┆
0x506b0…50738 (75, 0, 22) UnusedSector ┆ KELEASE ;SCHEDULE JR CH4PROC K O┆
0x50738…507c0 (75, 0, 23) UnusedSector ┆ K;IF NO ERROR MESSAGES TO BE SEND THEN EXIT LD L,(IY+08H) ;GET ADDRESS OF EMPTY BUFFER QUEUE LD H,(IY+09H) CALL SUBDEQ JR NC, K K ┆
0x507c0…50848 (75, 0, 24) UnusedSector ┆ KBUF ;RETURN BUFFER TO EMPTY QUEUE CALL SRELEASE ;SCHEDULE JR CH2PROC CH3PROC LD IY,CHA3TAB CALL GETMES ;GET BUFFER FROM K K| ┆
0x50848…508d0 (75, 0, 25) UnusedSector ┆ K LD H,B ; POP BC ; GET ERROR BYTECOUNT PUSH DE ; SAVE BUFFER ADDRESS LD (HL),MODE0 ; UPDATE OPCODE IN BUFFER INC HL ; K K C┆
0x508d0…50958 (75, 0, 26) UnusedSector ┆ KL CHA1TAB,CHA2TAB,CHA3TAB,CHA4TAB EXTERNAL GETMES,OVLDET,PUTMES,PUTBUF,SRELEASE EXTERNAL LOOPTST MODE1 EQU 01H CH1PROC LD K K?R┆
0x50958…509e0 (75, 0, 27) UnusedSector ┆ KDDRESS OF ERROR CODES DJNZ NEXT2 ; OD POP DE ; GET BUFFER ADDRESS CALL OVLDET ; IF NOT OVERLOAD THEN CALL M,PUTMES ; K KP ┆
0x509e0…50a68 (75, 0, 28) UnusedSector ┆ KERRSEN ;IF BUFFER IN EMPTY QUEUE THEN LD A,(SRAME) ; PUSH AF ; INC A ; RLCA ; LD HL,BCOFF ; ADD HL,DE ; LD (HL),A ; K K ┆
0x50a68…50af0 (75, 0, 29) UnusedSector ┆ KCR80 LD HL,BUFFHEAD+TRAOFF ADD HL,DE LD A,(HL) CP MODE1 JR NZ,CH31 ;IF MODE 1-BUFFER THEN CALL LOOPTST ; LOOP BUFFER IN K K i┆
0x50af0…50b78 (75, 0, 30) UnusedSector ┆ K LD (HL),0 ; INC HL ; LD DE,SRAME-1 ; GET ERROR CODE START(END) ADDRESS ; FOR NO. OF ERROR CODES NEXT2 LD A,(DE) ; K K V┆
0x50b78…50c00 (75, 0, 31) UnusedSector ┆ KIY,CHA1TAB CALL GETMES ;GET BUFFER FROM CR80 LD HL,BUFFHEAD+TRAOFF ADD HL,DE LD A,(HL) CP MODE1 JR NZ,CH11 ;IF MODE 1-BU K K K┆
0x50c00…50c88 (76, 0, 0) UnusedSector ┆ L R 99 CALL ERRSEN ;IF CHAN. INITIALIZED, SEND ERROR MESS. IF ANY 002B CD0000 X 100 CALL GETMES ;GET BUFFER FROM CR L ┆
0x50c88…50d10 (76, 0, 1) UnusedSector ┆ LIS RETURNED TO CR80 8 ;* IMMEDIATELY 9 ;**************************************** L L ┆
0x50d10…50d98 (76, 0, 2) UnusedSector ┆ L M t - 2 ? L t┆
0x50d98…50e20 (76, 0, 3) UnusedSector ┆ LAD+TRAOFF 000D 19 86 ADD HL,DE 000E 7E 87 LD A,(HL) 000F FE02 88 CP MODE2 0011 2003 L L2 ┆
0x50e20…50ea8 (76, 0, 4) UnusedSector ┆ L$ $ ( + . 1 2 t 3 o 5 7 : : = @ C F L L0 ┆
0x50ea8…50f30 (76, 0, 5) UnusedSector ┆ LBUFFSIZE) ; *L ON 3 ?Z┆
0x50f30…50fb8 (76, 0, 6) UnusedSector ┆ L L ┆
0x50fb8…51040 (76, 0, 7) UnusedSector ┆ L O m` c c < ! ~ 2 ( ! F < ! ~ 2 ( ~ ( 3 w ┆
0x51040…510c8 (76, 0, 8) UnusedSector ┆ L CHX.PROC PAGE 1 LOC OBJ CODE M STMT SOURCE STATEMENT 3 L e┆
0x510c8…51150 (76, 0, 9) UnusedSector ┆ LH H L O R U V t W o Y [ ^ ^ a d g j L L ┆
0x51150…511d8 (76, 0, 10) UnusedSector ┆ L************************************** 10 *INCLUDE CONST.S 75 *L ON L L [┆
0x511d8…51260 (76, 0, 11) UnusedSector ┆ L L L )┆
0x51260…512e8 (76, 0, 12) UnusedSector ┆ L 89 JR NZ,CH11 ;IF MODE 2-BUFFER THEN 0013 CD0000 X 90 CALL LOOPTST ; LOOP BUFFER IN SIO 9 L L1 ┆
0x512e8…51370 (76, 0, 13) UnusedSector ┆ L ASM 5.9 1 ;**************************************************************************** L L\ ┆
0x51370…513f8 (76, 0, 14) UnusedSector ┆ Ll l p s v y z t { o } L L ┆
0x513f8…51480 (76, 0, 15) UnusedSector ┆ L 76 77 GLOBAL CH1PROC,CH2PROC,CH3PROC,CH4PROC 78 EXTERNAL CHA1TAB,CHA2TAB,CHA3TA L L ┆
0x51480…51508 (76, 0, 16) UnusedSector ┆ L L L_ ┆
0x51508…51590 (76, 0, 17) UnusedSector ┆ L1 ;FI 0016 CD0000 X 92 CH11 CALL OVLDET ;IF NOT OVERLOAD THEN 0019 FC0000 X 93 CALL M,PUTMES ;RETURN BUFFER L L 8┆
0x51590…51618 (76, 0, 18) UnusedSector ┆ L 2 ;* PROCESS NAME : CHXPROC 3 ;* 4 ;* DESCRIPTION : THE PROCESS G L L: ┆
0x51618…516a0 (76, 0, 19) UnusedSector ┆ L o V W t ! B L L ┆
0x516a0…51728 (76, 0, 20) UnusedSector ┆ LB,CHA4TAB 79 EXTERNAL GETMES,OVLDET,PUTMES,PUTBUF,SRELEASE 80 EXTERNAL SUBDEQ,LOOPTS L L ┆
0x51728…517b0 (76, 0, 21) UnusedSector ┆ L L L {┆
0x517b0…51838 (76, 0, 22) UnusedSector ┆ L TO CR80 ELSE 001C F40000 X 94 CALL P,PUTBUF ;RETURN BUFFER TO EMPTY QUEUE 001F CD0000 X 95 CALL SRELEASE ;SCHED L L E┆
0x51838…518c0 (76, 0, 23) UnusedSector ┆ LETS A MESSAGE BUFFER FROM CR80. 5 ;* IF IT IS A LOOP BUFFER, THE CONTENT IS LOOPED ON THE L L ┆
0x518c0…51948 (76, 0, 24) UnusedSector ┆ L } ) : t - M t L L ┆
0x51948…519d0 (76, 0, 25) UnusedSector ┆ LT 81 0000 FD210000 X 82 CH1PROC LD IY,CHA1TAB 0004 CD9000 R 83 CALL ERRSEN ;IF CHAN. INITIA L L ┆
0x519d0…51a58 (76, 0, 26) UnusedSector ┆ L L L ┆
0x51a58…51ae0 (76, 0, 27) UnusedSector ┆ LULE 0022 18DC 96 JR CH1PROC 97 0024 FD210000 X 98 CH2PROC LD IY,CHA2TAB 0028 CD9000 L L ┆
0x51ae0…51b68 (76, 0, 28) UnusedSector ┆ L 6 ;* SIO AND RETURNED TO CR80 WITH PROPER ERROR CODE 7 ;* IF IT IS NOT A LOOP BUFFER,IT L L ┆
0x51b68…51bf0 (76, 0, 29) UnusedSector ┆ L t - t M t - M t - s t - L L b┆
0x51bf0…51c78 (76, 0, 30) UnusedSector ┆ LLIZED, SEND ERROR MESS. IF ANY 0007 CD0000 X 84 CALL GETMES ;GET BUFFER FROM CR80 000A 210F00 85 LD HL,BUFFHE L Lk ┆
0x51c78…51d00 (76, 0, 31) UnusedSector ┆ L t o " L L G┆
0x51d00…51d88 (77, 0, 0) UnusedSector ┆ M ' % ┆
0x51d88…51e10 (77, 0, 1) UnusedSector ┆ M ' 5 ┆
0x51e10…51e98 (77, 0, 2) UnusedSector ┆ M ' *┆
0x51e98…51f20 (77, 0, 3) UnusedSector ┆ M ' =┆
0x51f20…51fa8 (77, 0, 4) UnusedSector ┆ M ' eX┆
0x51fa8…52030 (77, 0, 5) UnusedSector ┆ M ' uO┆
0x52030…520b8 (77, 0, 6) UnusedSector ┆ M ' Ev┆
0x520b8…52140 (77, 0, 7) UnusedSector ┆ M ' Ua┆
0x52140…521c8 (77, 0, 8) UnusedSector ┆ M ' ┆
[…0x7…]
0x52580…52608 (77, 0, 16) UnusedSector ┆ M ' q┆
0x52608…52690 (77, 0, 17) UnusedSector ┆ M ' f┆
0x52690…52718 (77, 0, 18) UnusedSector ┆ M ' _┆
0x52718…527a0 (77, 0, 19) UnusedSector ┆ M ' H┆
0x527a0…52828 (77, 0, 20) UnusedSector ┆ M ' -┆
0x52828…528b0 (77, 0, 21) UnusedSector ┆ M ' :┆
0x528b0…52938 (77, 0, 22) UnusedSector ┆ M ' ┆
[…0x1…]
0x529c0…52a48 (77, 0, 24) UnusedSector ┆ M ' $ ┆
0x52a48…52ad0 (77, 0, 25) UnusedSector ┆ M ' 4 ┆
0x52ad0…52b58 (77, 0, 26) UnusedSector ┆ M ' ┆
[…0x1…]
0x52be0…52c68 (77, 0, 28) UnusedSector ┆ M ' d ┆
0x52c68…52cf0 (77, 0, 29) UnusedSector ┆ M ' t ┆
0x52cf0…52d78 (77, 0, 30) UnusedSector ┆ M ' D ┆
0x52d78…52e00 (77, 0, 31) UnusedSector ┆ M ' T ┆