home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Transactor
/
Transactor_22_1988_Transactor_Publishing.d64
/
rcv.mae
< prev
next >
Wrap
Text File
|
2023-02-26
|
2KB
|
68 lines
0010 ; copyright 1986 jack bedard
0020 .
0030 ; receive assembled code via
0040 ; the serial data port.
0050 .
0060 ; receives address to store
0070 ; (low/high) and the byte
0080 ; to store there.
0090 .
0100 ptr .de $fd
0110 u1.input .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 %01000000
0180 shift.reg .de %00001000
0190 disabl.all .de %01111111
0200 enable .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.all ; disable interrupts
0310 sta u1.icr
0320 .
0330 lda u1.cra
0340 and #$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
0390 sta ptr
0400 jsr get.sdp
0410 sta ptr+1
0420 jsr get.sdp ; get data byte
0430 .
0440 ldy #0
0450 sta (ptr),y ; store data byte
0460 beq main.loop
0470 exit
0480 lda #enable+timer.a
0490 sta u1.icr ; re-enable interrupts, restore stack, quit
0500 ldx save.sp
0510 txs
0520 brk
0530 .
0540 get.sdp
0550 jsr update.91
0560 lda stop ;check stop key
0570 bpl exit
0580 .
0590 lda u1.icr ;wait for input char
0600 and #shift.reg
0610 beq get.sdp
0620 lda u1.input ;get input char
0630 rts
0640 .
0650 save.sp .ds 1
0660 .
0670 .en