Home » Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_39.ADF » P/UDCMod
P/UDCMod
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 ADFS disks » Electron_User_Group » EUG_39.ADF |
Filename: | P/UDCMod |
Read OK: | ✔ |
File size: | 04C8 bytes |
Load address: | FFFF0E00 |
Exec address: | FFFF802B |
Duplicates
There are 3 duplicate copies of this file in the archive:
- AEW website » eug » eug_5_25_discs_Eug-39_D-EUG39.dsd » U.UDGMOD
- Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_39.ADF » P/UDCMod
- Personal collection » Acorn ADFS disks » Greaseweazled » dfs_box04_disk02b_eug_scripts.adf » PT4/P/UDCMod
- Personal collection » Acorn hard disk » zipped_disks » elk03 » eug39/P/UDCMod
File contents
10 MODE2:HIMEM=&2C00:PROCasschar 20 REM Put your program code here! 990 END 1000 : 1010 DEFPROCasschar 1020 start=&A00:bitmap=&2C00:file$="<Filename>" 1030 FORpass=0 TO 2 STEP 2 1040 P%=start:[OPTpass 1050 .display LDAyc:AND#1:TAY:LDAlorow,Y:STA&70:LDAyc:LSR A:CLC:ADCyc:ADCyc:ADC#&30:STA&71:LDAxc:ASL A:STA&72:LDA#0:ROL A:STA&73:ASL&72:ROL&73:ASL&72:ROL&73:ASL&72:ROL&73:ASL&72:ROL&73:LDA&70:CLC:ADC&72:STA&70:LDA&71:ADC&73:STA&71 1060 LDA&70:CLC:ADCyoff:STA&70:LDA&71:ADC#0:STA&71:LDAxoff:ASL A:ASL A:ASL A:CLC:ADC&70:STA&70:LDA&71:ADC#0:STA&71 1070 LDAchar:ASL A:ASL A:ASL A:STA&72:LDA#0:ROL A:STA&73:ASL&72:ROL&73:ASL&72:ROL&73:LDA&72:CLC:ADC#(bitmap MOD 256):STA&72:LDA&73:ADC#(bitmap DIV 256):STA&73 1080 LDA#8:PHA:.col LDX#3:.row TXA:ASL A:ASL A:ASL A:TAY:LDA(&70),Y:.settype LDA(&72),Y:STA(&70),Y:DEX:BPLrow:PLA:TAX:DEX:CPX#0:BEQfindisp:TXA:PHA:INC&72:LDA&70:CLC:ADC#1:PHA:STA&70:LDA&71:ADC#0:STA&71:PLA:AND#7:BNEcol 1090 LDA&70:CLC:ADC#&78:STA&70:LDA&71:ADC#2:STA&71:JMPcol 1100 .findisp RTS 1110 .lorow EQUB0:EQUB&80:.xc EQUB0:.yc EQUB0:.xoff EQUB0:.yoff EQUB0:.char EQUB0 1130 ]:NEXT:OSCLI"LOAD "+file$+" 2C00" 1140 ENDPROC 1150 : 1160 DEFPROCsetpaint(type) 1170 IF type=0 THEN ?settype=&B1 1180 IF type=1 THEN ?settype=&11 1190 IF type=2 THEN ?settype=&31 1200 IF type=3 THEN ?settype=&51 1210 ENDPROC
�2:�=&2C00:�asschar " � Put your program code here! � � � : � ��asschar �/ start=&A00:bitmap=&2C00:file$="<Filename>" �pass=0 � 2 � 2 P%=start:[OPTpass � .display LDAyc:�#1:TAY:LDAlorow,Y:STA&70:LDAyc:LSR A:CLC:ADCyc:ADCyc:ADC#&30:STA&71:LDAxc:ASL A:STA&72:LDA#0:ROL A:STA&73:ASL&72:ROL&73:ASL&72:ROL&73:ASL&72:ROL&73:ASL&72:ROL&73:LDA&70:CLC:ADC&72:STA&70:LDA&71:ADC&73:STA&71 $r LDA&70:CLC:ADCyoff:STA&70:LDA&71:ADC#0:STA&71:LDAxoff:ASL A:ASL A:ASL A:CLC:ADC&70:STA&70:LDA&71:ADC#0:STA&71 .� LDAchar:ASL A:ASL A:ASL A:STA&72:LDA#0:ROL A:STA&73:ASL&72:ROL&73:ASL&72:ROL&73:LDA&72:CLC:ADC#(bitmap � 256):STA&72:LDA&73:ADC#(bitmap � 256):STA&73 8� LDA#8:PHA:.col LDX#3:.row TXA:ASL A:ASL A:ASL A:TAY:LDA(&70),Y:.settype LDA(&72),Y:STA(&70),Y:DEX:BPLrow:PLA:TAX:DEX:CPX#0:BEQfindisp:TXA:PHA:INC&72:LDA&70:CLC:ADC#1:PHA:STA&70:LDA&71:ADC#0:STA&71:PLA:�#7:BNEcol B9 LDA&70:CLC:ADC#&78:STA&70:LDA&71:ADC#2:STA&71:JMPcol L .findisp RTS VQ .lorow EQUB0:EQUB&80:.xc EQUB0:.yc EQUB0:.xoff EQUB0:.yoff EQUB0:.char EQUB0 j ]:�:�"LOAD "+file$+" 2C00" t � ~ : � ��setpaint(type) � � type=0 � ?settype=&B1 � � type=1 � ?settype=&11 � � type=2 � ?settype=&31 � � type=3 � ?settype=&51 � � �
00000000 0d 00 0a 18 20 eb 32 3a d3 3d 26 32 43 30 30 3a |.... .2:.=&2C00:| 00000010 f2 61 73 73 63 68 61 72 0d 00 14 22 20 f4 20 50 |.asschar..." . P| 00000020 75 74 20 79 6f 75 72 20 70 72 6f 67 72 61 6d 20 |ut your program | 00000030 63 6f 64 65 20 68 65 72 65 21 0d 03 de 06 20 e0 |code here!.... .| 00000040 0d 03 e8 06 20 3a 0d 03 f2 0e 20 dd f2 61 73 73 |.... :.... ..ass| 00000050 63 68 61 72 0d 03 fc 2f 20 73 74 61 72 74 3d 26 |char.../ start=&| 00000060 41 30 30 3a 62 69 74 6d 61 70 3d 26 32 43 30 30 |A00:bitmap=&2C00| 00000070 3a 66 69 6c 65 24 3d 22 3c 46 69 6c 65 6e 61 6d |:file$="<Filenam| 00000080 65 3e 22 0d 04 06 14 20 e3 70 61 73 73 3d 30 20 |e>".... .pass=0 | 00000090 b8 20 32 20 88 20 32 0d 04 10 16 20 50 25 3d 73 |. 2 . 2.... P%=s| 000000a0 74 61 72 74 3a 5b 4f 50 54 70 61 73 73 0d 04 1a |tart:[OPTpass...| 000000b0 e4 20 2e 64 69 73 70 6c 61 79 20 4c 44 41 79 63 |. .display LDAyc| 000000c0 3a 80 23 31 3a 54 41 59 3a 4c 44 41 6c 6f 72 6f |:.#1:TAY:LDAloro| 000000d0 77 2c 59 3a 53 54 41 26 37 30 3a 4c 44 41 79 63 |w,Y:STA&70:LDAyc| 000000e0 3a 4c 53 52 20 41 3a 43 4c 43 3a 41 44 43 79 63 |:LSR A:CLC:ADCyc| 000000f0 3a 41 44 43 79 63 3a 41 44 43 23 26 33 30 3a 53 |:ADCyc:ADC#&30:S| 00000100 54 41 26 37 31 3a 4c 44 41 78 63 3a 41 53 4c 20 |TA&71:LDAxc:ASL | 00000110 41 3a 53 54 41 26 37 32 3a 4c 44 41 23 30 3a 52 |A:STA&72:LDA#0:R| 00000120 4f 4c 20 41 3a 53 54 41 26 37 33 3a 41 53 4c 26 |OL A:STA&73:ASL&| 00000130 37 32 3a 52 4f 4c 26 37 33 3a 41 53 4c 26 37 32 |72:ROL&73:ASL&72| 00000140 3a 52 4f 4c 26 37 33 3a 41 53 4c 26 37 32 3a 52 |:ROL&73:ASL&72:R| 00000150 4f 4c 26 37 33 3a 41 53 4c 26 37 32 3a 52 4f 4c |OL&73:ASL&72:ROL| 00000160 26 37 33 3a 4c 44 41 26 37 30 3a 43 4c 43 3a 41 |&73:LDA&70:CLC:A| 00000170 44 43 26 37 32 3a 53 54 41 26 37 30 3a 4c 44 41 |DC&72:STA&70:LDA| 00000180 26 37 31 3a 41 44 43 26 37 33 3a 53 54 41 26 37 |&71:ADC&73:STA&7| 00000190 31 0d 04 24 72 20 4c 44 41 26 37 30 3a 43 4c 43 |1..$r LDA&70:CLC| 000001a0 3a 41 44 43 79 6f 66 66 3a 53 54 41 26 37 30 3a |:ADCyoff:STA&70:| 000001b0 4c 44 41 26 37 31 3a 41 44 43 23 30 3a 53 54 41 |LDA&71:ADC#0:STA| 000001c0 26 37 31 3a 4c 44 41 78 6f 66 66 3a 41 53 4c 20 |&71:LDAxoff:ASL | 000001d0 41 3a 41 53 4c 20 41 3a 41 53 4c 20 41 3a 43 4c |A:ASL A:ASL A:CL| 000001e0 43 3a 41 44 43 26 37 30 3a 53 54 41 26 37 30 3a |C:ADC&70:STA&70:| 000001f0 4c 44 41 26 37 31 3a 41 44 43 23 30 3a 53 54 41 |LDA&71:ADC#0:STA| 00000200 26 37 31 0d 04 2e 9a 20 4c 44 41 63 68 61 72 3a |&71.... LDAchar:| 00000210 41 53 4c 20 41 3a 41 53 4c 20 41 3a 41 53 4c 20 |ASL A:ASL A:ASL | 00000220 41 3a 53 54 41 26 37 32 3a 4c 44 41 23 30 3a 52 |A:STA&72:LDA#0:R| 00000230 4f 4c 20 41 3a 53 54 41 26 37 33 3a 41 53 4c 26 |OL A:STA&73:ASL&| 00000240 37 32 3a 52 4f 4c 26 37 33 3a 41 53 4c 26 37 32 |72:ROL&73:ASL&72| 00000250 3a 52 4f 4c 26 37 33 3a 4c 44 41 26 37 32 3a 43 |:ROL&73:LDA&72:C| 00000260 4c 43 3a 41 44 43 23 28 62 69 74 6d 61 70 20 83 |LC:ADC#(bitmap .| 00000270 20 32 35 36 29 3a 53 54 41 26 37 32 3a 4c 44 41 | 256):STA&72:LDA| 00000280 26 37 33 3a 41 44 43 23 28 62 69 74 6d 61 70 20 |&73:ADC#(bitmap | 00000290 81 20 32 35 36 29 3a 53 54 41 26 37 33 0d 04 38 |. 256):STA&73..8| 000002a0 d8 20 4c 44 41 23 38 3a 50 48 41 3a 2e 63 6f 6c |. LDA#8:PHA:.col| 000002b0 20 4c 44 58 23 33 3a 2e 72 6f 77 20 54 58 41 3a | LDX#3:.row TXA:| 000002c0 41 53 4c 20 41 3a 41 53 4c 20 41 3a 41 53 4c 20 |ASL A:ASL A:ASL | 000002d0 41 3a 54 41 59 3a 4c 44 41 28 26 37 30 29 2c 59 |A:TAY:LDA(&70),Y| 000002e0 3a 2e 73 65 74 74 79 70 65 20 4c 44 41 28 26 37 |:.settype LDA(&7| 000002f0 32 29 2c 59 3a 53 54 41 28 26 37 30 29 2c 59 3a |2),Y:STA(&70),Y:| 00000300 44 45 58 3a 42 50 4c 72 6f 77 3a 50 4c 41 3a 54 |DEX:BPLrow:PLA:T| 00000310 41 58 3a 44 45 58 3a 43 50 58 23 30 3a 42 45 51 |AX:DEX:CPX#0:BEQ| 00000320 66 69 6e 64 69 73 70 3a 54 58 41 3a 50 48 41 3a |findisp:TXA:PHA:| 00000330 49 4e 43 26 37 32 3a 4c 44 41 26 37 30 3a 43 4c |INC&72:LDA&70:CL| 00000340 43 3a 41 44 43 23 31 3a 50 48 41 3a 53 54 41 26 |C:ADC#1:PHA:STA&| 00000350 37 30 3a 4c 44 41 26 37 31 3a 41 44 43 23 30 3a |70:LDA&71:ADC#0:| 00000360 53 54 41 26 37 31 3a 50 4c 41 3a 80 23 37 3a 42 |STA&71:PLA:.#7:B| 00000370 4e 45 63 6f 6c 0d 04 42 39 20 4c 44 41 26 37 30 |NEcol..B9 LDA&70| 00000380 3a 43 4c 43 3a 41 44 43 23 26 37 38 3a 53 54 41 |:CLC:ADC#&78:STA| 00000390 26 37 30 3a 4c 44 41 26 37 31 3a 41 44 43 23 32 |&70:LDA&71:ADC#2| 000003a0 3a 53 54 41 26 37 31 3a 4a 4d 50 63 6f 6c 0d 04 |:STA&71:JMPcol..| 000003b0 4c 11 20 2e 66 69 6e 64 69 73 70 20 52 54 53 0d |L. .findisp RTS.| 000003c0 04 56 51 20 2e 6c 6f 72 6f 77 20 45 51 55 42 30 |.VQ .lorow EQUB0| 000003d0 3a 45 51 55 42 26 38 30 3a 2e 78 63 20 45 51 55 |:EQUB&80:.xc EQU| 000003e0 42 30 3a 2e 79 63 20 45 51 55 42 30 3a 2e 78 6f |B0:.yc EQUB0:.xo| 000003f0 66 66 20 45 51 55 42 30 3a 2e 79 6f 66 66 20 45 |ff EQUB0:.yoff E| 00000400 51 55 42 30 3a 2e 63 68 61 72 20 45 51 55 42 30 |QUB0:.char EQUB0| 00000410 0d 04 6a 1f 20 5d 3a ed 3a ff 22 4c 4f 41 44 20 |..j. ]:.:."LOAD | 00000420 22 2b 66 69 6c 65 24 2b 22 20 32 43 30 30 22 0d |"+file$+" 2C00".| 00000430 04 74 06 20 e1 0d 04 7e 06 20 3a 0d 04 88 15 20 |.t. ...~. :.... | 00000440 dd f2 73 65 74 70 61 69 6e 74 28 74 79 70 65 29 |..setpaint(type)| 00000450 0d 04 92 1c 20 e7 20 74 79 70 65 3d 30 20 8c 20 |.... . type=0 . | 00000460 3f 73 65 74 74 79 70 65 3d 26 42 31 0d 04 9c 1c |?settype=&B1....| 00000470 20 e7 20 74 79 70 65 3d 31 20 8c 20 3f 73 65 74 | . type=1 . ?set| 00000480 74 79 70 65 3d 26 31 31 0d 04 a6 1c 20 e7 20 74 |type=&11.... . t| 00000490 79 70 65 3d 32 20 8c 20 3f 73 65 74 74 79 70 65 |ype=2 . ?settype| 000004a0 3d 26 33 31 0d 04 b0 1c 20 e7 20 74 79 70 65 3d |=&31.... . type=| 000004b0 33 20 8c 20 3f 73 65 74 74 79 70 65 3d 26 35 31 |3 . ?settype=&51| 000004c0 0d 04 ba 06 20 e1 0d ff |.... ...| 000004c8