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

XMIT.MAE

FILE INFORMATION

FILENAME(S): XMIT.MAE

FILE TYPE(S): SEQ

FILE SIZE: 5.3K

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

APPEARS ON: 1 disk(s)

FILE HASH

e43dc8502cec47a05dee591aead5344f5c837b0e27c35e9eb9ed411e683c1219

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
TRANSACTOR DISK XMIT.MAE SEQ DuncanTwain 25 6 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 30 30 32 30 20 3B 20 43  4F 50 59 52 49 47 48 54  |0020 ; 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 33 30 20 2E  0D 30 30 34 30 20 3B 20  |D.0030 ..0040 ; |
00000030: 4F 55 54 50 55 54 20 41  53 53 45 4D 42 4C 45 44  |OUTPUT ASSEMBLED|
00000040: 20 43 4F 44 45 20 54 4F  20 53 45 52 49 41 4C 20  | CODE TO SERIAL |
00000050: 44 41 54 41 20 50 4F 52  54 0D 30 30 35 30 20 2E  |DATA PORT.0050 .|
00000060: 0D 30 30 36 30 20 3B 20  54 48 45 52 45 20 41 52  |.0060 ; THERE AR|
00000070: 45 20 32 20 53 45 50 41  52 41 54 45 20 52 4F 55  |E 2 SEPARATE ROU|
00000080: 54 49 4E 45 53 20 48 45  52 45 3A 0D 30 30 37 30  |TINES HERE:.0070|
00000090: 20 3B 20 54 48 45 20 31  53 54 20 28 43 4F 44 45  | ; THE 1ST (CODE|
000000A0: 2E 53 57 41 50 29 20 4D  4F 44 49 46 49 45 53 20  |.SWAP) MODIFIES |
000000B0: 4D 41 45 20 54 4F 20 54  52 41 4E 53 4D 49 54 20  |MAE TO TRANSMIT |
000000C0: 41 53 53 45 4D 42 4C 45  44 20 43 4F 44 45 0D 30  |ASSEMBLED CODE.0|
000000D0: 30 38 30 20 3B 20 54 4F  20 41 20 32 4E 44 20 43  |080 ; TO A 2ND C|
000000E0: 2D 36 34 20 56 49 41 20  53 2E 52 2E 20 50 4F 52  |-64 VIA S.R. POR|
000000F0: 54 2E 0D 30 30 39 30 20  3B 20 49 54 20 49 53 20  |T..0090 ; IT IS |
00000100: 41 43 54 49 56 41 54 45  44 20 57 49 54 48 20 54  |ACTIVATED WITH T|
00000110: 48 49 53 20 43 4F 4D 4D  41 4E 44 20 46 52 4F 4D  |HIS COMMAND FROM|
00000120: 20 4D 41 45 20 27 52 55  20 24 38 35 30 30 27 0D  | MAE 'RU $8500'.|
00000130: 30 31 30 30 20 2E 0D 30  31 31 30 20 3B 20 54 48  |0100 ..0110 ; TH|
00000140: 45 20 32 4E 44 20 53 45  4E 44 53 20 54 48 45 20  |E 2ND SENDS THE |
00000150: 41 44 44 52 45 53 53 20  54 4F 20 53 54 4F 52 45  |ADDRESS TO STORE|
00000160: 20 28 4C 4F 57 2F 48 49  47 48 29 0D 30 31 32 30  | (LOW/HIGH).0120|
00000170: 20 3B 20 49 4E 20 54 48  45 20 4F 54 48 45 52 20  | ; IN THE OTHER |
00000180: 43 36 34 20 41 4E 44 20  54 48 45 20 42 59 54 45  |C64 AND THE BYTE|
00000190: 20 54 4F 20 53 54 4F 52  45 20 54 48 45 52 45 2E  | TO STORE THERE.|
000001A0: 0D 30 31 33 30 20 2E 0D  30 31 34 30 20 4D 41 45  |.0130 ..0140 MAE|
000001B0: 2E 54 41 42 4C 45 20 20  2E 44 45 20 24 35 31 20  |.TABLE  .DE $51 |
000001C0: 20 20 20 20 20 20 3B 53  54 4F 52 45 20 41 44 44  |      ;STORE ADD|
000001D0: 52 45 53 53 20 49 53 20  49 4E 20 54 48 49 53 20  |RESS IS IN THIS |
000001E0: 54 41 42 4C 45 0D 30 31  35 30 20 4D 4F 44 2E 41  |TABLE.0150 MOD.A|
000001F0: 44 52 20 20 20 20 2E 44  45 20 24 35 46 45 42 20  |DR    .DE $5FEB |
00000200: 20 20 20 20 3B 4D 59 20  50 41 54 43 48 20 47 4F  |    ;MY PATCH GO|
00000210: 45 53 20 48 45 52 45 0D  30 31 36 30 20 55 32 2E  |ES HERE.0160 U2.|
00000220: 54 49 4D 41 2E 4C 4F 20  2E 44 45 20 24 44 44 30  |TIMA.LO .DE $DD0|
00000230: 34 0D 30 31 37 30 20 55  32 2E 54 49 4D 41 2E 48  |4.0170 U2.TIMA.H|
00000240: 49 20 2E 44 45 20 24 44  44 30 35 0D 30 31 38 30  |I .DE $DD05.0180|
00000250: 20 55 32 2E 4F 55 54 20  20 20 20 20 2E 44 45 20  | U2.OUT     .DE |
00000260: 24 44 44 30 43 20 20 20  20 20 3B 53 45 52 49 41  |$DD0C     ;SERIA|
00000270: 4C 20 44 41 54 41 20 50  4F 52 54 0D 30 31 39 30  |L DATA PORT.0190|
00000280: 20 55 32 2E 49 43 52 20  20 20 20 20 2E 44 45 20  | U2.ICR     .DE |
00000290: 24 44 44 30 44 20 20 20  20 20 3B 49 4E 54 45 52  |$DD0D     ;INTER|
000002A0: 52 55 50 54 20 43 4F 4E  54 52 4F 4C 20 52 45 47  |RUPT CONTROL REG|
000002B0: 49 53 54 45 52 0D 30 32  30 30 20 55 32 2E 43 52  |ISTER.0200 U2.CR|
000002C0: 41 20 20 20 20 20 2E 44  45 20 24 44 44 30 45 20  |A     .DE $DD0E |
000002D0: 20 20 20 20 3B 54 49 4D  45 52 20 41 20 43 4F 4E  |    ;TIMER A CON|
000002E0: 54 52 4F 4C 20 52 45 47  49 53 54 45 52 0D 30 32  |TROL REGISTER.02|
000002F0: 31 30 20 4F 55 54 50 55  54 20 20 20 20 20 2E 44  |10 OUTPUT     .D|
00000300: 45 20 25 30 31 30 30 30  30 30 30 20 3B 42 49 54  |E %01000000 ;BIT|
00000310: 20 36 20 49 4E 20 24 44  44 30 45 0D 30 32 32 30  | 6 IN $DD0E.0220|
00000320: 20 53 48 49 46 54 2E 52  45 47 20 20 2E 44 45 20  | SHIFT.REG  .DE |
00000330: 25 30 30 30 30 31 30 30  30 20 3B 42 49 54 20 33  |%00001000 ;BIT 3|
00000340: 20 49 4E 20 24 44 44 30  44 0D 30 32 33 30 20 44  | IN $DD0D.0230 D|
00000350: 49 53 41 42 4C 2E 41 4C  4C 20 2E 44 45 20 25 30  |ISABL.ALL .DE %0|
00000360: 31 31 31 31 31 31 31 20  3B 30 20 49 4E 20 37 20  |1111111 ;0 IN 7 |
00000370: 43 41 55 53 45 53 20 54  48 45 20 31 27 53 20 54  |CAUSES THE 1'S T|
00000380: 4F 20 44 49 53 41 42 4C  45 20 54 48 4F 53 45 20  |O DISABLE THOSE |
00000390: 42 49 54 53 0D 30 32 34  30 20 54 49 4D 45 52 2E  |BITS.0240 TIMER.|
000003A0: 41 20 20 20 20 2E 44 45  20 25 30 30 30 30 30 30  |A    .DE %000000|
000003B0: 30 31 20 3B 42 49 54 20  30 20 49 4E 20 24 44 44  |01 ;BIT 0 IN $DD|
000003C0: 30 45 0D 30 32 35 30 20  2E 0D 30 32 36 30 20 42  |0E.0250 ..0260 B|
000003D0: 41 55 44 20 20 20 20 20  20 20 2E 44 45 20 24 30  |AUD       .DE $0|
000003E0: 34 20 20 20 20 20 20 20  3B 54 48 45 20 42 41 55  |4       ;THE BAU|
000003F0: 44 20 52 41 54 45 20 50  52 45 53 43 41 4C 45 52  |D RATE PRESCALER|
00000400: 0D 30 32 37 30 20 2E 0D  30 32 38 30 20 20 2E 4F  |.0270 ..0280  .O|
00000410: 53 0D 30 32 39 30 20 20  2E 42 41 20 24 38 35 30  |S.0290  .BA $850|
00000420: 30 0D 30 33 30 30 20 20  2E 43 45 0D 30 33 31 30  |0.0300  .CE.0310|
00000430: 20 2E 0D 30 33 32 30 20  43 4F 44 45 2E 53 57 41  | ..0320 CODE.SWA|
00000440: 50 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |P               |
00000450: 20 3B 50 41 54 43 48 20  27 4A 53 52 20 53 45 4E  | ;PATCH 'JSR SEN|
00000460: 44 54 4F 44 53 50 27 20  49 4E 54 4F 20 4D 41 45  |DTODSP' INTO MAE|
00000470: 20 20 20 20 20 20 20 20  20 20 20 0D 30 33 33 30  |           .0330|
00000480: 20 20 4C 44 58 20 23 32  20 20 20 20 20 20 20 20  |  LDX #2        |
00000490: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000004A0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000004B0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000004C0: 20 20 20 20 0D 30 33 34  30 20 4D 4F 44 2E 4C 4F  |    .0340 MOD.LO|
000004D0: 4F 50 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |OP              |
000004E0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000004F0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000500: 20 20 20 20 20 20 20 20  20 20 20 20 20 0D 30 33  |             .03|
00000510: 35 30 20 20 4C 44 41 20  4D 4F 44 2E 41 44 52 2C  |50  LDA MOD.ADR,|
00000520: 58 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |X               |
00000530: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000540: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000550: 20 20 20 20 20 20 0D 30  33 36 30 20 20 50 48 41  |      .0360  PHA|
00000560: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000570: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000580: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000590: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 0D  |               .|
000005A0: 30 33 37 30 20 20 4C 44  41 20 4D 41 45 2E 43 4F  |0370  LDA MAE.CO|
000005B0: 44 45 2E 4D 4F 44 2C 58  20 20 20 20 20 20 20 20  |DE.MOD,X        |
000005C0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000005D0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000005E0: 20 20 20 20 20 20 20 20  0D 30 33 38 30 20 20 53  |        .0380  S|
000005F0: 54 41 20 4D 4F 44 2E 41  44 52 2C 58 20 20 20 20  |TA MOD.ADR,X    |
00000600: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000610: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000620: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000630: 20 0D 30 33 39 30 20 20  50 4C 41 20 20 20 20 20  | .0390  PLA     |
00000640: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000650: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000660: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000670: 20 20 20 20 20 20 20 20  20 20 0D 30 34 30 30 20  |          .0400 |
00000680: 20 53 54 41 20 4D 41 45  2E 43 4F 44 45 2E 4D 4F  | STA MAE.CODE.MO|
00000690: 44 2C 58 20 20 20 20 20  20 20 20 20 20 20 20 20  |D,X             |
000006A0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000006B0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000006C0: 20 20 20 0D 30 34 31 30  20 20 44 45 58 20 20 20  |   .0410  DEX   |
000006D0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000006E0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000006F0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000700: 20 20 20 20 20 20 20 20  20 20 20 20 0D 30 34 32  |            .042|
00000710: 30 20 20 42 50 4C 20 4D  4F 44 2E 4C 4F 4F 50 20  |0  BPL MOD.LOOP |
00000720: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000730: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000740: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000750: 20 20 20 20 20 0D 30 34  33 30 20 20 52 54 53 20  |     .0430  RTS |
00000760: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000770: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000780: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000790: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 0D 30  |              .0|
000007A0: 34 34 30 20 2E 20 20 20  20 20 20 20 20 20 20 20  |440 .           |
000007B0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000007C0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000007D0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000007E0: 20 20 20 20 20 20 20 0D  30 34 35 30 20 4D 41 45  |       .0450 MAE|
000007F0: 2E 43 4F 44 45 2E 4D 4F  44 20 20 20 20 20 20 20  |.CODE.MOD       |
00000800: 20 20 20 20 20 20 3B 50  41 54 43 48 20 54 4F 20  |      ;PATCH TO |
00000810: 4F 55 52 20 4F 55 54 50  55 54 20 52 4F 55 54 49  |OUR OUTPUT ROUTI|
00000820: 4E 45 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |NE              |
00000830: 0D 30 34 36 30 20 20 4A  53 52 20 53 45 4E 44 2E  |.0460  JSR SEND.|
00000840: 54 4F 2E 53 44 50 20 20  20 20 20 20 20 20 20 20  |TO.SDP          |
00000850: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000860: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000870: 20 20 20 20 20 20 20 20  20 0D 30 34 37 30 20 2E  |         .0470 .|
00000880: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000890: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000008A0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000008B0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000008C0: 20 20 0D 30 34 38 30 20  53 45 4E 44 2E 54 4F 2E  |  .0480 SEND.TO.|
000008D0: 53 44 50 20 20 20 20 20  20 20 20 20 20 20 20 20  |SDP             |
000008E0: 20 3B 53 45 4E 44 20 42  59 54 45 20 46 52 4F 4D  | ;SEND BYTE FROM|
000008F0: 20 53 54 41 43 4B 20 28  55 4E 44 45 52 20 52 45  | STACK (UNDER RE|
00000900: 54 55 52 4E 20 41 44 44  52 29 20 0D 30 34 39 30  |TURN ADDR) .0490|
00000910: 20 20 53 54 59 20 53 41  56 45 2E 59 20 20 20 20  |  STY SAVE.Y    |
00000920: 20 20 20 20 20 20 20 20  20 20 3B 54 4F 20 4F 54  |          ;TO OT|
00000930: 48 45 52 20 36 34 2E 20  20 20 20 20 20 20 20 20  |HER 64.         |
00000940: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000950: 20 20 20 20 0D 30 35 30  30 20 20 53 54 58 20 53  |    .0500  STX S|
00000960: 41 56 45 2E 58 20 20 20  20 20 20 20 20 20 20 20  |AVE.X           |
00000970: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000980: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000990: 20 20 20 20 20 20 20 20  20 20 20 20 20 0D 30 35  |             .05|
000009A0: 31 30 20 20 50 4C 41 20  20 20 20 20 20 20 20 20  |10  PLA         |
000009B0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000009C0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000009D0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000009E0: 20 20 20 20 20 20 0D 30  35 32 30 20 20 53 54 41  |      .0520  STA|
000009F0: 20 52 45 54 2E 41 44 52  20 20 20 20 20 20 20 20  | RET.ADR        |
00000A00: 20 20 20 20 20 3B 53 41  56 45 20 52 45 54 55 52  |     ;SAVE RETUR|
00000A10: 4E 20 41 44 44 52 45 53  53 20 46 52 4F 4D 20 53  |N ADDRESS FROM S|
00000A20: 54 41 43 4B 20 20 20 20  20 20 20 20 20 20 20 0D  |TACK           .|
00000A30: 30 35 33 30 20 20 50 4C  41 20 20 20 20 20 20 20  |0530  PLA       |
00000A40: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000A50: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000A60: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000A70: 20 20 20 20 20 20 20 20  0D 30 35 34 30 20 20 53  |        .0540  S|
00000A80: 54 41 20 52 45 54 2E 41  44 52 2B 31 20 20 20 20  |TA RET.ADR+1    |
00000A90: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000AA0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000AB0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000AC0: 20 0D 30 35 35 30 20 2E  20 20 20 20 20 20 20 20  | .0550 .        |
00000AD0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000AE0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000AF0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000B00: 20 20 20 20 20 20 20 20  20 20 0D 30 35 36 30 20  |          .0560 |
00000B10: 20 4C 44 41 20 4D 41 45  2E 54 41 42 4C 45 2C 58  | LDA MAE.TABLE,X|
00000B20: 20 20 20 20 20 20 20 20  20 3B 46 49 4E 44 20 41  |         ;FIND A|
00000B30: 44 44 52 45 53 53 20 46  4F 52 20 42 59 54 45 20  |DDRESS FOR BYTE |
00000B40: 54 4F 20 42 45 20 53 45  4E 54 20 20 20 20 20 20  |TO BE SENT      |
00000B50: 20 20 20 0D 30 35 37 30  20 20 53 54 41 20 44 41  |   .0570  STA DA|
00000B60: 54 41 2E 4F 55 54 2B 32  20 20 20 20 20 20 20 20  |TA.OUT+2        |
00000B70: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000B80: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000B90: 20 20 20 20 20 20 20 20  20 20 20 20 0D 30 35 38  |            .058|
00000BA0: 30 20 20 4C 44 41 20 4D  41 45 2E 54 41 42 4C 45  |0  LDA MAE.TABLE|
00000BB0: 2B 31 2C 58 20 20 20 20  20 20 20 20 20 20 20 20  |+1,X            |
00000BC0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000BD0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000BE0: 20 20 20 20 20 0D 30 35  39 30 20 20 53 54 41 20  |     .0590  STA |
00000BF0: 44 41 54 41 2E 4F 55 54  2B 31 20 20 20 20 20 20  |DATA.OUT+1      |
00000C00: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000C10: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000C20: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 0D 30  |              .0|
00000C30: 36 30 30 20 20 50 4C 41  20 20 20 20 20 20 20 20  |600  PLA        |
00000C40: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000C50: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000C60: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000C70: 20 20 20 20 20 20 20 0D  30 36 31 30 20 20 53 54  |       .0610  ST|
00000C80: 41 20 44 41 54 41 2E 4F  55 54 20 20 20 20 20 20  |A DATA.OUT      |
00000C90: 20 20 20 20 20 20 3B 42  59 54 45 20 54 4F 20 53  |      ;BYTE TO S|
00000CA0: 45 4E 44 20 28 41 46 54  45 52 20 41 44 44 52 45  |END (AFTER ADDRE|
00000CB0: 53 53 29 20 20 20 20 20  20 20 20 20 20 20 20 20  |SS)             |
00000CC0: 0D 30 36 32 30 20 2E 20  20 20 20 20 20 20 20 20  |.0620 .         |
00000CD0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000CE0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000CF0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000D00: 20 20 20 20 20 20 20 20  20 0D 30 36 33 30 20 20  |         .0630  |
00000D10: 4C 44 41 20 23 44 49 53  41 42 4C 2E 41 4C 4C 20  |LDA #DISABL.ALL |
00000D20: 20 20 20 20 20 20 20 20  3B 53 45 54 20 55 50 20  |        ;SET UP |
00000D30: 49 4E 54 45 52 52 55 50  54 20 43 4F 4E 54 52 4F  |INTERRUPT CONTRO|
00000D40: 4C 20 52 45 47 20 20 20  20 20 20 20 20 20 20 20  |L REG           |
00000D50: 20 20 0D 30 36 34 30 20  20 53 54 41 20 55 32 2E  |  .0640  STA U2.|
00000D60: 49 43 52 20 20 20 20 20  20 20 20 20 20 20 20 20  |ICR             |
00000D70: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000D80: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000D90: 20 20 20 20 20 20 20 20  20 20 20 0D 30 36 35 30  |           .0650|
00000DA0: 20 2E 20 20 20 20 20 20  20 20 20 20 20 20 20 20  | .              |
00000DB0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000DC0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000DD0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000DE0: 20 20 20 20 0D 30 36 36  30 20 20 4C 44 41 20 23  |    .0660  LDA #|
00000DF0: 42 41 55 44 20 20 20 20  20 20 20 20 20 20 20 20  |BAUD            |
00000E00: 20 20 20 3B 53 45 54 20  55 50 20 54 49 4D 45 52  |   ;SET UP TIMER|
00000E10: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000E20: 20 20 20 20 20 20 20 20  20 20 20 20 20 0D 30 36  |             .06|
00000E30: 37 30 20 20 53 54 41 20  55 32 2E 54 49 4D 41 2E  |70  STA U2.TIMA.|
00000E40: 4C 4F 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |LO              |
00000E50: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000E60: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000E70: 20 20 20 20 20 20 0D 30  36 38 30 20 20 4C 44 41  |      .0680  LDA|
00000E80: 20 23 30 20 20 20 20 20  20 20 20 20 20 20 20 20  | #0             |
00000E90: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000EA0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000EB0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 0D  |               .|
00000EC0: 30 36 39 30 20 20 53 54  41 20 55 32 2E 54 49 4D  |0690  STA U2.TIM|
00000ED0: 41 2E 48 49 20 20 20 20  20 20 20 20 20 20 20 20  |A.HI            |
00000EE0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000EF0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000F00: 20 20 20 20 20 20 20 20  0D 30 37 30 30 20 2E 20  |        .0700 . |
00000F10: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000F20: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000F30: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000F40: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000F50: 20 0D 30 37 31 30 20 20  4C 44 41 20 23 4F 55 54  | .0710  LDA #OUT|
00000F60: 50 55 54 2B 54 49 4D 45  52 2E 41 20 20 20 20 20  |PUT+TIMER.A     |
00000F70: 3B 53 45 54 20 55 50 20  54 49 4D 45 52 20 43 4F  |;SET UP TIMER CO|
00000F80: 4E 54 52 4F 4C 20 52 45  47 49 53 54 45 52 20 20  |NTROL REGISTER  |
00000F90: 20 20 20 20 20 20 20 20  20 20 0D 30 37 32 30 20  |          .0720 |
00000FA0: 20 53 54 41 20 55 32 2E  43 52 41 20 20 20 20 20  | STA U2.CRA     |
00000FB0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000FC0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000FD0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000FE0: 20 20 20 0D 30 37 33 30  20 2E 20 20 20 20 20 20  |   .0730 .      |
00000FF0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001000: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001010: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001020: 20 20 20 20 20 20 20 20  20 20 20 20 0D 30 37 34  |            .074|
00001030: 30 20 20 4C 44 58 20 23  32 20 20 20 20 20 20 20  |0  LDX #2       |
00001040: 20 20 20 20 20 20 20 20  20 20 20 3B 53 45 4E 44  |           ;SEND|
00001050: 20 54 48 45 20 54 48 52  45 45 20 42 59 54 45 53  | THE THREE BYTES|
00001060: 20 53 54 41 52 54 49 4E  47 20 41 54 20 44 41 54  | STARTING AT DAT|
00001070: 41 4F 55 54 20 0D 30 37  35 30 20 20 53 45 49 20  |AOUT .0750  SEI |
00001080: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001090: 20 20 20 20 3B 4E 4F 20  49 4E 54 45 52 52 55 50  |    ;NO INTERRUP|
000010A0: 54 53 2C 20 50 4C 45 41  53 45 20 20 20 20 20 20  |TS, PLEASE      |
000010B0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 0D 30  |              .0|
000010C0: 37 36 30 20 4F 55 54 2E  44 41 54 41 20 20 20 20  |760 OUT.DATA    |
000010D0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000010E0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000010F0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001100: 20 20 20 20 20 20 20 0D  30 37 37 30 20 20 4C 44  |       .0770  LD|
00001110: 41 20 44 41 54 41 2E 4F  55 54 2C 58 20 20 20 20  |A DATA.OUT,X    |
00001120: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001130: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001140: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001150: 0D 30 37 38 30 20 20 53  54 41 20 55 32 2E 4F 55  |.0780  STA U2.OU|
00001160: 54 20 20 20 20 20 20 20  20 20 20 20 20 20 20 3B  |T              ;|
00001170: 50 55 54 20 54 48 45 20  42 59 54 45 20 4F 4E 20  |PUT THE BYTE ON |
00001180: 54 48 45 20 4F 55 54 50  55 54 20 50 4F 52 54 20  |THE OUTPUT PORT |
00001190: 20 20 20 20 20 20 20 20  20 0D 30 37 39 30 20 2E  |         .0790 .|
000011A0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000011B0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000011C0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000011D0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000011E0: 20 20 0D 30 38 30 30 20  53 54 49 4C 4C 2E 53 45  |  .0800 STILL.SE|
000011F0: 4E 44 49 4E 47 20 20 20  20 20 20 20 20 20 20 20  |NDING           |
00001200: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001210: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001220: 20 20 20 20 20 20 20 20  20 20 20 0D 30 38 31 30  |           .0810|
00001230: 20 20 4C 44 41 20 55 32  2E 49 43 52 20 20 20 20  |  LDA U2.ICR    |
00001240: 20 20 20 20 20 20 20 20  20 20 3B 57 41 49 54 20  |          ;WAIT |
00001250: 55 4E 54 49 4C 20 49 54  20 48 41 53 20 42 45 45  |UNTIL IT HAS BEE|
00001260: 4E 20 53 45 4E 54 20 20  20 20 20 20 20 20 20 20  |N SENT          |
00001270: 20 20 20 20 0D 30 38 32  30 20 20 41 4E 44 20 23  |    .0820  AND #|
00001280: 53 48 49 46 54 2E 52 45  47 20 20 20 20 20 20 20  |SHIFT.REG       |
00001290: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000012A0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000012B0: 20 20 20 20 20 20 20 20  20 20 20 20 20 0D 30 38  |             .08|
000012C0: 33 30 20 20 42 45 51 20  53 54 49 4C 4C 2E 53 45  |30  BEQ STILL.SE|
000012D0: 4E 44 49 4E 47 20 20 20  20 20 20 20 20 20 20 20  |NDING           |
000012E0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000012F0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001300: 20 20 20 20 20 20 0D 30  38 34 30 20 20 44 45 58  |      .0840  DEX|
00001310: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001320: 20 20 20 20 20 3B 53 45  4E 44 20 54 48 45 20 4E  |     ;SEND THE N|
00001330: 45 58 54 20 4F 4E 45 20  20 20 20 20 20 20 20 20  |EXT ONE         |
00001340: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 0D  |               .|
00001350: 30 38 35 30 20 20 42 50  4C 20 4F 55 54 2E 44 41  |0850  BPL OUT.DA|
00001360: 54 41 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |TA              |
00001370: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001380: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001390: 20 20 20 20 20 20 20 20  0D 30 38 36 30 20 20 43  |        .0860  C|
000013A0: 4C 49 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |LI              |
000013B0: 20 20 20 20 20 20 20 3B  41 4C 4C 20 53 45 4E 54  |       ;ALL SENT|
000013C0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000013D0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000013E0: 20 0D 30 38 37 30 20 2E  20 20 20 20 20 20 20 20  | .0870 .        |
000013F0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001400: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001410: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001420: 20 20 20 20 20 20 20 20  20 20 0D 30 38 38 30 20  |          .0880 |
00001430: 20 4C 44 41 20 52 45 54  2E 41 44 52 2B 31 20 20  | LDA RET.ADR+1  |
00001440: 20 20 20 20 20 20 20 20  20 3B 50 55 54 20 52 45  |         ;PUT RE|
00001450: 54 55 52 4E 20 41 44 44  52 45 53 53 20 42 41 43  |TURN ADDRESS BAC|
00001460: 4B 20 4F 4E 20 54 48 45  20 53 54 41 43 4B 20 20  |K ON THE STACK  |
00001470: 20 20 20 0D 30 38 39 30  20 20 50 48 41 0D 30 39  |   .0890  PHA.09|
00001480: 30 30 20 20 4C 44 41 20  52 45 54 2E 41 44 52 0D  |00  LDA RET.ADR.|
00001490: 30 39 31 30 20 20 50 48  41 0D 30 39 32 30 20 20  |0910  PHA.0920  |
000014A0: 4C 44 58 20 53 41 56 45  2E 58 0D 30 39 33 30 20  |LDX SAVE.X.0930 |
000014B0: 20 4C 44 59 20 53 41 56  45 2E 59 0D 30 39 34 30  | LDY SAVE.Y.0940|
000014C0: 20 20 52 54 53 0D 30 39  35 30 20 2E 0D 30 39 36  |  RTS.0950 ..096|
000014D0: 30 20 53 41 56 45 2E 58  20 2E 44 53 20 31 0D 30  |0 SAVE.X .DS 1.0|
000014E0: 39 37 30 20 53 41 56 45  2E 59 20 2E 44 53 20 31  |970 SAVE.Y .DS 1|
000014F0: 0D 30 39 38 30 20 52 45  54 2E 41 44 52 20 2E 44  |.0980 RET.ADR .D|
00001500: 53 20 32 0D 30 39 39 30  20 44 41 54 41 2E 4F 55  |S 2.0990 DATA.OU|
00001510: 54 20 2E 44 53 20 33 0D  31 30 30 30 20 2E 0D 31  |T .DS 3.1000 ..1|
00001520: 30 31 30 20 20 2E 45 4E  0D                       |010  .EN.       |
0020 ; COPYRIGHT 1986 JACK BEDARD.0030 .
.0040 ; OUTPUT ASSEMBLED CODE TO SERIAL 
DATA PORT.0050 ..0060 ; THERE ARE 2 SEPA
RATE ROUTINES HERE:.0070 ; THE 1ST (CODE
.SWAP) MODIFIES MAE TO TRANSMIT ASSEMBLE
D CODE.0080 ; TO A 2ND C-64 VIA S.R. POR
T..0090 ; IT IS ACTIVATED WITH THIS COMM
AND FROM MAE 'RU $8500'.0100 ..0110 ; TH
E 2ND SENDS THE ADDRESS TO STORE (LOW/HI
GH).0120 ; IN THE OTHER C64 AND THE BYTE
 TO STORE THERE..0130 ..0140 MAE.TABLE  
