Home » Personal collection » Commodore disks » disk41a_autostereo.d64 » autocode
autocode
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 » Commodore disks » disk41a_autostereo.d64 |
| Filename: | autocode |
| Read OK: | ✔ |
| File size: | 0BA0 bytes |
| Load address: | 0801 |
| Exec address: | 0000 |
File contents
10 ; AUTOSTEREOGRAM GENERATOR
20 ;
30 ; 17/12/95
40 ;
50 *=$C200
60 I=$CF00
70 J=$CF01
80 S=$CF02
90 SEP=$CF03
100 XPIXEL=$CF04
110 YPIXEL=$CF05
120 XPIB=$CF06
130 YPIB=$CF07
140 RNO=$CF08
1000 ; GRAPHIC POINT PLOTTER
1010 PLOTPC LDA #$47
1020 STA $FB
1030 LDA #$3F
1040 STA $FC
1050 LDA YPIXEL
1060 LSR A
1070 LSR A
1080 LSR A
1090 STA YPIB
1100 AND #$03
1110 ASL A
1120 ASL A
1130 ASL A
1140 ASL A
1150 ASL A
1160 ASL A
1170 STA $02
1180 LDA $FB
1190 SEC
1200 SBC $02
1210 STA $FB
1220 LDA $FC
1230 SBC #$00
1240 SBC YPIB
1250 PHA
1260 LDA YPIB
1270 LSR A
1280 LSR A
1290 STA $02
1300 PLA
1310 SEC
1320 SBC $02
1330 STA $FC
1340 LDA YPIXEL
1350 AND #$07
1360 STA YPIB
1370 LDA $FB
1380 SEC
1390 SBC YPIB
1400 PHA
1410 LDA XPIXEL
1420 AND #$F8
1430 STA YPIB
1440 PLA
1450 CLC
1460 ADC YPIB
1470 STA $FB
1480 LDA $FC
1490 SBC #$00
1500 STA $FC
1510 LDA XPIXEL
1520 AND #$07
1530 TAX
1540 LDA #$80
1550 GBITLP CPX #$00
1560 BEQ PPCONT
1570 LSR A
1580 DEX
1590 JMP GBITLP
1600 PPCONT STA $FD
1610 RTS
1620 PLOTON JSR PLOTPC
1630 LDY #$00
1640 LDA ($FB),Y
1650 ORA $FD
1660 STA ($FB),Y
1670 RTS
1680 PLOTOFF JSR PLOTPC
1690 LDA $FD
1700 EOR #$FF
1710 STA $FD
1720 LDY #$00
1730 LDA ($FB),Y
1740 AND $FD
1750 STA ($FB),Y
1760 RTS
1770 READPIX JSR PLOTPC
1780 LDY #$00
1790 LDA ($FB),Y
1800 AND $FD
1810 BNE READPOS
1815 LDA #$2D
1820 RTS
1830 READPOS LDA #$29
1840 RTS
2000 ; BITMAP ON ROUTINE
2010 GRAPHIC LDA $D018
2020 AND #$01
2030 ORA #$18
2040 STA $D018
2050 LDA $DD02
2060 ORA #$03
2070 STA $DD02
2080 LDA $DD00
2090 AND #$FC
2100 ORA #$03
2110 STA $DD00
2120 LDA $D011
2130 ORA #$20
2140 STA $D011
2150 LDA #$04
2160 STA $FC
2170 LDY #$00
2180 STY $FB
2190 LDA #$01
2200 GRLOP STA ($FB),Y
2210 INY
2220 BNE GRLOP
2230 INC $FC
2240 LDX $FC
2250 CPX #$08
2260 BNE GRLOP
2270 RTS
3000 ; AUTOSTEREOGRAM CALCULATOR
3010 JOYSTEREO JSR GRAPHIC
3020 LDA #$C7
3030 STA YPIXEL
3040 JOYLINE LDY #$00
3050 STY $FB
3060 LDA #$C0
3070 STA $FC
3080 LINELOP TYA
3090 STA ($FB),Y
3100 INY
3110 BNE LINELOP
3120 LDA #$00
3130 STA XPIXEL
3140 XLOP JSR READPIX
3150 STA SEP
3160 AND YPIXEL
3170 AND #$01
3180 CLC
3190 ADC SEP
3200 LSR A
3210 STA I
3220 LDA XPIXEL
3230 SEC
3240 SBC I
3250 BCC XRELOP
3260 STA I
3270 CLC
3280 ADC SEP
3290 BCS XRELOP
3300 STA J
3310 REPEAT LDX I
3320 LDA $C000,X
3330 STA S
3340 CMP J
3350 BCS LLELSE
3360 STA I
3370 JMP L210
3380 LLELSE LDA J
3390 STA $C000,X
3400 STA I
3410 LDA S
3420 STA J
3430 L210 LDX I
3440 LDA $C000,X
3450 CMP I
3460 BNE REPEAT
3470 LDX J
3480 LDA $C000,X
3490 CMP J
3500 BNE REPEAT
3510 LDA J
3520 LDX I
3530 STA $C000,X
3540 XRELOP LDX XPIXEL
3550 INX
3560 BEQ YRELOP
3570 STX XPIXEL
3580 JMP XLOP
3590 YRELOP JSR DISP
3600 DEC YPIXEL
3610 LDA YPIXEL
3620 BEQ JOYEND
3630 JMP JOYLINE
3640 JOYEND RTS
3650 DISP LDA #$00
3660 STA XPIXEL
3670 DLOP TAX
3680 LDA $C000,X
3690 CMP XPIXEL
3700 BNE DELSE
3710 LDA RNO
3720 LSR A
3730 INC $A2
3740 ADC $A2
3750 LDX $A2
3760 ADC $0000,X
3770 STA RNO
3780 AND #$01
3790 LDX XPIXEL
3800 STA $C100,X
3810 JMP NELSE
3820 DELSE LDA $C000,X
3830 TAY
3840 LDA $C100,Y
3850 STA $C100,X
3860 NELSE CMP #$00
3870 BEQ NOBL
3880 JSR PLOTON
3885 JMP REDISP
3890 NOBL JSR PLOTOFF
3900 REDISP DEC XPIXEL
3910 LDA XPIXEL
3920 BNE DLOP
3930 RTS
; AUTOSTEREOGRAM GENERATOR & ; 5 ; 17/12/95 ;( ; G2 ��$C200 S<