Mouserial-prototype/Docs.sch

682 lines
15 KiB
Plaintext
Raw Normal View History

2019-06-25 00:41:22 +00:00
EESchema Schematic File Version 4
LIBS:Mouserial-cache
EELAYER 29 0
EELAYER END
$Descr A4 11693 8268
encoding utf-8
Sheet 2 2
Title ""
Date ""
Rev ""
Comp ""
Comment1 ""
Comment2 ""
Comment3 ""
Comment4 ""
$EndDescr
Text Notes 2300 1800 0 40 ~ 0
Latch WR data
Text Notes 4700 1800 0 40 ~ 0
Latch addr. attr.\nSwitch 2k IO ROM
Text Notes 2900 1800 0 40 ~ 0
Disallow CS,OE,WE
Text Notes 5300 1800 0 40 ~ 0
Allow CS,OE,WE
Text Notes 6500 1800 0 40 ~ 0
Latch WR data
Text Notes 2800 1000 0 104 ~ 0
Video Access
Text Notes 4300 1250 0 40 ~ 0
S7
Text Notes 1600 1400 2 50 ~ 0
PHI0
Wire Wire Line
2350 1300 2350 1400
Wire Wire Line
2350 1400 4450 1400
Wire Wire Line
4450 1400 4450 1300
Wire Wire Line
4450 1300 6550 1300
Text Notes 4800 1000 0 100 ~ 0
6502 CPU Access
Text Notes 1600 1550 2 50 ~ 0
PHI1
Wire Wire Line
2350 1550 2350 1450
Wire Wire Line
2350 1450 4450 1450
Wire Wire Line
4450 1450 4450 1550
Wire Wire Line
4450 1550 6550 1550
Text Notes 1900 1250 0 40 ~ 0
S3
Text Notes 6700 1250 0 40 ~ 0
S4
Text Notes 6100 1250 0 40 ~ 0
S3
Text Notes 5500 1250 0 40 ~ 0
S2
Text Notes 4900 1250 0 40 ~ 0
S1
Text Notes 3700 1250 0 40 ~ 0
S6
Text Notes 3100 1250 0 40 ~ 0
S5
Wire Wire Line
3500 1150 3800 1150
Text Notes 2500 1250 0 40 ~ 0
S4
Wire Wire Line
2350 1600 2350 1700
Wire Wire Line
3550 1600 2350 1600
Wire Wire Line
3550 1600 3550 1700
Text Notes 1600 1700 2 50 ~ 0
Q3
Wire Wire Line
5650 1600 5650 1700
Wire Wire Line
4450 1600 4450 1700
Wire Wire Line
3550 1700 4450 1700
Wire Wire Line
4450 1600 5650 1600
Wire Wire Line
6550 1700 5650 1700
Wire Wire Line
2000 1250 2300 1250
Wire Wire Line
2000 1250 2000 1150
Wire Wire Line
3800 1150 3800 1250
Text Notes 1600 1250 2 50 ~ 0
C7M
Wire Wire Line
2300 1250 2300 1150
Wire Wire Line
2300 1150 2600 1150
Wire Wire Line
2600 1150 2600 1250
Wire Wire Line
2600 1250 2900 1250
Wire Wire Line
2900 1250 2900 1150
Wire Wire Line
2900 1150 3200 1150
Wire Wire Line
3200 1150 3200 1250
Wire Wire Line
3200 1250 3500 1250
Wire Wire Line
3500 1250 3500 1150
Wire Wire Line
3800 1250 4100 1250
Wire Wire Line
4100 1250 4100 1150
Wire Wire Line
4100 1150 4400 1150
Wire Wire Line
4400 1150 4400 1250
Wire Wire Line
4400 1250 4700 1250
Wire Wire Line
4700 1250 4700 1150
Wire Wire Line
4700 1150 5000 1150
Wire Wire Line
5000 1150 5000 1250
Wire Wire Line
5000 1250 5300 1250
Wire Wire Line
5300 1250 5300 1150
Wire Wire Line
5300 1150 5600 1150
Wire Wire Line
5600 1150 5600 1250
Wire Wire Line
5600 1250 5900 1250
Wire Wire Line
5900 1250 5900 1150
Wire Wire Line
5900 1150 6200 1150
Wire Wire Line
6200 1150 6200 1250
Wire Wire Line
6200 1250 6500 1250
Wire Wire Line
6500 1250 6500 1150
Wire Wire Line
6500 1150 6800 1150
Text Notes 7100 1800 0 40 ~ 0
Disallow CS,OE,WE
Text Notes 7000 1000 0 104 ~ 0
Video Access
Text Notes 8500 1250 0 40 ~ 0
S7
Wire Wire Line
6550 1300 6550 1400
Wire Wire Line
6550 1400 8650 1400
Wire Wire Line
6550 1550 6550 1450
Wire Wire Line
6550 1450 8650 1450
Text Notes 7900 1250 0 40 ~ 0
S6
Text Notes 7300 1250 0 40 ~ 0
S5
Wire Wire Line
7700 1150 8000 1150
Text Notes 6700 1250 0 40 ~ 0
S4
Wire Wire Line
6550 1600 6550 1700
Wire Wire Line
7750 1600 6550 1600
Wire Wire Line
7750 1600 7750 1700
Wire Wire Line
7750 1700 8650 1700
Wire Wire Line
8000 1150 8000 1250
Wire Wire Line
6800 1150 6800 1250
Wire Wire Line
6800 1250 7100 1250
Wire Wire Line
7100 1250 7100 1150
Wire Wire Line
7100 1150 7400 1150
Wire Wire Line
7400 1150 7400 1250
Wire Wire Line
7400 1250 7700 1250
Wire Wire Line
7700 1250 7700 1150
Wire Wire Line
8000 1250 8300 1250
Wire Wire Line
8300 1250 8300 1150
Wire Wire Line
8300 1150 8600 1150
Wire Wire Line
8600 1150 8600 1250
Wire Wire Line
8650 1600 8650 1700
Wire Wire Line
8650 1450 8650 1550
Wire Wire Line
8650 1400 8650 1300
Wire Wire Line
3550 1900 3850 1900
Wire Wire Line
2050 2000 2350 2000
Wire Wire Line
2050 2000 2050 1900
Wire Wire Line
3850 1900 3850 2000
Wire Wire Line
2350 2000 2350 1900
Wire Wire Line
2350 1900 2650 1900
Wire Wire Line
2650 1900 2650 2000
Wire Wire Line
2650 2000 2950 2000
Wire Wire Line
2950 2000 2950 1900
Wire Wire Line
2950 1900 3250 1900
Wire Wire Line
3250 1900 3250 2000
Wire Wire Line
3250 2000 3550 2000
Wire Wire Line
3550 2000 3550 1900
Wire Wire Line
3850 2000 4150 2000
Wire Wire Line
4150 2000 4150 1900
Wire Wire Line
4150 1900 4450 1900
Wire Wire Line
4450 1900 4450 2000
Wire Wire Line
4450 2000 4750 2000
Wire Wire Line
4750 2000 4750 1900
Wire Wire Line
4750 1900 5050 1900
Wire Wire Line
5050 1900 5050 2000
Wire Wire Line
5050 2000 5350 2000
Wire Wire Line
5350 2000 5350 1900
Wire Wire Line
5350 1900 5650 1900
Wire Wire Line
5650 1900 5650 2000
Wire Wire Line
5650 2000 5950 2000
Wire Wire Line
5950 2000 5950 1900
Wire Wire Line
5950 1900 6250 1900
Wire Wire Line
6250 1900 6250 2000
Wire Wire Line
6250 2000 6550 2000
Wire Wire Line
6550 2000 6550 1900
Wire Wire Line
6550 1900 6850 1900
Wire Wire Line
7750 1900 8050 1900
Wire Wire Line
8050 1900 8050 2000
Wire Wire Line
6850 1900 6850 2000
Wire Wire Line
6850 2000 7150 2000
Wire Wire Line
7150 2000 7150 1900
Wire Wire Line
7150 1900 7450 1900
Wire Wire Line
7450 1900 7450 2000
Wire Wire Line
7450 2000 7750 2000
Wire Wire Line
7750 2000 7750 1900
Wire Wire Line
8050 2000 8350 2000
Wire Wire Line
8350 2000 8350 1900
Wire Wire Line
8350 1900 8650 1900
Wire Wire Line
8650 1900 8650 2000
Text Notes 1600 2000 2 50 ~ 0
RClk
Text Notes 1600 2300 2 50 ~ 0
RALE
Wire Wire Line
2100 2200 2100 2300
Wire Wire Line
2400 2350 2400 2450
Wire Wire Line
3900 2300 3900 2200
Wire Wire Line
2400 2450 3600 2450
Wire Wire Line
3600 2450 3600 2350
Wire Wire Line
2100 2300 3900 2300
Text Notes 3150 2150 0 50 ~ 0
D
Wire Wire Line
1850 2050 2150 2050
Wire Wire Line
2150 2150 1850 2150
Wire Wire Line
1850 2150 1800 2050
Wire Wire Line
2150 2050 2200 2150
Wire Wire Line
2150 2150 2200 2050
Text Notes 1950 2150 0 50 ~ 0
A
Wire Wire Line
1850 2050 1800 2150
Wire Wire Line
4500 2200 4500 2300
Wire Wire Line
4800 2350 4800 2450
Wire Wire Line
6300 2300 6300 2200
Wire Wire Line
4800 2450 6000 2450
Wire Wire Line
6000 2450 6000 2350
Wire Wire Line
4500 2300 6300 2300
Text Notes 5550 2150 0 50 ~ 0
D
Wire Wire Line
4250 2050 4550 2050
Wire Wire Line
4550 2150 4250 2150
Wire Wire Line
4250 2150 4200 2050
Wire Wire Line
4550 2050 4600 2150
Wire Wire Line
4550 2150 4600 2050
Text Notes 4350 2150 0 50 ~ 0
A
Wire Wire Line
4250 2050 4200 2150
Wire Wire Line
3600 2350 4800 2350
Wire Wire Line
3900 2200 4500 2200
Wire Wire Line
2200 2150 4200 2150
Wire Wire Line
2200 2050 4200 2050
Wire Wire Line
4000 3050 6000 3050
Wire Wire Line
4000 3150 6000 3150
Wire Wire Line
5700 3200 6300 3200
Wire Wire Line
5400 3350 6600 3350
Wire Wire Line
6050 3050 6000 3150
Text Notes 6150 3150 0 50 ~ 0
A
Wire Wire Line
6350 3150 6400 3050
Wire Wire Line
6350 3050 6400 3150
Wire Wire Line
6050 3150 6000 3050
Wire Wire Line
6350 3150 6050 3150
Wire Wire Line
6050 3050 6350 3050
Text Notes 7350 3150 0 50 ~ 0
D
Wire Wire Line
6300 3300 8100 3300
Wire Wire Line
7800 3450 7800 3350
Wire Wire Line
6600 3450 7800 3450
Wire Wire Line
8100 3300 8100 3200
Wire Wire Line
6600 3350 6600 3450
Wire Wire Line
6300 3200 6300 3300
Wire Wire Line
3400 2550 5400 2550
Wire Wire Line
3400 2650 5400 2650
Wire Wire Line
5100 2700 5700 2700
Wire Wire Line
4800 2850 6000 2850
Wire Wire Line
5450 2550 5400 2650
Text Notes 5550 2650 0 50 ~ 0
A
Wire Wire Line
5750 2650 5800 2550
Wire Wire Line
5750 2550 5800 2650
Wire Wire Line
5450 2650 5400 2550
Wire Wire Line
5750 2650 5450 2650
Wire Wire Line
5450 2550 5750 2550
Text Notes 6750 2650 0 50 ~ 0
D
Wire Wire Line
5700 2800 7500 2800
Wire Wire Line
7200 2950 7200 2850
Wire Wire Line
6000 2950 7200 2950
Wire Wire Line
7500 2800 7500 2700
Wire Wire Line
6000 2850 6000 2950
Wire Wire Line
5700 2700 5700 2800
Wire Wire Line
3650 3050 3600 3150
Text Notes 3750 3150 0 50 ~ 0
A
Wire Wire Line
3950 3150 4000 3050
Wire Wire Line
3950 3050 4000 3150
Wire Wire Line
3650 3150 3600 3050
Wire Wire Line
3950 3150 3650 3150
Wire Wire Line
3650 3050 3950 3050
Text Notes 4950 3150 0 50 ~ 0
D
Wire Wire Line
3900 3300 5700 3300
Wire Wire Line
5400 3450 5400 3350
Wire Wire Line
4200 3450 5400 3450
Wire Wire Line
5700 3300 5700 3200
Wire Wire Line
4200 3350 4200 3450
Wire Wire Line
3900 3200 3900 3300
Wire Wire Line
3050 2550 3000 2650
Text Notes 3150 2650 0 50 ~ 0
A
Wire Wire Line
3350 2650 3400 2550
Wire Wire Line
3350 2550 3400 2650
Wire Wire Line
3050 2650 3000 2550
Wire Wire Line
3350 2650 3050 2650
Wire Wire Line
3050 2550 3350 2550
Text Notes 4350 2650 0 50 ~ 0
D
Wire Wire Line
3300 2800 5100 2800
Wire Wire Line
4800 2950 4800 2850
Wire Wire Line
3600 2950 4800 2950
Wire Wire Line
5100 2800 5100 2700
Wire Wire Line
3600 2850 3600 2950
Wire Wire Line
3300 2700 3300 2800
Wire Wire Line
6900 2200 6900 2300
Wire Wire Line
7200 2350 7200 2450
Wire Wire Line
8700 2300 8700 2200
Wire Wire Line
7200 2450 8400 2450
Wire Wire Line
8400 2450 8400 2350
Wire Wire Line
6900 2300 8700 2300
Text Notes 7950 2150 0 50 ~ 0
D
Wire Wire Line
6650 2050 6950 2050
Wire Wire Line
6950 2150 6650 2150
Wire Wire Line
6650 2150 6600 2050
Wire Wire Line
6950 2050 7000 2150
Wire Wire Line
6950 2150 7000 2050
Text Notes 6750 2150 0 50 ~ 0
A
Wire Wire Line
6650 2050 6600 2150
Wire Wire Line
6000 2350 7200 2350
Wire Wire Line
6300 2200 6900 2200
Wire Wire Line
4600 2150 6600 2150
Wire Wire Line
4600 2050 6600 2050
Wire Wire Line
1750 1900 1750 2000
Wire Wire Line
1750 1900 2050 1900
Wire Wire Line
1750 1150 1750 1250
Wire Wire Line
1750 1150 2000 1150
Wire Wire Line
1750 1250 1700 1250
Wire Wire Line
1700 1300 2350 1300
Wire Wire Line
1700 1550 2350 1550
Wire Wire Line
1700 1700 2350 1700
Wire Wire Line
1750 2000 1700 2000
Wire Wire Line
1700 2050 1800 2050
Wire Wire Line
1700 2150 1800 2150
Wire Wire Line
1700 2200 2100 2200
Wire Wire Line
1700 2350 2400 2350
Wire Wire Line
8900 1250 8900 1150
Wire Wire Line
8600 1250 8900 1250
Wire Wire Line
8950 2000 8950 1900
Wire Wire Line
8650 2000 8950 2000
Wire Wire Line
1700 2550 3000 2550
Wire Wire Line
1700 2650 3000 2650
Wire Wire Line
1700 2700 3300 2700
Wire Wire Line
1700 2850 3600 2850
Wire Wire Line
1700 3050 3600 3050
Wire Wire Line
1700 3150 3600 3150
Wire Wire Line
1700 3200 3900 3200
Wire Wire Line
1700 3350 4200 3350
Text Notes 1600 2450 2 50 ~ 0
R~WR~/R~RD~
Text Notes 1600 2150 2 50 ~ 0
RAD[7:0]
Text Notes 1600 2800 2 50 ~ 0
RALE
Text Notes 1600 2950 2 50 ~ 0
R~WR~/R~RD~
Text Notes 1600 2650 2 50 ~ 0
RAD[7:0]
Text Notes 1600 3300 2 50 ~ 0
RALE
Text Notes 1600 3450 2 50 ~ 0
R~WR~/R~RD~
Text Notes 1600 3150 2 50 ~ 0
RAD[7:0]
Wire Bus Line
4400 1000 4400 1800
Wire Bus Line
8600 1000 8600 1800
Wire Wire Line
8900 1150 9000 1150
Wire Wire Line
8650 1300 9000 1300
Wire Wire Line
8650 1550 9000 1550
Wire Wire Line
8650 1600 9000 1600
Wire Wire Line
9000 1900 8950 1900
Wire Wire Line
7000 2050 9000 2050
Wire Wire Line
7000 2150 9000 2150
Wire Wire Line
8700 2200 9000 2200
Wire Wire Line
8400 2350 9000 2350
Wire Wire Line
5800 2550 9000 2550
Wire Wire Line
5800 2650 9000 2650
Wire Wire Line
7500 2700 9000 2700
Wire Wire Line
7200 2850 9000 2850
Wire Wire Line
6400 3050 9000 3050
Wire Wire Line
6400 3150 9000 3150
Wire Wire Line
8100 3200 9000 3200
Wire Wire Line
7800 3350 9000 3350
Text Notes 1400 5750 0 50 ~ 0
S[2:0] = (S == 0) ? 0 : (~Q3~ & PHI1) ? 7 : S+1 @ C7M\nCSEN = S1 | S2 | S3 @ C7M\n\nABankSEL = (A==C0XF) & DEVSEL @ C7M in S7\nAVBlSEL = (A==C0XB) & DEVSEL @ C7M in S7\nAVidSEL = (A==C0XA) & DEVSEL @ C7M in S7\nAArgResHSEL = (A==C0X3) & DEVSEL @ C7M in S7\nAArgResLSEL = (A==C0X2) & DEVSEL @ C7M in S7\nACmdStatSEL = (A==C0X0) & DEVSEL @ C7M in S7\n\nRArgResHSEL = ALE & RA==XXX3\nRArgResLSEL = ALE & RA==XXX2\nRCmdStatSEL = ALE & RA==XXX0\n\nIOROMEN = (A==XFFF/X7FF & IOSTRB) ? 0 :\n (A==CX00 & IOSEL) ? 1 :\n IOROMEN @ C7M in S7\n\nROMA[15:12] = (S3 & ABankSEL & ~R~W) ? D[3:0] @ C7M\nArgResH[7:0] = (~S3~ & RArgResHSEL & WR) ? RAD[7:0] :\n (S3 & AArgResHSEL & ~R~W) ? D[7:0] @ C7M\nArgResL[7:0] = (~S3~ & RArgResLSEL & WR) ? RAD[7:0] :\n (S3 & AArgResLSEL & ~R~W) ? D[7:0] @ C7M\nCmdDone = (~S3~ & RCmdStatSEL & WR) ? RAD[7] :\n (S3 & ACmdSEL & ~R~W) ? 1 @ C7M\nCmd[7:0] = (S3 & ACmdSEL & ~R~W) ? D[7:0] @ C7M
Text Notes 3850 3800 0 50 ~ 0
R~ALE~ low by Sn. 1 wait-state access from AVR.\nTwo opportunities to read: Sn and Sn+1.\nTwo opportunities to write: Sn+1 and Sn+2
Text Notes 8100 5850 0 50 ~ 0
AVR Registers:\n XX0A: Read current video byte\n XX01: Result register\n XX00: Command/Status register\n\nCommands to AVR:\n FF: Software Reset\n 5F: SET_Y0H (clamp)\n 5E: SET_Y0L (clamp)\n 5D: SET_Y1H (clamp)\n 5C: SET_Y1L (clamp)\n 5B: SET_X0H (clamp)\n 5A: SET_X0L (clamp)\n 59: SET_X1H (clamp)\n 58: SET_X1L (clamp)\n 57: SET_YH (pos)\n 56: SET_YL (pos)\n 55: SET_XH (pos)\n 54: SET_XL (pos)\n 53: GET_YH (pos)\n 52: GET_YL (pos)\n 51: GET_XH (pos)\n 50: GET_XL (pos)\n 4F: SET_CLEAR (pos)\n 4E: SET_HOME (pos)\n 27: GET_IRQSTATE\n 26: SET_MODE\n 25: INIT_VBL\n 24: INIT_MOUSE
Text Notes 6050 4900 0 50 ~ 0
Apple II Registers:\n C0XF: ROM bank (4-bit)\n C0XB: Vblank (8X if blanking, 0X o.w.)\n C0XA: Read current video byte\n C0X1: Result register\n C0X0: Command/Status register\n\nMouse Entry Vector Table:\n 19: INITMOUSE: Reset mouse clamps, position\n 18: HOMEMOUSE: Set mouse to top-left of camp\n 17: CLAMPMOUSE: Bound mouse in a window\n 16: POSMOUSE: Set mouse position\n 15: CLEARMOUSE: Clear mouse position to 0\n 14: READMOUSE Read mouse position\n 13: SERVEMOUSE Service mouse interrupt\n 12: SETMOUSE Set mouse mode
Text Notes 3850 5300 0 50 ~ 0
R~CS~ = ~CSEN & (IOSEL | (IOSTRB & IOROMEN))~\nR~OE~ = ~R~W\n\nA[7:0] = ~AOE~ ? 8bZ : RAR[7:0]\nD[7:0] = (~DEVSEL~ | ~CSEN~ | ~R~W | AVidSEL) ? 8bZ :\n ACmdStatusSEL ? {CmdDone, 7b7F} :\n AArgResHSEL ? ArgResH[7:0] :\n AArgResLSEL ? ArgResL[7:0] :\n AVBlSEL ? (VBl ? 0x80 : 0x00)\n\nRAD[7:0] = ~RRD~ ? 8bZ : RDR[7:0]\nRAR[7:0] = RAD[7:0] @ ALE\nRDR[7:0] = (RCmdStatSEL & ~S3~ & ~RDRSet~) ? Cmd[7:0] :\n (RArgResLSEL & ~S3~ & ~RDRSet~) ? ArgResL[7:0] :\n (RArgResHSEL & ~S3~ & ~RDRSet~) ? ArgResH[7:0]\nRDRSet = ~ALE~ ? 0 : ~S3~ ? 1 : RDRSet\n
Wire Bus Line
1650 2500 9050 2500
Wire Bus Line
1650 1850 9050 1850
Wire Bus Line
1650 3000 9050 3000
Wire Bus Line
7100 1100 7100 3500
Wire Bus Line
7700 1100 7700 3500
Wire Bus Line
6500 1000 6500 3500
Wire Bus Line
5900 1100 5900 3500
Wire Bus Line
5300 1100 5300 3500
Wire Bus Line
4700 1100 4700 3500
Wire Bus Line
4100 1100 4100 3500
Wire Bus Line
3500 1100 3500 3500
Wire Bus Line
2900 1100 2900 3500
Wire Bus Line
2300 1000 2300 3500
Wire Bus Line
1750 1100 1750 3500
Wire Bus Line
8300 1100 8300 3500
Wire Bus Line
8900 1100 8900 3500
$EndSCHEMATC