.DE $51       ;STORE ADDRESS IS IN THIS 
TABLE.0150 MOD.ADR    .DE $5FEB     ;MY 
PATCH GOES HERE.0160 U2.TIMA.LO .DE $DD0
4.0170 U2.TIMA.HI .DE $DD05.0180 U2.OUT 
    .DE $DD0C     ;SERIAL DATA PORT.0190
 U2.ICR     .DE $DD0D     ;INTERRUPT CON
TROL REGISTER.0200 U2.CRA     .DE $DD0E 
    ;TIMER A CONTROL REGISTER.0210 OUTPU
T     .DE %01000000 ;BIT 6 IN $DD0E.0220
 SHIFT.REG  .DE %00001000 ;BIT 3 IN $DD0
D.0230 DISABL.ALL .DE %01111111 ;0 IN 7 
CAUSES THE 1'S TO DISABLE THOSE BITS.024
0 TIMER.A    .DE %00000001 ;BIT 0 IN $DD
0E.0250 ..0260 BAUD       .DE $04       
;THE BAUD RATE PRESCALER.0270 ..0280  .O
S.0290  .BA $8500.0300  .CE.0310 ..0320 
CODE.SWAP                ;PATCH 'JSR SEN
DTODSP' INTO MAE           .0330  LDX #2
                                        
                    .0340 MOD.LOOP      
                                        
             .0350  LDA MOD.ADR,X       
                                        
      .0360  PHA                        
                                       .
