diff --git a/hardware/fpga/glu/README.md b/hardware/fpga/glu/README.md index fdbd74a..afc2d7d 100644 --- a/hardware/fpga/glu/README.md +++ b/hardware/fpga/glu/README.md @@ -4,3 +4,17 @@ The GLU chip is a Programmable Array Logic (PAL) chip used to facilitate I/O logic and the like. In particular, it is a PAL16L8. The equation list and fusemap that can be used to program a modern ATF16V8 chip is contained here. + +The design file is in the CUPL programming language, named `glu.pld`. +It was created by reading the GLU chip as a ROM, dumping it, and +analyzing the output to create simplified logic equations. + +The generated fuse map is included in the repository for convenience, +named `glu.jed`. + +## Credits + +Kai Robinson dumped the actual GLU contents, read it as a 27C020. Rob +Taylor provided the proper PAL dumper board. Porchy from +jammarcade.net helped analyze this and converted it into a fuse map +proper. diff --git a/hardware/fpga/glu/bbu.jed b/hardware/fpga/glu/bbu.jed new file mode 100644 index 0000000..c8a5633 --- /dev/null +++ b/hardware/fpga/glu/bbu.jed @@ -0,0 +1,35 @@ + +CUPL(WM) 5.0a Serial# 60008009 +Device g16v8ma Library DLIB-h-40-8 +Created Sat Nov 21 10:18:06 2020 +Name D:\apple1 +Partno +Revision +Date +Designer Porchy +Company JAMMArcade.net +Assembly +Location +*QP20 +*QF2194 +*G0 +*F0 +*L00000 11111111111111111111111111111110 +*L00032 11111111111111111111011111111111 +*L00512 11111111111111111111111111111111 +*L00544 11111111011111111111111111111111 +*L00768 11111111111111111111111111111111 +*L00800 11111111111110111011111111111111 +*L01024 11111111111111111111111111111111 +*L01056 11111111111110110111111111111111 +*L01280 10110111111111111111111111111111 +*L01792 11111111111111111111111111111111 +*L01824 11111111111111111111111111101011 +*L01856 11111111111111111111111110100111 +*L01888 11111111111111111111111101011011 +*L02048 00000100000000000000000000000000 +*L02112 00000000111111111111111111111111 +*L02144 11111111111111111111111111111111 +*L02176 111111111111111111 +*C3B99 +*CFDC \ No newline at end of file diff --git a/hardware/fpga/glu/glu.pld b/hardware/fpga/glu/glu.pld new file mode 100644 index 0000000..6664966 --- /dev/null +++ b/hardware/fpga/glu/glu.pld @@ -0,0 +1,47 @@ +Name glu ; +PartNo 00 ; +Date 07/11/2020 ; +Revision 01 ; +Designer Kai Robinson ; +Company Atmel ; +Assembly None ; +Location ; +Device virtual ; + +/* Dedicated input pins */ + +pin 1 = CLK; /* Input */ +pin 2 = PB6; /* Input */ +pin 3 = IRQ; /* Input */ +pin 4 = WRDATA; /* Input */ +pin 5 = ENABLE1; /* Input */ +pin 6 = PA4; /* Input */ +pin 7 = 16MCLK; /* Input */ +pin 8 = PA3; /* Input */ +pin 9 = RTXCB; /* Input */ +pin 11 = OE; /* Input */ + +/* Programmable output pins */ + +pin 12 = RTXCA; /* Combinatorial output */ +pin 13 = OUTA; /* Fixed high output */ +pin 14 = BBUIRQ; /* Combinatorial output w/ output enable */ +pin 15 = ENABLEL; /* Combinatorial output */ +pin 16 = ENABLEU; /* Combinatorial output */ +pin 17 = FLOPPYWR; /* Combinatorial output */ +pin 18 = nc; /* Fixed high output */ +pin 19 = FCLK; /* Combinatorial output w/ output enable */ + +/* Output equations */ + +!FCLK = 16MCLK & !OE; + nc = 'b'1; +!FLOPPYWR = WRDATA; +!ENABLEU = !ENABLE1 & !PA4; +!ENABLEL = !ENABLE1 & PA4; +!BBUIRQ = !PB6 & IRQ; + OUTA = 'b'1; +!RTXCA = !PA3 & !RTXCB & !OUTA + # PA3 & !RTXCB & !OUTA + # !PA3 & RTXCB & !OUTA + # PA3 & !RTXCB & OUTA; diff --git a/hardware/pcb/mlb/BOM.txt b/hardware/pcb/mlb/BOM.txt new file mode 100644 index 0000000..fc32a42 --- /dev/null +++ b/hardware/pcb/mlb/BOM.txt @@ -0,0 +1,172 @@ +* Partlist from file: MacintoshSE.lay6" / 07/11/2020 00:32:29 +* +* Name Value +* + +C1 100nF +C2 100nF +C3 100nF +C4 33uF 16v +C5 33 pF +C6 100nF +C7 100nF +C8 100nF +C9 100nF +C10 100nF +C11 33uF 16v +C12 100nF +C13 33uF 16v +C15 100nF +C16 33uF 16v +C17 100nF +C18 33pF +C19 10pF +C20 100nF +C21 100nF +C22 100nF +C23 100nF +C24 100nF +C25 100nF +C26 33uF 16v +C27 100nF +C28 100nF +C29 100nF +C30 100nF +C31 100nF +C32 33uF 16v +C33 100nF +C34 33uF 16v +C35 100nF +C36 1uF 16v +C37 33uF 16v +C38 33uF 16v +C39 100nF +C40 68pF +C41 100nF +C42 100nF +C43 100nF +C44 100nF +C45 100nF +C46 100nF +C47 100nF +C48 100nF +C49 100nF +C50 100nF +C51 100nF +C52 100nF +C53 100nF +C54 100nF +C55 100nF +C56 100nF +C57 100nF +C58 100nF +C59 100nF +C60 100nF +C61 100nF +C62 33uF 16v +C63 100nF +C64 100nF +C65 100nF +C66 100nF +C67 100nF +CR1 1N4150 +CR2 1N4150 +CR3 1N4150 +J1 EAR Kobiconn 161-3520-EX +J2 SERIAL TE 5749268-1 +J3 SERIAL TE 5749268-1 +J4 EXT SCSI Amphenol L77SDB25S1ACH4R +J5 INT SCSI Molex 87831-5019 +J6 EXT FLOPPY +J7 UPPER DRIVE Molex 87831-5920 +J8 LOWER DRIVE Molex 87831-5920 +J9 ADB TE 5749181-1 +J10 ADB TE 5749181-1 +J11 Speaker +J12 MAIN Molex 39-28-1143 +J13 PDS TE 5535032-4 +J14 SIMM PE Connectors HWS9229 +J15 SIMM PE Connectors HWS9229 +J16 1x3 HEADER +L1 33uH +L2 33uH +L3 33uH +L4 Ferrite Bead +Q1 2N3904 +R1 10k +R2 10 +R3 47 +R4 47 +R5 560k +R6 10 +R7 10 +R8 1.2k +R9 47 +R10 47 +R11 1k +R12 150 +R13 1k +R14 470 +R15 1k +R16 3.3k +R17 10k +R18 1k +R19 10 +R20 75 +R21 3.3k +R22 47 +R23 47 +R24 47 +R25 560 +R26 3.3k +R27 3.3k +R28 47 +R29 47 +R30 47 +R31 10k +R32A 47 +R33A 47 +R34 10k +R35 150 +R36 150 +R37 39 +R38 39 +R39A 47 +R40A 47 +R41 3.3k +R42 39 +R43 3.3k +R44 3.3k +R45 3.3k +R46 3.3k +R47 3.3k +R48 3.3k +RP1 39 Bourns 4610X-102-390LF +RP2 39 Bourns 4610X-102-390LF +U1C SND +U2B FILTER Bourns 4120R-601-250/201 +U2C 26LS30 +U2E 74ACT257 +U2F 74ACT257 +U3C 26LS32 +U4B FILTER Bourns 4120R-601-250/201 +U4C 26LS32 +U4D MC3488A +U4E BBU +U5D 85C30 SCC +U6B 58C30 SCSI +U6D ROM HIGH +U7D ROM LOW +U7E MC68000 +U8B FILTER +U8D SWIM +U9D GLU +U10C ADB +U10D 16 Mhz Clock +U11A ADB FILTER HALO LD11-0246FLF (24uH Common Mode 1:1:1:1 Choke) +U11B FILTER Bourns 4120R-601-250/201 +U11C RTC +U11D Rockwell 338-6523 TPI +U11F 74FCT245 +U12F 74FCT245 +Y1 32.768 KHz diff --git a/hardware/pcb/mlb/README.md b/hardware/pcb/mlb/README.md index 25cd428..722e0de 100644 --- a/hardware/pcb/mlb/README.md +++ b/hardware/pcb/mlb/README.md @@ -9,5 +9,7 @@ the [output](output) directory. Check out this forum thread on the 68kMLA where development on reverse engineering and replicating the Macintosh SE's MLB is happening. -https://68kmla.org/forums/index.php?app=forums&module=forums&controller=topic&id=60059 +https://68kmla.org/forums/topic/60059-reverse-engineering-the-macintosh-se-pcb-custom-chips-for-11-reproduction/ +For convenience, one version of the BOM posted there is also included +in this repository.