Home » CEEFAX disks » telesoftware8.adl » 13-08-88/OUTPUT

13-08-88/OUTPUT

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » CEEFAX disks » telesoftware8.adl
Filename: 13-08-88/OUTPUT
Read OK:
File size: 0248 bytes
Load address: 0800
Exec address: 802B
File contents
   10REM: OUTPUT
   20oswrch=&FFEE
   30osword=&FFF1
   40DIM mcode &100
   50FOR pass = 0 TO 2 STEP 2
   60P%=mcode
   70[OPT pass
   80LDA #&7F
   90LDX #block MOD 256
  100LDY #block DIV 256
  110JSR osword
  120RTS
  130.block
  140EQUB &FF \ current drive
  150EQUD &00 \ does not matter
  160EQUB &01 \ 1 parameter
  170EQUB &7D \ read special register command
  180EQUB &23 \ drive control output register
  190.result
  200EQUB &00 \ result byte
  210.binary
  220LDX #8
  230.loop
  240LDA #ASC("0")
  250ASL result
  260ADC #&00
  270JSR oswrch
  280DEX
  290BNE loop
  300RTS
  310]
  320NEXT
  330CALL mcode
  340PRINT"Result = &";~?result;", %";
  350CALL binary
  360PRINT


�: OUTPUT
oswrch=&FFEE
osword=&FFF1
(� mcode &100
2� pass = 0 � 2 � 2
<P%=mcode
F
[OPT pass
PLDA #&7F
ZLDX #block � 256
dLDY #block � 256
nJSR osword
xRTS
�
.block
�EQUB &FF \ current drive
�EQUD &00 \ does not matter
�EQUB &01 \ 1 parameter
�,EQUB &7D \ read special register command
�,EQUB &23 \ drive control output register
�.result
�EQUB &00 \ result byte
�.binary
�
LDX #8
�	.loop
�LDA #�("0")
�ASL result
ADC #&00
JSR oswrch
DEX
"BNE loop
,RTS
6]
@�
J� mcode
T!�"Result = &";~?result;", %";
^� binary
h�
�
00000000  0d 00 0a 0d f4 3a 20 4f  55 54 50 55 54 0d 00 14  |.....: OUTPUT...|
00000010  10 6f 73 77 72 63 68 3d  26 46 46 45 45 0d 00 1e  |.oswrch=&FFEE...|
00000020  10 6f 73 77 6f 72 64 3d  26 46 46 46 31 0d 00 28  |.osword=&FFF1..(|
00000030  10 de 20 6d 63 6f 64 65  20 26 31 30 30 0d 00 32  |.. mcode &100..2|
00000040  16 e3 20 70 61 73 73 20  3d 20 30 20 b8 20 32 20  |.. pass = 0 . 2 |
00000050  88 20 32 0d 00 3c 0c 50  25 3d 6d 63 6f 64 65 0d  |. 2..<.P%=mcode.|
00000060  00 46 0d 5b 4f 50 54 20  70 61 73 73 0d 00 50 0c  |.F.[OPT pass..P.|
00000070  4c 44 41 20 23 26 37 46  0d 00 5a 14 4c 44 58 20  |LDA #&7F..Z.LDX |
00000080  23 62 6c 6f 63 6b 20 83  20 32 35 36 0d 00 64 14  |#block . 256..d.|
00000090  4c 44 59 20 23 62 6c 6f  63 6b 20 81 20 32 35 36  |LDY #block . 256|
000000a0  0d 00 6e 0e 4a 53 52 20  6f 73 77 6f 72 64 0d 00  |..n.JSR osword..|
000000b0  78 07 52 54 53 0d 00 82  0a 2e 62 6c 6f 63 6b 0d  |x.RTS.....block.|
000000c0  00 8c 1c 45 51 55 42 20  26 46 46 20 5c 20 63 75  |...EQUB &FF \ cu|
000000d0  72 72 65 6e 74 20 64 72  69 76 65 0d 00 96 1e 45  |rrent drive....E|
000000e0  51 55 44 20 26 30 30 20  5c 20 64 6f 65 73 20 6e  |QUD &00 \ does n|
000000f0  6f 74 20 6d 61 74 74 65  72 0d 00 a0 1a 45 51 55  |ot matter....EQU|
00000100  42 20 26 30 31 20 5c 20  31 20 70 61 72 61 6d 65  |B &01 \ 1 parame|
00000110  74 65 72 0d 00 aa 2c 45  51 55 42 20 26 37 44 20  |ter...,EQUB &7D |
00000120  5c 20 72 65 61 64 20 73  70 65 63 69 61 6c 20 72  |\ read special r|
00000130  65 67 69 73 74 65 72 20  63 6f 6d 6d 61 6e 64 0d  |egister command.|
00000140  00 b4 2c 45 51 55 42 20  26 32 33 20 5c 20 64 72  |..,EQUB &23 \ dr|
00000150  69 76 65 20 63 6f 6e 74  72 6f 6c 20 6f 75 74 70  |ive control outp|
00000160  75 74 20 72 65 67 69 73  74 65 72 0d 00 be 0b 2e  |ut register.....|
00000170  72 65 73 75 6c 74 0d 00  c8 1a 45 51 55 42 20 26  |result....EQUB &|
00000180  30 30 20 5c 20 72 65 73  75 6c 74 20 62 79 74 65  |00 \ result byte|
00000190  0d 00 d2 0b 2e 62 69 6e  61 72 79 0d 00 dc 0a 4c  |.....binary....L|
000001a0  44 58 20 23 38 0d 00 e6  09 2e 6c 6f 6f 70 0d 00  |DX #8.....loop..|
000001b0  f0 0f 4c 44 41 20 23 97  28 22 30 22 29 0d 00 fa  |..LDA #.("0")...|
000001c0  0e 41 53 4c 20 72 65 73  75 6c 74 0d 01 04 0c 41  |.ASL result....A|
000001d0  44 43 20 23 26 30 30 0d  01 0e 0e 4a 53 52 20 6f  |DC #&00....JSR o|
000001e0  73 77 72 63 68 0d 01 18  07 44 45 58 0d 01 22 0c  |swrch....DEX..".|
000001f0  42 4e 45 20 6c 6f 6f 70  0d 01 2c 07 52 54 53 0d  |BNE loop..,.RTS.|
00000200  01 36 05 5d 0d 01 40 05  ed 0d 01 4a 0b d6 20 6d  |.6.]..@....J.. m|
00000210  63 6f 64 65 0d 01 54 21  f1 22 52 65 73 75 6c 74  |code..T!."Result|
00000220  20 3d 20 26 22 3b 7e 3f  72 65 73 75 6c 74 3b 22  | = &";~?result;"|
00000230  2c 20 25 22 3b 0d 01 5e  0c d6 20 62 69 6e 61 72  |, %";..^.. binar|
00000240  79 0d 01 68 05 f1 0d ff                           |y..h....|
00000248
13-08-88/OUTPUT.m0
13-08-88/OUTPUT.m1
13-08-88/OUTPUT.m2
13-08-88/OUTPUT.m4
13-08-88/OUTPUT.m5