0370  LDA MAE.CODE.MOD,X                
                                .0380  S
TA MOD.ADR,X                            
                         .0390  PLA     
                                        
                  .0400  STA MAE.CODE.MO
D,X                                     
           .0410  DEX                   
                                        
    .0420  BPL MOD.LOOP                 
                                     .04
30  RTS                                 
                              .0440 .   
                                        
                       .0450 MAE.CODE.MO
D             ;PATCH TO OUR OUTPUT ROUTI
NE              .0460  JSR SEND.TO.SDP  
                                        
         .0470 .                        
                                        
  .0480 SEND.TO.SDP              ;SEND B
YTE FROM STACK (UNDER RETURN ADDR) .0490
  STY SAVE.Y              ;TO OTHER 64. 
                            .0500  STX S
AVE.X                                   
                     .0510  PLA         
                                        
              .0520  STA RET.ADR        
     ;SAVE RETURN ADDRESS FROM STACK    
       .0530  PLA                       
                                        
.0540  STA RET.ADR+1                    
                                 .0550 .
                                        
                          .0560  LDA MAE
.TABLE,X         ;FIND ADDRESS FOR BYTE 
TO BE SENT         .0570  STA DATA.OUT+2
                                        
            .0580  LDA MAE.TABLE+1,X    
                                        
     .0590  STA DATA.OUT+1              
                                      .0
