_  __   _  _         _ _     _      _           _           
  __| |/ /_ | || |     __| (_)___| | __ (_)_ __   __| | _____  __
 / _` | '_ \| || |_   / _` | / __| |/ / | | '_ \ / _` |/ _ \ \/ /
| (_| | (_) |__   _| | (_| | \__ \   <  | | | | | (_| |  __/>  < 
 \__,_|\___/   |_|    \__,_|_|___/_|\_\ |_|_| |_|\__,_|\___/_/\_\
                                                                 
            

RCV.MAE

FILE INFORMATION

FILENAME(S): RCV.MAE

FILE TYPE(S): SEQ

FILE SIZE: 1.5K

FIRST SEEN: 2025-11-30 21:15:11

APPEARS ON: 1 disk(s)

FILE HASH

3291ee2c74ab0f7291e5a32859ac20d62d684a47d1c3d9967962ce03f77f4864

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
TRANSACTOR DISK RCV.MAE SEQ DuncanTwain 10 0 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 30 30 31 30 20 3B 20 43  4F 50 59 52 49 47 48 54  |0010 ; COPYRIGHT|
00000010: 20 31 39 38 36 20 4A 41  43 4B 20 42 45 44 41 52  | 1986 JACK BEDAR|
00000020: 44 0D 30 30 32 30 20 2E  0D 30 30 33 30 20 3B 20  |D.0020 ..0030 ; |
00000030: 52 45 43 45 49 56 45 20  41 53 53 45 4D 42 4C 45  |RECEIVE ASSEMBLE|
00000040: 44 20 43 4F 44 45 20 56  49 41 0D 30 30 34 30 20  |D CODE VIA.0040 |
00000050: 3B 20 54 48 45 20 53 45  52 49 41 4C 20 44 41 54  |; THE SERIAL DAT|
00000060: 41 20 50 4F 52 54 2E 0D  30 30 35 30 20 2E 0D 30  |A PORT..0050 ..0|
00000070: 30 36 30 20 3B 20 52 45  43 45 49 56 45 53 20 41  |060 ; RECEIVES A|
00000080: 44 44 52 45 53 53 20 54  4F 20 53 54 4F 52 45 0D  |DDRESS TO STORE.|
00000090: 30 30 37 30 20 3B 20 28  4C 4F 57 2F 48 49 47 48  |0070 ; (LOW/HIGH|
000000A0: 29 20 41 4E 44 20 54 48  45 20 42 59 54 45 0D 30  |) AND THE BYTE.0|
000000B0: 30 38 30 20 3B 20 54 4F  20 53 54 4F 52 45 20 54  |080 ; TO STORE T|
000000C0: 48 45 52 45 2E 0D 30 30  39 30 20 2E 0D 30 31 30  |HERE..0090 ..010|
000000D0: 30 20 50 54 52 20 20 20  20 20 20 20 20 20 20 2E  |0 PTR          .|
000000E0: 44 45 20 24 46 44 0D 30  31 31 30 20 55 31 2E 49  |DE $FD.0110 U1.I|
000000F0: 4E 50 55 54 20 20 20 20  20 2E 44 45 20 24 44 43  |NPUT     .DE $DC|
00000100: 30 43 0D 30 31 32 30 20  55 31 2E 49 43 52 20 20  |0C.0120 U1.ICR  |
00000110: 20 20 20 20 20 2E 44 45  20 24 44 43 30 44 0D 30  |     .DE $DC0D.0|
00000120: 31 33 30 20 55 31 2E 43  52 41 20 20 20 20 20 20  |130 U1.CRA      |
00000130: 20 2E 44 45 20 24 44 43  30 45 0D 30 31 34 30 20  | .DE $DC0E.0140 |
00000140: 55 50 44 41 54 45 2E 39  31 20 20 20 20 2E 44 45  |UPDATE.91    .DE|
00000150: 20 24 46 36 42 43 0D 30  31 35 30 20 53 54 4F 50  | $F6BC.0150 STOP|
00000160: 20 20 20 20 20 20 20 20  20 2E 44 45 20 24 39 31  |         .DE $91|
00000170: 0D 30 31 36 30 20 2E 0D  30 31 37 30 20 4F 55 54  |.0160 ..0170 OUT|
00000180: 50 55 54 20 20 20 20 20  20 20 2E 44 45 20 25 30  |PUT       .DE %0|
00000190: 31 30 30 30 30 30 30 0D  30 31 38 30 20 53 48 49  |1000000.0180 SHI|
000001A0: 46 54 2E 52 45 47 20 20  20 20 2E 44 45 20 25 30  |FT.REG    .DE %0|
000001B0: 30 30 30 31 30 30 30 0D  30 31 39 30 20 44 49 53  |0001000.0190 DIS|
000001C0: 41 42 4C 2E 41 4C 4C 20  20 20 2E 44 45 20 25 30  |ABL.ALL   .DE %0|
000001D0: 31 31 31 31 31 31 31 0D  30 32 30 30 20 45 4E 41  |1111111.0200 ENA|
000001E0: 42 4C 45 20 20 20 20 20  20 20 2E 44 45 20 25 31  |BLE       .DE %1|
000001F0: 30 30 30 30 30 30 30 0D  30 32 31 30 20 54 49 4D  |0000000.0210 TIM|
00000200: 45 52 2E 41 20 20 20 20  20 20 2E 44 45 20 25 30  |ER.A      .DE %0|
00000210: 30 30 30 30 30 30 31 0D  30 32 32 30 20 2E 0D 30  |0000001.0220 ..0|
00000220: 32 33 30 20 20 2E 43 45  0D 30 32 34 30 20 20 2E  |230  .CE.0240  .|
00000230: 42 41 20 24 30 32 41 41  0D 30 32 35 30 20 20 2E  |BA $02AA.0250  .|
00000240: 4F 53 0D 30 32 36 30 20  2E 0D 30 32 37 30 20 20  |OS.0260 ..0270  |
00000250: 54 53 58 0D 30 32 38 30  20 20 53 54 58 20 53 41  |TSX.0280  STX SA|
00000260: 56 45 2E 53 50 0D 30 32  39 30 20 2E 0D 30 33 30  |VE.SP.0290 ..030|
00000270: 30 20 20 4C 44 41 20 23  44 49 53 41 42 4C 2E 41  |0  LDA #DISABL.A|
00000280: 4C 4C 20 20 20 20 20 20  20 20 20 3B 20 44 49 53  |LL         ; DIS|
00000290: 41 42 4C 45 20 49 4E 54  45 52 52 55 50 54 53 0D  |ABLE INTERRUPTS.|
000002A0: 30 33 31 30 20 20 53 54  41 20 55 31 2E 49 43 52  |0310  STA U1.ICR|
000002B0: 0D 30 33 32 30 20 2E 0D  30 33 33 30 20 20 4C 44  |.0320 ..0330  LD|
000002C0: 41 20 55 31 2E 43 52 41  0D 30 33 34 30 20 20 41  |A U1.CRA.0340  A|
000002D0: 4E 44 20 23 24 46 46 2D  4F 55 54 50 55 54 20 20  |ND #$FF-OUTPUT  |
000002E0: 20 20 20 20 20 20 20 3B  20 43 4C 45 41 52 20 42  |       ; CLEAR B|
000002F0: 49 54 20 36 20 4F 46 20  43 52 41 2E 2E 2E 20 53  |IT 6 OF CRA... S|
00000300: 45 52 49 41 4C 20 50 4F  52 54 20 49 4E 50 55 54  |ERIAL PORT INPUT|
00000310: 20 41 54 0D 30 33 35 30  20 20 53 54 41 20 55 31  | AT.0350  STA U1|
00000320: 2E 43 52 41 20 20 20 20  20 20 20 20 20 20 20 20  |.CRA            |
00000330: 20 20 3B 20 45 58 54 45  52 4E 41 4C 20 43 4C 4F  |  ; EXTERNAL CLO|
00000340: 43 4B 20 52 41 54 45 0D  30 33 36 30 20 2E 0D 30  |CK RATE.0360 ..0|
00000350: 33 37 30 20 4D 41 49 4E  2E 4C 4F 4F 50 0D 30 33  |370 MAIN.LOOP.03|
00000360: 38 30 20 20 4A 53 52 20  47 45 54 2E 53 44 50 20  |80  JSR GET.SDP |
00000370: 20 20 20 20 20 20 20 20  20 20 20 20 3B 20 47 45  |            ; GE|
00000380: 54 20 41 44 44 52 45 53  53 20 4F 46 20 44 41 54  |T ADDRESS OF DAT|
00000390: 41 20 42 59 54 45 0D 30  33 39 30 20 20 53 54 41  |A BYTE.0390  STA|
000003A0: 20 50 54 52 0D 30 34 30  30 20 20 4A 53 52 20 47  | PTR.0400  JSR G|
000003B0: 45 54 2E 53 44 50 0D 30  34 31 30 20 20 53 54 41  |ET.SDP.0410  STA|
000003C0: 20 50 54 52 2B 31 0D 30  34 32 30 20 20 4A 53 52  | PTR+1.0420  JSR|
000003D0: 20 47 45 54 2E 53 44 50  20 20 20 20 20 20 20 20  | GET.SDP        |
000003E0: 20 20 20 20 20 3B 20 47  45 54 20 44 41 54 41 20  |     ; GET DATA |
000003F0: 42 59 54 45 0D 30 34 33  30 20 2E 0D 30 34 34 30  |BYTE.0430 ..0440|
00000400: 20 20 4C 44 59 20 23 30  0D 30 34 35 30 20 20 53  |  LDY #0.0450  S|
00000410: 54 41 20 28 50 54 52 29  2C 59 20 20 20 20 20 20  |TA (PTR),Y      |
00000420: 20 20 20 20 20 20 20 3B  20 53 54 4F 52 45 20 44  |       ; STORE D|
00000430: 41 54 41 20 42 59 54 45  0D 30 34 36 30 20 20 42  |ATA BYTE.0460  B|
00000440: 45 51 20 4D 41 49 4E 2E  4C 4F 4F 50 0D 30 34 37  |EQ MAIN.LOOP.047|
00000450: 30 20 45 58 49 54 0D 30  34 38 30 20 20 4C 44 41  |0 EXIT.0480  LDA|
00000460: 20 23 45 4E 41 42 4C 45  2B 54 49 4D 45 52 2E 41  | #ENABLE+TIMER.A|
00000470: 0D 30 34 39 30 20 20 53  54 41 20 55 31 2E 49 43  |.0490  STA U1.IC|
00000480: 52 20 20 20 20 20 20 20  20 20 20 20 20 20 20 3B  |R              ;|
00000490: 20 52 45 2D 45 4E 41 42  4C 45 20 49 4E 54 45 52  | RE-ENABLE INTER|
000004A0: 52 55 50 54 53 2C 20 52  45 53 54 4F 52 45 20 53  |RUPTS, RESTORE S|
000004B0: 54 41 43 4B 2C 20 51 55  49 54 0D 30 35 30 30 20  |TACK, QUIT.0500 |
000004C0: 20 4C 44 58 20 53 41 56  45 2E 53 50 0D 30 35 31  | LDX SAVE.SP.051|
000004D0: 30 20 20 54 58 53 0D 30  35 32 30 20 20 42 52 4B  |0  TXS.0520  BRK|
000004E0: 0D 30 35 33 30 20 2E 0D  30 35 34 30 20 47 45 54  |.0530 ..0540 GET|
000004F0: 2E 53 44 50 0D 30 35 35  30 20 20 4A 53 52 20 55  |.SDP.0550  JSR U|
00000500: 50 44 41 54 45 2E 39 31  0D 30 35 36 30 20 20 4C  |PDATE.91.0560  L|
00000510: 44 41 20 53 54 4F 50 20  20 20 20 20 20 20 20 20  |DA STOP         |
00000520: 20 20 20 20 20 20 20 3B  43 48 45 43 4B 20 53 54  |       ;CHECK ST|
00000530: 4F 50 20 4B 45 59 0D 30  35 37 30 20 20 42 50 4C  |OP KEY.0570  BPL|
00000540: 20 45 58 49 54 0D 30 35  38 30 20 2E 0D 30 35 39  | EXIT.0580 ..059|
00000550: 30 20 20 4C 44 41 20 55  31 2E 49 43 52 20 20 20  |0  LDA U1.ICR   |
00000560: 20 20 20 20 20 20 20 20  20 20 20 3B 57 41 49 54  |           ;WAIT|
00000570: 20 46 4F 52 20 49 4E 50  55 54 20 43 48 41 52 0D  | FOR INPUT CHAR.|
00000580: 30 36 30 30 20 20 41 4E  44 20 23 53 48 49 46 54  |0600  AND #SHIFT|
00000590: 2E 52 45 47 0D 30 36 31  30 20 20 42 45 51 20 47  |.REG.0610  BEQ G|
000005A0: 45 54 2E 53 44 50 0D 30  36 32 30 20 20 4C 44 41  |ET.SDP.0620  LDA|
000005B0: 20 55 31 2E 49 4E 50 55  54 20 20 20 20 20 20 20  | U1.INPUT       |
000005C0: 20 20 20 20 20 3B 47 45  54 20 49 4E 50 55 54 20  |     ;GET INPUT |
000005D0: 43 48 41 52 0D 30 36 33  30 20 20 52 54 53 0D 30  |CHAR.0630  RTS.0|
000005E0: 36 34 30 20 2E 0D 30 36  35 30 20 53 41 56 45 2E  |640 ..0650 SAVE.|
000005F0: 53 50 20 2E 44 53 20 31  0D 30 36 36 30 20 2E 0D  |SP .DS 1.0660 ..|
00000600: 30 36 37 30 20 20 2E 45  4E 0D                    |0670  .EN.      |
0010 ; COPYRIGHT 1986 JACK BEDARD.0020 .
.0030 ; RECEIVE ASSEMBLED CODE VIA.0040 
; THE SERIAL DATA PORT..0050 ..0060 ; RE
CEIVES ADDRESS TO STORE.0070 ; (LOW/HIGH
) AND THE BYTE.0080 ; TO STORE THERE..00
90 ..0100 PTR          .DE $FD.0110 U1.I
NPUT     .DE $DC0C.0120 U1.ICR       .DE
 $DC0D.0130 U1.CRA       .DE $DC0E.0140 
UPDATE.91    .DE $F6BC.0150 STOP        
 .DE $91.0160 ..0170 OUTPUT       .DE %0
1000000.0180 SHIFT.REG    .DE %00001000.
0190 DISABL.ALL   .DE %01111111.0200 ENA
BLE       .DE %10000000.0210 TIMER.A    
  .DE %00000001.0220 ..0230  .CE.0240  .
BA $02AA.0250  .OS.0260 ..0270  TSX.0280
  STX SAVE.SP.0290 ..0300  LDA #DISABL.A
LL         ; DISABLE INTERRUPTS.0310  ST
A U1.ICR.0320 ..0330  LDA U1.CRA.0340  A
ND #$FF-OUTPUT         ; CLEAR BIT 6 OF 
CRA... SERIAL PORT INPUT AT.0350  STA U1
.CRA              ; EXTERNAL CLOCK RATE.
0360 ..0370 MAIN.LOOP.0380  JSR GET.SDP 
            ; GET ADDRESS OF DATA BYTE.0
390  STA PTR.0400  JSR GET.SDP.0410  STA
 PTR+1.0420  JSR GET.SDP             ; G
ET DATA BYTE.0430 ..0440  LDY #0.0450  S
TA (PTR),Y             ; STORE DATA BYTE
.0460  BEQ MAIN.LOOP.0470 EXIT.0480  LDA
 #ENABLE+TIMER.A.0490  STA U1.ICR       
       ; RE-ENABLE INTERRUPTS, RESTORE S
TACK, QUIT.0500  LDX SAVE.SP.0510  TXS.0
520  BRK.0530 ..0540 GET.SDP.0550  JSR U
PDATE.91.0560  LDA STOP                ;
CHECK STOP KEY.0570  BPL EXIT.0580 ..059
0  LDA U1.ICR              ;WAIT FOR INP
UT CHAR.0600  AND #SHIFT.REG.0610  BEQ G
ET.SDP.0620  LDA U1.INPUT            ;GE
T INPUT CHAR.0630  RTS.0640 ..0650 SAVE.
SP .DS 1.0660 ..0670  .EN.
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL