Home » Personal collection » Acorn tapes » Electron_User » Electron_User_tape20a_acorn_eu_1991_march.wav » R.DTPconv
R.DTPconv
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 » Personal collection » Acorn tapes » Electron_User » Electron_User_tape20a_acorn_eu_1991_march.wav |
Filename: | R.DTPconv |
Read OK: | ✔ |
File size: | 06F4 bytes |
Load address: | FFFF1A00 |
Exec address: | FFFF8023 |
Duplicates
There are 2 duplicate copies of this file in the archive:
- AEW website » mu » mu_5_25_discs_Micro_User_09_01_D-MU09_01.ssd » R.DTPconv
- AEW website » mu » mu_Micro_User_09_01_MU9-1_B.uef » R.DTPconv
- Personal collection » Acorn tapes » Electron_User » Electron_User_tape20a_acorn_eu_1991_march.wav » R.DTPconv
File contents
10REM FSE to Stop-Press 20REM Direct screen convertor 30REM by Stephen Brown 40REM (c) The Micro User 50REM March 1991 60MODE 7:ctrl=&70:screen=&74:PROCcode:*SAVE "FSE-SP" 7000 +150 200F 2000 70END 80DEFPROCcode:FOR pass=4 TO 7 STEP 3:P%=&2000:O%=&7000:[OPT pass 90.error1 BRK:EQUB &FF:EQUS "Filename ???":BRK:.go SEC:JSR &FFC2:BEQ error1:LDX #0:.loop JSR &FFC5:BCS done:STA namest,X:INX:CPX #7:BEQ done:JMP loop 100.done LDA #13:STA namest,X:SEI:LDA &220:STA temp:LDA &221:STA temp+1:LDA #start MOD 256:STA &220:LDA #start DIV 256:STA &221:CLI:RTS 110.start DEC counter1:BEQ now:RTS 120.now SEI:LDA temp:STA &220:LDA temp+1:STA &221:CLI:LDX #7 130.swap LDA ctrl,X:STA stack,X:LDA data,X:STA ctrl,X:DEX:BPL swap:LDA #&C0:LDX #name MOD 256:LDY #name DIV 256:JSR &FFCE:STA channel:TAY:LDA #1:LDX #ctrl:JSR &FFDA:LDX #22:STX counter1 140.loop1 LDX #31:STX counter2 150.loop2 LDX #0:STX counter3 160.loop3 LDY channel:JSR &FFD7:JSR double:LDY counter3:STA (screen),Y:LDA result+1:STA (screen+2),Y:INY:STY counter3:CPY #8:BNE loop3:LDA #&10:LDX #0:JSR add:LDA #&10:LDX #2 170JSR add:DEC counter2:BPL loop2:LDA #&80:LDX #0:JSR add:LDA #&80:LDX #2:JSR add:DEC counter1:BPL loop1:LDY channel:LDA #0:JSR &FFCE:LDX #7 180.loop6 LDA stack,X:STA ctrl,X:DEX:BPL loop6:BRK:EQUB &FF:EQUS "FSE file has loaded.":BRK 190.add CLC:ADC screen,X:STA screen,X:LDA screen+1,X:ADC #0:STA screen+1,X:RTS:.double STA byte:LDX #0:.loop4 LDY #3 200.loop5 LDA byte:ROL A:LDA result,X:ROL A:STA result,X:LDA byte:ROL A:STA byte:LDA result,X:ROL A 210STA result,X:DEY:BPL loop5:INX:CPX #2:BNE loop4:LDA result:RTS 220.name EQUS "G." 230.namest EQUD 0:EQUD 0 240.stack EQUD 0:EQUD 0 250.counter1 EQUB 200 260.counter2 BRK:.counter3 BRK 270.result EQUW 0:.temp EQUW 0 280.byte BRK:.channel BRK 290.data EQUD &00000604:EQUD &3CC03CB8:]:NEXT:ENDPROC
� FSE to Stop-Press � Direct screen convertor � by Stephen Brown (� (c) The Micro User 2� March 1991 <D� 7:ctrl=&70:screen=&74:�code:*SAVE "FSE-SP" 7000 +150 200F 2000 F� P7��code:� pass=4 � 7 � 3:P%=&2000:O%=&7000:[OPT pass Z�.error1 BRK:EQUB &FF:EQUS "Filename ???":BRK:.go SEC:JSR &FFC2:BEQ error1:LDX #0:.loop JSR &FFC5:BCS done:STA namest,X:INX:CPX #7:BEQ done:JMP loop d�.done LDA #13:STA namest,X:SEI:LDA &220:STA temp:LDA &221:STA temp+1:LDA #start � 256:STA &220:LDA #start � 256:STA &221:CLI:RTS n#.start DEC counter1:BEQ now:RTS x=.now SEI:LDA temp:STA &220:LDA temp+1:STA &221:CLI:LDX #7 ��.swap LDA ctrl,X:STA stack,X:LDA data,X:STA ctrl,X:DEX:BPL swap:LDA #&C0:LDX #name � 256:LDY #name � 256:JSR &FFCE:STA channel:TAY:LDA #1:LDX #ctrl:JSR &FFDA:LDX #22:STX counter1 �.loop1 LDX #31:STX counter2 �.loop2 LDX #0:STX counter3 ��.loop3 LDY channel:JSR &FFD7:JSR double:LDY counter3:STA (screen),Y:LDA result+1:STA (screen+2),Y:INY:STY counter3:CPY #8:BNE loop3:LDA #&10:LDX #0:JSR add:LDA #&10:LDX #2 ��JSR add:DEC counter2:BPL loop2:LDA #&80:LDX #0:JSR add:LDA #&80:LDX #2:JSR add:DEC counter1:BPL loop1:LDY channel:LDA #0:JSR &FFCE:LDX #7 �\.loop6 LDA stack,X:STA ctrl,X:DEX:BPL loop6:BRK:EQUB &FF:EQUS "FSE file has loaded.":BRK �u.add CLC:ADC screen,X:STA screen,X:LDA screen+1,X:ADC #0:STA screen+1,X:RTS:.double STA byte:LDX #0:.loop4 LDY #3 �d.loop5 LDA byte:ROL A:LDA result,X:ROL A:STA result,X:LDA byte:ROL A:STA byte:LDA result,X:ROL A �BSTA result,X:DEY:BPL loop5:INX:CPX #2:BNE loop4:LDA result:RTS �.name EQUS "G." �.namest EQUD 0:EQUD 0 �.stack EQUD 0:EQUD 0 �.counter1 EQUB 200 .counter2 BRK:.counter3 BRK .result EQUW 0:.temp EQUW 0 .byte BRK:.channel BRK "-.data EQUD &00000604:EQUD &3CC03CB8:]:�:� �
00000000 0d 00 0a 17 f4 20 46 53 45 20 74 6f 20 53 74 6f |..... FSE to Sto| 00000010 70 2d 50 72 65 73 73 0d 00 14 1d f4 20 44 69 72 |p-Press..... Dir| 00000020 65 63 74 20 73 63 72 65 65 6e 20 63 6f 6e 76 65 |ect screen conve| 00000030 72 74 6f 72 0d 00 1e 16 f4 20 62 79 20 53 74 65 |rtor..... by Ste| 00000040 70 68 65 6e 20 42 72 6f 77 6e 0d 00 28 18 f4 20 |phen Brown..(.. | 00000050 28 63 29 20 54 68 65 20 4d 69 63 72 6f 20 55 73 |(c) The Micro Us| 00000060 65 72 0d 00 32 10 f4 20 4d 61 72 63 68 20 31 39 |er..2.. March 19| 00000070 39 31 0d 00 3c 44 eb 20 37 3a 63 74 72 6c 3d 26 |91..<D. 7:ctrl=&| 00000080 37 30 3a 73 63 72 65 65 6e 3d 26 37 34 3a f2 63 |70:screen=&74:.c| 00000090 6f 64 65 3a 2a 53 41 56 45 20 22 46 53 45 2d 53 |ode:*SAVE "FSE-S| 000000a0 50 22 20 37 30 30 30 20 2b 31 35 30 20 32 30 30 |P" 7000 +150 200| 000000b0 46 20 32 30 30 30 0d 00 46 05 e0 0d 00 50 37 dd |F 2000..F....P7.| 000000c0 f2 63 6f 64 65 3a e3 20 70 61 73 73 3d 34 20 b8 |.code:. pass=4 .| 000000d0 20 37 20 88 20 33 3a 50 25 3d 26 32 30 30 30 3a | 7 . 3:P%=&2000:| 000000e0 4f 25 3d 26 37 30 30 30 3a 5b 4f 50 54 20 70 61 |O%=&7000:[OPT pa| 000000f0 73 73 0d 00 5a 97 2e 65 72 72 6f 72 31 20 42 52 |ss..Z..error1 BR| 00000100 4b 3a 45 51 55 42 20 26 46 46 3a 45 51 55 53 20 |K:EQUB &FF:EQUS | 00000110 22 46 69 6c 65 6e 61 6d 65 20 3f 3f 3f 22 3a 42 |"Filename ???":B| 00000120 52 4b 3a 2e 67 6f 20 53 45 43 3a 4a 53 52 20 26 |RK:.go SEC:JSR &| 00000130 46 46 43 32 3a 42 45 51 20 65 72 72 6f 72 31 3a |FFC2:BEQ error1:| 00000140 4c 44 58 20 23 30 3a 2e 6c 6f 6f 70 20 4a 53 52 |LDX #0:.loop JSR| 00000150 20 26 46 46 43 35 3a 42 43 53 20 64 6f 6e 65 3a | &FFC5:BCS done:| 00000160 53 54 41 20 6e 61 6d 65 73 74 2c 58 3a 49 4e 58 |STA namest,X:INX| 00000170 3a 43 50 58 20 23 37 3a 42 45 51 20 64 6f 6e 65 |:CPX #7:BEQ done| 00000180 3a 4a 4d 50 20 6c 6f 6f 70 0d 00 64 84 2e 64 6f |:JMP loop..d..do| 00000190 6e 65 20 4c 44 41 20 23 31 33 3a 53 54 41 20 6e |ne LDA #13:STA n| 000001a0 61 6d 65 73 74 2c 58 3a 53 45 49 3a 4c 44 41 20 |amest,X:SEI:LDA | 000001b0 26 32 32 30 3a 53 54 41 20 74 65 6d 70 3a 4c 44 |&220:STA temp:LD| 000001c0 41 20 26 32 32 31 3a 53 54 41 20 74 65 6d 70 2b |A &221:STA temp+| 000001d0 31 3a 4c 44 41 20 23 73 74 61 72 74 20 83 20 32 |1:LDA #start . 2| 000001e0 35 36 3a 53 54 41 20 26 32 32 30 3a 4c 44 41 20 |56:STA &220:LDA | 000001f0 23 73 74 61 72 74 20 81 20 32 35 36 3a 53 54 41 |#start . 256:STA| 00000200 20 26 32 32 31 3a 43 4c 49 3a 52 54 53 0d 00 6e | &221:CLI:RTS..n| 00000210 23 2e 73 74 61 72 74 20 44 45 43 20 63 6f 75 6e |#.start DEC coun| 00000220 74 65 72 31 3a 42 45 51 20 6e 6f 77 3a 52 54 53 |ter1:BEQ now:RTS| 00000230 0d 00 78 3d 2e 6e 6f 77 20 53 45 49 3a 4c 44 41 |..x=.now SEI:LDA| 00000240 20 74 65 6d 70 3a 53 54 41 20 26 32 32 30 3a 4c | temp:STA &220:L| 00000250 44 41 20 74 65 6d 70 2b 31 3a 53 54 41 20 26 32 |DA temp+1:STA &2| 00000260 32 31 3a 43 4c 49 3a 4c 44 58 20 23 37 0d 00 82 |21:CLI:LDX #7...| 00000270 b6 2e 73 77 61 70 20 4c 44 41 20 63 74 72 6c 2c |..swap LDA ctrl,| 00000280 58 3a 53 54 41 20 73 74 61 63 6b 2c 58 3a 4c 44 |X:STA stack,X:LD| 00000290 41 20 64 61 74 61 2c 58 3a 53 54 41 20 63 74 72 |A data,X:STA ctr| 000002a0 6c 2c 58 3a 44 45 58 3a 42 50 4c 20 73 77 61 70 |l,X:DEX:BPL swap| 000002b0 3a 4c 44 41 20 23 26 43 30 3a 4c 44 58 20 23 6e |:LDA #&C0:LDX #n| 000002c0 61 6d 65 20 83 20 32 35 36 3a 4c 44 59 20 23 6e |ame . 256:LDY #n| 000002d0 61 6d 65 20 81 20 32 35 36 3a 4a 53 52 20 26 46 |ame . 256:JSR &F| 000002e0 46 43 45 3a 53 54 41 20 63 68 61 6e 6e 65 6c 3a |FCE:STA channel:| 000002f0 54 41 59 3a 4c 44 41 20 23 31 3a 4c 44 58 20 23 |TAY:LDA #1:LDX #| 00000300 63 74 72 6c 3a 4a 53 52 20 26 46 46 44 41 3a 4c |ctrl:JSR &FFDA:L| 00000310 44 58 20 23 32 32 3a 53 54 58 20 63 6f 75 6e 74 |DX #22:STX count| 00000320 65 72 31 0d 00 8c 1f 2e 6c 6f 6f 70 31 20 4c 44 |er1.....loop1 LD| 00000330 58 20 23 33 31 3a 53 54 58 20 63 6f 75 6e 74 65 |X #31:STX counte| 00000340 72 32 0d 00 96 1e 2e 6c 6f 6f 70 32 20 4c 44 58 |r2.....loop2 LDX| 00000350 20 23 30 3a 53 54 58 20 63 6f 75 6e 74 65 72 33 | #0:STX counter3| 00000360 0d 00 a0 af 2e 6c 6f 6f 70 33 20 4c 44 59 20 63 |.....loop3 LDY c| 00000370 68 61 6e 6e 65 6c 3a 4a 53 52 20 26 46 46 44 37 |hannel:JSR &FFD7| 00000380 3a 4a 53 52 20 64 6f 75 62 6c 65 3a 4c 44 59 20 |:JSR double:LDY | 00000390 63 6f 75 6e 74 65 72 33 3a 53 54 41 20 28 73 63 |counter3:STA (sc| 000003a0 72 65 65 6e 29 2c 59 3a 4c 44 41 20 72 65 73 75 |reen),Y:LDA resu| 000003b0 6c 74 2b 31 3a 53 54 41 20 28 73 63 72 65 65 6e |lt+1:STA (screen| 000003c0 2b 32 29 2c 59 3a 49 4e 59 3a 53 54 59 20 63 6f |+2),Y:INY:STY co| 000003d0 75 6e 74 65 72 33 3a 43 50 59 20 23 38 3a 42 4e |unter3:CPY #8:BN| 000003e0 45 20 6c 6f 6f 70 33 3a 4c 44 41 20 23 26 31 30 |E loop3:LDA #&10| 000003f0 3a 4c 44 58 20 23 30 3a 4a 53 52 20 61 64 64 3a |:LDX #0:JSR add:| 00000400 4c 44 41 20 23 26 31 30 3a 4c 44 58 20 23 32 0d |LDA #&10:LDX #2.| 00000410 00 aa 8d 4a 53 52 20 61 64 64 3a 44 45 43 20 63 |...JSR add:DEC c| 00000420 6f 75 6e 74 65 72 32 3a 42 50 4c 20 6c 6f 6f 70 |ounter2:BPL loop| 00000430 32 3a 4c 44 41 20 23 26 38 30 3a 4c 44 58 20 23 |2:LDA #&80:LDX #| 00000440 30 3a 4a 53 52 20 61 64 64 3a 4c 44 41 20 23 26 |0:JSR add:LDA #&| 00000450 38 30 3a 4c 44 58 20 23 32 3a 4a 53 52 20 61 64 |80:LDX #2:JSR ad| 00000460 64 3a 44 45 43 20 63 6f 75 6e 74 65 72 31 3a 42 |d:DEC counter1:B| 00000470 50 4c 20 6c 6f 6f 70 31 3a 4c 44 59 20 63 68 61 |PL loop1:LDY cha| 00000480 6e 6e 65 6c 3a 4c 44 41 20 23 30 3a 4a 53 52 20 |nnel:LDA #0:JSR | 00000490 26 46 46 43 45 3a 4c 44 58 20 23 37 0d 00 b4 5c |&FFCE:LDX #7...\| 000004a0 2e 6c 6f 6f 70 36 20 4c 44 41 20 73 74 61 63 6b |.loop6 LDA stack| 000004b0 2c 58 3a 53 54 41 20 63 74 72 6c 2c 58 3a 44 45 |,X:STA ctrl,X:DE| 000004c0 58 3a 42 50 4c 20 6c 6f 6f 70 36 3a 42 52 4b 3a |X:BPL loop6:BRK:| 000004d0 45 51 55 42 20 26 46 46 3a 45 51 55 53 20 22 46 |EQUB &FF:EQUS "F| 000004e0 53 45 20 66 69 6c 65 20 68 61 73 20 6c 6f 61 64 |SE file has load| 000004f0 65 64 2e 22 3a 42 52 4b 0d 00 be 75 2e 61 64 64 |ed.":BRK...u.add| 00000500 20 43 4c 43 3a 41 44 43 20 73 63 72 65 65 6e 2c | CLC:ADC screen,| 00000510 58 3a 53 54 41 20 73 63 72 65 65 6e 2c 58 3a 4c |X:STA screen,X:L| 00000520 44 41 20 73 63 72 65 65 6e 2b 31 2c 58 3a 41 44 |DA screen+1,X:AD| 00000530 43 20 23 30 3a 53 54 41 20 73 63 72 65 65 6e 2b |C #0:STA screen+| 00000540 31 2c 58 3a 52 54 53 3a 2e 64 6f 75 62 6c 65 20 |1,X:RTS:.double | 00000550 53 54 41 20 62 79 74 65 3a 4c 44 58 20 23 30 3a |STA byte:LDX #0:| 00000560 2e 6c 6f 6f 70 34 20 4c 44 59 20 23 33 0d 00 c8 |.loop4 LDY #3...| 00000570 64 2e 6c 6f 6f 70 35 20 4c 44 41 20 62 79 74 65 |d.loop5 LDA byte| 00000580 3a 52 4f 4c 20 41 3a 4c 44 41 20 72 65 73 75 6c |:ROL A:LDA resul| 00000590 74 2c 58 3a 52 4f 4c 20 41 3a 53 54 41 20 72 65 |t,X:ROL A:STA re| 000005a0 73 75 6c 74 2c 58 3a 4c 44 41 20 62 79 74 65 3a |sult,X:LDA byte:| 000005b0 52 4f 4c 20 41 3a 53 54 41 20 62 79 74 65 3a 4c |ROL A:STA byte:L| 000005c0 44 41 20 72 65 73 75 6c 74 2c 58 3a 52 4f 4c 20 |DA result,X:ROL | 000005d0 41 0d 00 d2 42 53 54 41 20 72 65 73 75 6c 74 2c |A...BSTA result,| 000005e0 58 3a 44 45 59 3a 42 50 4c 20 6c 6f 6f 70 35 3a |X:DEY:BPL loop5:| 000005f0 49 4e 58 3a 43 50 58 20 23 32 3a 42 4e 45 20 6c |INX:CPX #2:BNE l| 00000600 6f 6f 70 34 3a 4c 44 41 20 72 65 73 75 6c 74 3a |oop4:LDA result:| 00000610 52 54 53 0d 00 dc 13 2e 6e 61 6d 65 20 45 51 55 |RTS.....name EQU| 00000620 53 20 22 47 2e 22 0d 00 e6 19 2e 6e 61 6d 65 73 |S "G.".....names| 00000630 74 20 45 51 55 44 20 30 3a 45 51 55 44 20 30 0d |t EQUD 0:EQUD 0.| 00000640 00 f0 18 2e 73 74 61 63 6b 20 45 51 55 44 20 30 |....stack EQUD 0| 00000650 3a 45 51 55 44 20 30 0d 00 fa 16 2e 63 6f 75 6e |:EQUD 0.....coun| 00000660 74 65 72 31 20 45 51 55 42 20 32 30 30 0d 01 04 |ter1 EQUB 200...| 00000670 1f 2e 63 6f 75 6e 74 65 72 32 20 42 52 4b 3a 2e |..counter2 BRK:.| 00000680 63 6f 75 6e 74 65 72 33 20 42 52 4b 0d 01 0e 1f |counter3 BRK....| 00000690 2e 72 65 73 75 6c 74 20 45 51 55 57 20 30 3a 2e |.result EQUW 0:.| 000006a0 74 65 6d 70 20 45 51 55 57 20 30 0d 01 18 1a 2e |temp EQUW 0.....| 000006b0 62 79 74 65 20 42 52 4b 3a 2e 63 68 61 6e 6e 65 |byte BRK:.channe| 000006c0 6c 20 42 52 4b 0d 01 22 2d 2e 64 61 74 61 20 45 |l BRK.."-.data E| 000006d0 51 55 44 20 26 30 30 30 30 30 36 30 34 3a 45 51 |QUD &00000604:EQ| 000006e0 55 44 20 26 33 43 43 30 33 43 42 38 3a 5d 3a ed |UD &3CC03CB8:]:.| 000006f0 3a e1 0d ff |:...| 000006f4