600  PLA                                
                               .0610  ST
A DATA.OUT            ;BYTE TO SEND (AFT
ER ADDRESS)             .0620 .         
                                        
                 .0630  LDA #DISABL.ALL 
        ;SET UP INTERRUPT CONTROL REG   
          .0640  STA U2.ICR             
                                        
   .0650 .                              
                                    .066
0  LDA #BAUD               ;SET UP TIMER
                             .0670  STA 
U2.TIMA.LO                              
                      .0680  LDA #0     
                                        
               .0690  STA U2.TIMA.HI    
                                        
        .0700 .                         
                                        
 .0710  LDA #OUTPUT+TIMER.A     ;SET UP 
TIMER CONTROL REGISTER            .0720 
 STA U2.CRA                             
                           .0730 .      
                                        
                    .0740  LDX #2       
           ;SEND THE THREE BYTES STARTIN
G AT DATAOUT .0750  SEI                 
    ;NO INTERRUPTS, PLEASE              
      .0760 OUT.DATA                    
                                       .
0770  LDA DATA.OUT,X                    
                                .0780  S
TA U2.OUT              ;PUT THE BYTE ON 
THE OUTPUT PORT          .0790 .        
                                        
                  .0800 STILL.SENDING   
                                        
           .0810  LDA U2.ICR            
  ;WAIT UNTIL IT HAS BEEN SENT          
    .0820  AND #SHIFT.REG               
                                     .08
30  BEQ STILL.SENDING                   
                              .0840  DEX
                     ;SEND THE NEXT ONE 
                       .0850  BPL OUT.DA
TA                                      
                .0860  CLI              
       ;ALL SENT                        
         .0870 .                        
                                        
  .0880  LDA RET.ADR+1           ;PUT RE
TURN ADDRESS BACK ON THE STACK     .0890
  PHA.0900  LDA RET.ADR.0910  PHA.0920  
LDX SAVE.X.0930  LDY SAVE.Y.0940  RTS.09
50 ..0960 SAVE.X .DS 1.0970 SAVE.Y .DS 1
.0980 RET.ADR .DS 2.0990 DATA.OUT .DS 3.
1000 ..1010  .EN.
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL