commit 4ce5af75c2cbd4c7a0bc07403a2e2d1bd6607056 Author: Andrew Makousky Date: Thu Aug 6 18:02:37 2020 -0500 Initial commit diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..c8c5711 --- /dev/null +++ b/LICENSE @@ -0,0 +1,129 @@ +CC0 1.0 Universal + +Statement of Purpose + +The laws of most jurisdictions throughout the world automatically +confer exclusive Copyright and Related Rights (defined below) upon the +creator and subsequent owner(s) (each and all, an "owner") of an +original work of authorship and/or a database (each, a "Work"). + +Certain owners wish to permanently relinquish those rights to a Work +for the purpose of contributing to a commons of creative, cultural and +scientific works ("Commons") that the public can reliably and without +fear of later claims of infringement build upon, modify, incorporate +in other works, reuse and redistribute as freely as possible in any +form whatsoever and for any purposes, including without limitation +commercial purposes. These owners may contribute to the Commons to +promote the ideal of a free culture and the further production of +creative, cultural and scientific works, or to gain reputation or +greater distribution for their Work in part through the use and +efforts of others. + +For these and/or other purposes and motivations, and without any +expectation of additional consideration or compensation, the person +associating CC0 with a Work (the "Affirmer"), to the extent that he or +she is an owner of Copyright and Related Rights in the Work, +voluntarily elects to apply CC0 to the Work and publicly distribute +the Work under its terms, with knowledge of his or her Copyright and +Related Rights in the Work and the meaning and intended legal effect +of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may +be protected by copyright and related or neighboring rights +("Copyright and Related Rights"). Copyright and Related Rights +include, but are not limited to, the following: + +i. the right to reproduce, adapt, distribute, perform, display, + communicate, and translate a Work; + +ii. moral rights retained by the original author(s) and/or + performer(s); + +iii. publicity and privacy rights pertaining to a person's image or + likeness depicted in a Work; + +iv. rights protecting against unfair competition in regards to a Work, + subject to the limitations in paragraph 4(a), below; + +v. rights protecting the extraction, dissemination, use and reuse of + data in a Work; + +vi. database rights (such as those arising under Directive 96/9/EC of + the European Parliament and of the Council of 11 March 1996 on the + legal protection of databases, and under any national + implementation thereof, including any amended or successor version + of such directive); and + +vii. other similar, equivalent or corresponding rights throughout the + world based on applicable law or treaty, and any national + implementations thereof. + +2. Waiver. To the greatest extent permitted by, but not in +contravention of, applicable law, Affirmer hereby overtly, fully, +permanently, irrevocably and unconditionally waives, abandons, and +surrenders all of Affirmer's Copyright and Related Rights and +associated claims and causes of action, whether now known or unknown +(including existing as well as future claims and causes of action), in +the Work (i) in all territories worldwide, (ii) for the maximum +duration provided by applicable law or treaty (including future time +extensions), (iii) in any current or future medium and for any number +of copies, and (iv) for any purpose whatsoever, including without +limitation commercial, advertising or promotional purposes (the +"Waiver"). Affirmer makes the Waiver for the benefit of each member of +the public at large and to the detriment of Affirmer's heirs and +successors, fully intending that such Waiver shall not be subject to +revocation, rescission, cancellation, termination, or any other legal +or equitable action to disrupt the quiet enjoyment of the Work by the +public as contemplated by Affirmer's express Statement of Purpose. + +3. Public License Fallback. Should any part of the Waiver for any +reason be judged legally invalid or ineffective under applicable law, +then the Waiver shall be preserved to the maximum extent permitted +taking into account Affirmer's express Statement of Purpose. In +addition, to the extent the Waiver is so judged Affirmer hereby grants +to each affected person a royalty-free, non transferable, non +sublicensable, non exclusive, irrevocable and unconditional license to +exercise Affirmer's Copyright and Related Rights in the Work (i) in +all territories worldwide, (ii) for the maximum duration provided by +applicable law or treaty (including future time extensions), (iii) in +any current or future medium and for any number of copies, and (iv) +for any purpose whatsoever, including without limitation commercial, +advertising or promotional purposes (the "License"). The License shall +be deemed effective as of the date CC0 was applied by Affirmer to the +Work. Should any part of the License for any reason be judged legally +invalid or ineffective under applicable law, such partial invalidity +or ineffectiveness shall not invalidate the remainder of the License, +and in such case Affirmer hereby affirms that he or she will not (i) +exercise any of his or her remaining Copyright and Related Rights in +the Work or (ii) assert any associated claims and causes of action +with respect to the Work, in either case contrary to Affirmer's +express Statement of Purpose. + +4. Limitations and Disclaimers. + + a. No trademark or patent rights held by Affirmer are waived, + abandoned, surrendered, licensed or otherwise affected by this + document. + + b. Affirmer offers the Work as-is and makes no representations or + warranties of any kind concerning the Work, express, implied, + statutory or otherwise, including without limitation warranties + of title, merchantability, fitness for a particular purpose, non + infringement, or the absence of latent or other defects, + accuracy, or the present or absence of errors, whether or not + discoverable, all to the greatest extent permissible under + applicable law. + + c. Affirmer disclaims responsibility for clearing rights of other + persons that may apply to the Work or any use thereof, including + without limitation any person's Copyright and Related Rights in + the Work. Further, Affirmer disclaims responsibility for + obtaining any necessary consents, permissions or other rights + required for any use of the Work. + + d. Affirmer understands and acknowledges that Creative Commons is + not a party to this document and has no duty or obligation with + respect to this CC0 or use of the Work. + +For more information, please see + diff --git a/README.md b/README.md new file mode 100644 index 0000000..92437a2 --- /dev/null +++ b/README.md @@ -0,0 +1,64 @@ +# Macintosh SE Hardware + +This is my effort to assemble all the pertinent hardware design +information on the Macintosh SE into a single coherent information +repository. The goal is to be able to have sufficiently detailed +information to, in theory, reproduce an identical (or nearly so) +physical, functional copy of the Macintosh SE. + +However, my primary interest in having this information available is +to have detailed information for studying the Macintosh SE hardware, +and for maintaining existing Macintosh SE computers. + +Conventional Macintosh emulator software prioritizes access to +application software without regard to the mechanical and electrical +design of the actual machine itself. My hope is that this repository +of information will enable the same kind of virtual access to the +hardware as we have to the vintage Macintosh software through the use +of conventional Macintosh emulators. + +## What is currently available? + +Currently, this repository only contains a vector graphics hand +trace-over of page 1 of the Macintosh SE Main Logic Board (MLB) +schematics. Typed text is used for all legible text. Since pages 2 +and 3 of the MLB schematics are missing and nowhere to be found on the +Internet, they will have to be redrawn from the reverse engineered +printed circuit board layout. + +Follow this link to [jump to the redrawn +schematic](old_artifacts/schems/retrace_se_mlb_p1.pdf). + +There are lots of other independent projects with good pieces of +information out and about on the Macintosh SE. For the time being, +these are linked from documentation in the repository. In the event +the project has a potentially insecure future or lacks a durable +storage location, the pertinent information is copied into this +repository. + +## See also + +Check out the GitHub repository repository with redrawn schematics for +the Macintosh SE/30: + +https://github.com/mishimasensei/macse30mlb + +## License + +Since a primary goal of this project is to assemble historic +information into a coherent repository, as much as possible, new +developments are released into the public domain. After all, as is +well understood in the vintage computing community, all patents and +copyrights are destined to eventually expire with the passing of +enough time, at which point the covered works cede into the public +domain. + +Therefore, if you don't have an interest in exercising any exclusive +rights covered under copyright, you might as well simply declare your +works to enter the public domain early, rather than using a permissive +license or a copyleft license. For example, the CERN Open Hardware +Licence. + +In the event that your jurisdiction does not have the concept of the +public domain, the Creative Commons Public Domain Dedication License +(CC0) is used as a fallback permissive license. diff --git a/RECAPPING.md b/RECAPPING.md new file mode 100644 index 0000000..5699e5e --- /dev/null +++ b/RECAPPING.md @@ -0,0 +1,7 @@ +# Recap project links and info + +Here is a list of links to various Macintosh SE recapping projects. + +---------- + +https://recapamac.com.au/macintosh-se/ diff --git a/VIDEO.md b/VIDEO.md new file mode 100644 index 0000000..400116f --- /dev/null +++ b/VIDEO.md @@ -0,0 +1,28 @@ +# Macintosh SE Internal CRT Replacement + +Got a Macintosh SE with a non-functional CRT? No worries, there is +actually an easy workaround to get video on your Macintosh SE! + +The CRT is controlled by 3 digital output signals: + +* `VIDOUT` +* `*HSYNC` +* `*VSYNC` + +These are all 5 V logic signals. Therefore, they can be packed up +into a DB-9 connector for TTL or ECL video. Commercially available +flat panel displays are avaiable with adapter electronics that can +accept TTL or ECL video, since it apparently became very popular in +specialized industrial equipment. Once you've got your monitor and +connectors all set up, you should be good to go. + +* Visited 2020-08-06: + https://allpinouts.org/pinouts/connectors/computer_video/ecl-video/ +* Visited 2020-08-06: + https://allpinouts.org/pinouts/connectors/computer_video/monochrome-ttl/ + +It might be relevant that ECL stands for "Emitter Coupled Logic" in +other contexts, here is a source for reference. + +* Visited 2020-08-06: + https://technobyte.org/logic-families-ttl-cmos-ecl-bicmos-difference/ diff --git a/firmware/README.md b/firmware/README.md new file mode 100644 index 0000000..3ce8861 --- /dev/null +++ b/firmware/README.md @@ -0,0 +1,4 @@ +# firmware + +This directory contains firmware images required for the various ROM +chips in the hardware design. diff --git a/firmware/adb/README.md b/firmware/adb/README.md new file mode 100644 index 0000000..8134067 --- /dev/null +++ b/firmware/adb/README.md @@ -0,0 +1,4 @@ +# adb + +This directory contains the firmware for the ADB (Apple Desktop Bus) +chip, which is actually an Apple-branded PIC16CR54 microcontroller. diff --git a/firmware/rom/README.md b/firmware/rom/README.md new file mode 100644 index 0000000..be0537b --- /dev/null +++ b/firmware/rom/README.md @@ -0,0 +1,9 @@ +# rom + +This directory can contain ROM dumps of the Macintosh SE's main system +firmware boot ROM that is directly accessible to the CPU. However, +due to their uncertain copyright status, they are currently not +included in the repository. + +Additionally, links to other projects to provide a modern replacement +ROM for the Macintosh SE are also provided here. diff --git a/firmware/rtc/MacPlusRTC.cpp b/firmware/rtc/MacPlusRTC.cpp new file mode 100644 index 0000000..796c708 --- /dev/null +++ b/firmware/rtc/MacPlusRTC.cpp @@ -0,0 +1,206 @@ +#include +#include +#include + +/**************************************** + * * + * A drop-in replacement for the custom * + * RTC chip in early Apple Macintosh * + * computers, using an ATtiny85. * + * Uses an external 32.768kHz crystal * + * on pins 2 and 3 as a clock source. * + * __ __ * + * 1SEC -|1 \/ 8|- VCC * + * XTAL2 -|2 7|- RTC.CLK * + * XTAL1 -|3 6|- RTC.DATA * + * GND -|4____5|- !RTC * + * * + ****************************************/ + +const int ONE_SEC_PIN = 1; // A 1Hz square wave on PB5 +const int RTC_ENABLE_PIN = 5; // Active low chip enable on PB0 +const int SERIAL_DATA_PIN = 6; // Bi-directional serial data line on PB1 +const int SERIAL_CLOCK_PIN = 7; // Serial clock input on PB2 + +const int PRAM_SIZE = 256; // Mac Plus used the xPRAM chip with 256 bytes, time is a separate 4 additional bytes +//const int PRAM_SIZE = 20; // Models earlier than the Plus had 20 bytes of PRAM + +volatile byte serialBitNum = 0; +volatile byte address = 0; +volatile byte serialData = 0; + + +enum SerialStateType { SERIAL_DISABLED, RECEIVING_COMMAND, SENDING_DATA, RECEIVING_DATA }; +volatile SerialStateType serialState = SERIAL_DISABLED; + +volatile unsigned long seconds = 0; +volatile byte pram[PRAM_SIZE] = {}; // 256 Bytes of PRAM, the first four of which count the number of seconds since 1/1/1904 + +/* + * The following is potential locations of various bits of PRAM data, none of this is in any way certain: + * Sound volume is in pram[0x08] + * Alert sound is in param[0x7c - 0x7d] + * Machine location and timezone is in pram[0xE4 - 0xEF] + */ + + +/* + * An interrupt to both increment the seconds counter and generate the square wave + */ +void halfSecondInterrupt() { + PINB = 1<>(8*i))&0xff); + } + interrupts(); // Go ahead and interrupt us while we save the rest + for(int i = 0; i < PRAM_SIZE; i++) { + EEPROM.update(i+4,pram[i]); + } +} + + +void goToSleep() { + bitClear(MCUCR,SM0); // The two SM bits must be set to 00 to enter idle mode + bitClear(MCUCR,SM1); // Sleeping in other modes will disable the timer + bitSet(MCUCR,SE); + __asm__("sleep" "\n\t"); + bitClear(MCUCR,SE); +} + +void setup() { + noInterrupts(); // Disable interrupts while we set things up + + pinMode(ONE_SEC_PIN, OUTPUT); // The 1Hz square wave (used, I think, for interrupts elsewhere in the system) + pinMode(RTC_ENABLE_PIN, INPUT_PULLUP); // The processor pulls this pin low when it wants access + pinMode(SERIAL_CLOCK_PIN, INPUT_PULLUP); // The serial clock is driven by the processor + pinMode(SERIAL_DATA_PIN, INPUT_PULLUP); // We'll need to switch this to output when sending data + + wdt_disable(); // Disable watchdog + bitSet(ACSR,ACD); // Disable Analog Comparator, don't need it, saves power + bitSet(PRR,PRTIM1); // Disable Timer 1, only using Timer 0, Timer 1 uses around ten times as much current + bitSet(PRR,PRUSI); // Disable Universal Serial Interface, using Apple's RTC serial interface on pins 6 and 7 + bitSet(PRR,PRADC); // Disable Analog/Digital Converter + + bitSet(GIMSK,PCIE); // Pin Change Interrupt Enable + bitSet(PCMSK,PCINT0); // turn on RTC enable interrupt + +// for(int i = 0; i < 4; i++) { +// seconds += ((unsigned long)EEPROM.read(i))<<(8*i); +// } +// for(int i = 0; i < PRAM_SIZE; i--) { // Preload PRAM with saved values +// pram[i] = EEPROM.read(i+4); +// } + + //set up timer + bitSet(GTCCR,TSM); // Turns off timers while we set it up + bitSet(TIMSK,TOIE0); // Set Timer/Counter0 Overflow Interrupt Enable + TCCR0B = 0b111; // Set prescaler, 32,768Hz/64 = 512Hz, fills up the 8-bit counter (256) once every half second + TCNT0 = 0; // Clear the counter + bitClear(GTCCR,TSM); // Turns timers back on + + interrupts(); //We're done setting up, enable those interrupts again +} + +void loop() { + if(digitalRead(RTC_ENABLE_PIN)) { + clearState(); + goToSleep(); + } else if(digitalRead(SERIAL_CLOCK_PIN)) { + switch(serialState) { + + case RECEIVING_COMMAND: + bitWrite(address,7-serialBitNum,digitalRead(SERIAL_DATA_PIN)); + serialBitNum++; + if(serialBitNum > 7) { + boolean writeRequest = address&(1<<7); // the MSB determines if it's a write request or not + address &= ~(1<<7); // Discard the first bit, it's not part of the address + serialBitNum = 0; + if(writeRequest) { + serialState = RECEIVING_DATA; + serialBitNum = 0; + } else { + if (address < 4) { + serialData = (seconds>>(8*address))&0xff; + } if(!(address&0b0110000)) { // Apparently this address range is off-limits for reading + serialData = pram[address]; + } + serialState = SENDING_DATA; + serialBitNum = 0; + pinMode(SERIAL_DATA_PIN, OUTPUT); // Set the pin to output mode + } + } + break; + + case RECEIVING_DATA: + bitWrite(serialData,7-serialBitNum,digitalRead(SERIAL_DATA_PIN)); + serialBitNum++; + if(serialBitNum > 7) { + if(address < 4) { + noInterrupts(); // Don't update the seconds counter while we're updating it, bad stuff could happen + seconds = (seconds & ~(((long)0xff)< 7) { + clearState(); + } + } + } +} + +/* + * Actually attach the interrupt functions + */ +ISR(PCINT0_vect) { + handleRTCEnableInterrupt(); +} + +ISR(TIMER0_OVF) { + halfSecondInterrupt(); +} diff --git a/firmware/rtc/README.md b/firmware/rtc/README.md new file mode 100644 index 0000000..c3843be --- /dev/null +++ b/firmware/rtc/README.md @@ -0,0 +1,11 @@ +# RTC + +This directory contains a work-in-progress firmware for implementing a +drop-in replacement for the RTC on ATTiny85 microcontroller. I've +made a few modification to this particular copy, but it still needs +more work to be fully functional. + +Source, Visited 2020-08-05: + +* https://www.reddit.com/r/VintageApple/comments/91e5cf/couldnt_find_a_replacement_for_the_rtcpram_chip/e2xqq60/ +* https://pastebin.com/baPZ4nN4 diff --git a/hardware/3d_print/README.md b/hardware/3d_print/README.md new file mode 100644 index 0000000..b132d87 --- /dev/null +++ b/hardware/3d_print/README.md @@ -0,0 +1,4 @@ +# 3d_prints + +This directory contains 3D printable parts like the external enclosure +case, etc. diff --git a/hardware/README.md b/hardware/README.md new file mode 100644 index 0000000..fb03cf2 --- /dev/null +++ b/hardware/README.md @@ -0,0 +1,4 @@ +# hardware + +This directory contains design files, schematics, and related +documentation for hardware components. diff --git a/hardware/fpga/README.md b/hardware/fpga/README.md new file mode 100644 index 0000000..d607c7c --- /dev/null +++ b/hardware/fpga/README.md @@ -0,0 +1,6 @@ +# fpga + +This directory contains hardware description language (Verilog/VHDL) +source files for the Field Programmable Gate Arrays (FPGAs) that +implement the functions of the custom Application Specific Integrated +Circuits (ASICs) found in the original hardware. diff --git a/hardware/fpga/bbu/README.md b/hardware/fpga/bbu/README.md new file mode 100644 index 0000000..ac24664 --- /dev/null +++ b/hardware/fpga/bbu/README.md @@ -0,0 +1,37 @@ +# "BBU" Apple Custom Silicon + +The "BBU", as it is called on the Macintosh SE's printed circuit board +silkscreen, is a relatively complex Apple custom silicon chip, +compared to the other custom chips on the Macintosh SE's Main Logic +Board (MLB). Despite its intimidating look as a chip with a huge +number of pins, its purpose can be summarized as follows. + +* Provide a single address bus interface to ROM, RAM, and I/O devices, + including simple digital I/O pins. + +* Scan the CRT by driving the primary digital control signals + (`*VSYNC`, `*HSYNC`, `VIDOUT`). + +There might be additional processing functions it may provide as a +convenience between the CPU and the various other hardware chips, but +chances are these processing functions are relatively simple. + +Most of the I/O pins that are connected to the BBU are single-bit +digital I/O signals that are relatively easy to understand. Reverse +engineering the Macintosh SE's firmware may be required to determine +how these pins are mapped into the CPU's address space, but once that +determination is made, providing a replica interface to most of the +connected hardware should be super-easy. + +The following I/O chips are connected to the BBU: + +* VIA interrupt controller + +* IWM/SWIM floppy disk controller + +* SCSI Controller + +* Serial Communications Controller (SCC) + +Other chips that are connected to the BBU are mainly interfaced via +only simple, single-pin interfaces. diff --git a/hardware/fpga/bbu/bbu_pinout.csv b/hardware/fpga/bbu/bbu_pinout.csv new file mode 100644 index 0000000..a033ba0 --- /dev/null +++ b/hardware/fpga/bbu/bbu_pinout.csv @@ -0,0 +1,85 @@ +BBU Pin,Signal Name,Description,Device Connection,Device Pin +1,GND,,, +2,RD7,,, +3,RD8,,, +4,RD9,,, +5,RD10,,, +6,RD11,,, +7,RD12,,, +8,RD13,,, +9,RD14,,, +10,RD15,,, +11,EXTPDS,,, +12,EN245,Select Data Buffer,74LS245, +13,VCC,,, +14,/WR,,, +15,/CAS-SIMM3,,SIMM3,2 +16,/CAS-SIMM1,,SIMM1,2 +17,/EOP,,53C80, +18,/CAS-SIMM4,,SIMM4,2 +19,/CAS-SIMM2,,SIMM2,2 +20,/RAS,,, +21,GND,,, +22,VCC,,, +23,A23,,, +24,A22,,, +25,A21,,, +26,A20,,, +27,A19,,, +28,A17,,, +29,A9,,, +30,/IPL1,,68000, +31,/IPL0,,68000, +32,IRQ,,65C22/6523, +33,/LDS,,68000, +34,/BERR,,68000, +35,/UDS,,, +36,/VPA,,68000, +37,CK,,68000, +38,/DTACK,,68000, +39,SELROM,Select ROM,ROM,"20 on ROM HI, LO" +40,"RTxCB, PCLK, ADB CLK",All the things,"85C30, ADB, GLU","20 & 28 on 85C30, 16 on ADB, 9 on GLU" +41,/AS,,, +42,VCC,,, +43,GND,,, +44,FCLK,,"SWIM, GLU","24 on SWIM, 19 on GLU" +45,SELSCC,Select SCC,85C30,32 on /CE +46,/RD,,85C30, +47,R/W,,, +48,SELSWIM,Select SWIM,SWIM,7 on /DEV +49,EXTFLP,PWM,External Floppy,10 on PWM +50,PB7,,65C22/6523, +51,SELSND,Select Sound,SND, +52,EXTPDS,,, +53,PA6,,65C22/6523, +54,/LDS,,, +55,DRQ,,53C80,22 on DRQ +56,/DACK,,53C80,26 on /DACK +57,SELSCSI,Select SCSI,53C80,21 on /CS +58,SELVIA,Select VIA,65C22/6523,24 on RS0 +59,/RST,,, +60,HSYNC,Horizontal Sync,J12,Pin 10 on J12 +61,VSYNC,Veritcal Sync,"J12, 65C22/6523","Pin 11 on J12, 40 on DB7" +62,VIDOUT,Composite Video Out,"J12, 65C22/6523","Pin 9 on J12, 28 on PC3" +63,GND,,, +64,VCC,,, +65,RA9,,, +66,RA7,,, +67,RA8,,, +68,RA6,,, +69,RD0,,, +70,RA5,,, +71,RA4,,, +72,RD1,,, +73,RA3,,, +74,RD2,,, +75,RD3,,, +76,RA2,,, +77,RD4,,, +78,RA1,,, +79,RA0,,, +80,RD5,,, +81,/PMCYC,,74F257,/OE +82,EN257,Select Address Buffer,74F257, +83,RD6,,, +84,VCC,,, \ No newline at end of file diff --git a/hardware/fpga/glu/README.md b/hardware/fpga/glu/README.md new file mode 100644 index 0000000..fdbd74a --- /dev/null +++ b/hardware/fpga/glu/README.md @@ -0,0 +1,6 @@ +# GLU + +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. diff --git a/hardware/fpga/rtc/README.md b/hardware/fpga/rtc/README.md new file mode 100644 index 0000000..ac6bb0a --- /dev/null +++ b/hardware/fpga/rtc/README.md @@ -0,0 +1,14 @@ +# RTC Apple Custom Silicon + +The RTC (Real-Time Clock) chip within the Macintosh SE is an Apple +custom silicon chip that implements the real-time clock and +battery-backed PRAM (Parameter RAM). Fortunately, its simplicity has +yielded a fairly complete replacement chip design that is based around +the pin-compatible ATTiny85 chip running appropriate firmware. See +the `firmware` directory for details. + +Nevertheless, if we do get a microscopic chip scan of the original +silicon, this directory would contain corresponding design files to +replicate the original design as-is. Since the chip design is so +simple, this might be easily doable with conventional DSLR macro +photography after the packaging is opened up. diff --git a/hardware/pcb/README.md b/hardware/pcb/README.md new file mode 100644 index 0000000..60788db --- /dev/null +++ b/hardware/pcb/README.md @@ -0,0 +1,3 @@ +# pcb + +This directory contains Printed Circuit Board (PCB) designs. diff --git a/hardware/pcb/mlb/README.md b/hardware/pcb/mlb/README.md new file mode 100644 index 0000000..25cd428 --- /dev/null +++ b/hardware/pcb/mlb/README.md @@ -0,0 +1,13 @@ +# mlb + +This directory contains the schematics and circuit board design for +the Macintosh SE Main Logic Board (MLB). + +PDF schematics, Gerber files, and other generated files are found in +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 + diff --git a/hardware/pcb/mlb/output/README.md b/hardware/pcb/mlb/output/README.md new file mode 100644 index 0000000..a9789fe --- /dev/null +++ b/hardware/pcb/mlb/output/README.md @@ -0,0 +1,4 @@ +# Generated Artifacts + +This directory contains files/data that have been generated from +source files within. diff --git a/old_artifacts/README.md b/old_artifacts/README.md new file mode 100644 index 0000000..a8be47f --- /dev/null +++ b/old_artifacts/README.md @@ -0,0 +1,12 @@ +# old_artifacts + +This directory contains pertinent information that came from the +original manufactured and distributed artifacts. + +* [schems](schems): Scans and vector retraces of photocopied + schematics distributed to anyone who requested them. + +* [mlb_stock_photos](mlb_stock_photos): Photographs of the + mass-production manufactured Macintosh SE main logic board, as is + typically photographed for the sake of Internet forum communications + and sales, as opposed to reproduction-oriented photos. diff --git a/old_artifacts/mlb_stock_photos/.gitignore b/old_artifacts/mlb_stock_photos/.gitignore new file mode 100644 index 0000000..8f87457 --- /dev/null +++ b/old_artifacts/mlb_stock_photos/.gitignore @@ -0,0 +1,2 @@ +recapamac_se_mlb.jpg +wikipedia_se_mlb.jpg diff --git a/old_artifacts/mlb_stock_photos/README.md b/old_artifacts/mlb_stock_photos/README.md new file mode 100644 index 0000000..1118f14 --- /dev/null +++ b/old_artifacts/mlb_stock_photos/README.md @@ -0,0 +1,11 @@ +These are links to helpful photos of the of the Macintosh SE Main +Logic Board (MLB). + +PLEASE NOTE: The MLB in the photo from `recapamac.com` is hacked. + +Source URLs of accompanying web pages and photos: + +* Visited 2020-08-05: https://en.wikipedia.org/wiki/Macintosh_SE +* Visited 2020-08-05: https://upload.wikimedia.org/wikipedia/commons/6/65/Apple_Macintosh_SE_Main_PCB.jpg +* Visited 2020-08-05: https://recapamac.com.au/macintosh-se/ +* Visited 2020-08-05: https://recapamac.com.au/wp-content/uploads/2019/08/mac_se_logic.jpg diff --git a/old_artifacts/mlb_stock_photos/get_photos.sh b/old_artifacts/mlb_stock_photos/get_photos.sh new file mode 100755 index 0000000..d335b45 --- /dev/null +++ b/old_artifacts/mlb_stock_photos/get_photos.sh @@ -0,0 +1,8 @@ +#! /bin/sh +# Use a shell script to download the photos so that we do not add +# bloat to the repository size that we don't strictly need. GitHub +# has bandwidth limits, so let's try to keep away from those as much +# as possible. + +curl -L https://upload.wikimedia.org/wikipedia/commons/6/65/Apple_Macintosh_SE_Main_PCB.jpg -o wikipedia_se_mlb.jpg +curl -L https://recapamac.com.au/wp-content/uploads/2019/08/mac_se_logic.jpg -o recapamac_se_mlb.jpg diff --git a/old_artifacts/schems/.gitignore b/old_artifacts/schems/.gitignore new file mode 100644 index 0000000..b0772e0 --- /dev/null +++ b/old_artifacts/schems/.gitignore @@ -0,0 +1,3 @@ +se_mlb_p1.gif +se_mlb_p1_tmp.png +se_mlb_p1_proc.png diff --git a/old_artifacts/schems/Makefile b/old_artifacts/schems/Makefile new file mode 100644 index 0000000..0d9035b --- /dev/null +++ b/old_artifacts/schems/Makefile @@ -0,0 +1,17 @@ +all: retrace_se_mlb_p1.pdf + +se_mlb_p1.gif: + ./get_scans.sh + +se_mlb_p1_proc.png: se_mlb_p1.gif + ./resize-mlb-scan.sh + +retrace_se_mlb_p1.pdf: retrace_se_mlb_p1.svg se_mlb_p1_proc.png + inkscape --export-pdf=$@ $< + +mostlyclean: + rm -f se_mlb_p1_tmp.png + rm -f se_mlb_p1_proc.png + +clean: mostlyclean + rm -f se_mlb_p1.gif diff --git a/old_artifacts/schems/README.md b/old_artifacts/schems/README.md new file mode 100644 index 0000000..f5ea65d --- /dev/null +++ b/old_artifacts/schems/README.md @@ -0,0 +1,51 @@ +These are links to the official Apple Macintosh SE schematics. + +Source website: https://museo.freaknet.org/gallery/apple/stuff/mac/andreas.kann/schemat.html + +Unfortunately, there are no BOMARC schematics available for the +Macintosh SE. + +The Internet Archive also has a copy of purportedly the same Macintosh +SE schematics scan. + +https://archive.org/details/Macintosh68kSchematics + +---------- + +Due to the illegiblity of the original Main Logic Board (MLB) page 1 +scan, this repository also contains a retrace of the schematic, +striving to be as faithful as possible to the original. The retrace +was done by hand and careful eyeing in Inkscape, after doing some +simple image processing on the input scan. A script that uses the +ImageMagick `convert` command is included to reproduce the processing +steps. + +Notes related to the accuracy of the retrace. + +* The pinouts of all integrated circuit components have been verified + with second sources. + +* The pinouts of the PDS slot and RAM SIMMs have **not** yet been + verified with second sources. + +* The resistor values have been checked to be consistent with the + reference designators, but **not all reference designators** have + been verified to be consistent with the placement on the printed + circuit board. + +* The schematic info blocks in the upper and lower left corners have + been cross-checked with scans of other official Apple schematics to + attempt to make them as faithful as possible to the original + contents. + +Notes on the source SVG file: + +* The processed scan is linked as a hidden and locked image object. + To view both the retrace and the original scan together, find the + image object (possibly in the XML hierarchy) and make it visible. + The image object is locked to make it easier to draw on top of. + +* The specific `sans-serif` font I used on my system is DejaVu Sans. + So long as your system `sans-serif` font has similar metrics, + everything should work just fine, otherwise you can replace the font + family name with DejaVu Sans. diff --git a/old_artifacts/schems/get_scans.sh b/old_artifacts/schems/get_scans.sh new file mode 100755 index 0000000..33afa87 --- /dev/null +++ b/old_artifacts/schems/get_scans.sh @@ -0,0 +1,7 @@ +#! /bin/sh +# Use a shell script to download the scans so that we do not add bloat +# to the repository size that we don't strictly need. GitHub has +# bandwidth limits, so let's try to keep away from those as much as +# possible. + +curl -L -o 'se_mlb_p1.gif' https://museo.freaknet.org/gallery/apple/stuff/mac/andreas.kann/SE_P1.GIF diff --git a/old_artifacts/schems/resize-mlb-scan.sh b/old_artifacts/schems/resize-mlb-scan.sh new file mode 100755 index 0000000..ba881e7 --- /dev/null +++ b/old_artifacts/schems/resize-mlb-scan.sh @@ -0,0 +1,43 @@ +#! /bin/sh +# Given the input illegible scan of the Macintosh SE Main Logic Board +# Page 1 schematic, apply some image processing magic on it to make it +# somewhat more legible. + +# Here's how our image processing operations work. +# +# 1. The original scanned image is monochrome. Gradation is expressed +# linearly through the means of error-diffusion half-toning. +# +# 2. To convert to grayscale, we simply convert to 8-bit grayscale and +# then resize to 80%, using a cubic resize image filtering +# algorithm. The resulting 8-bit intensity values will be +# expressed in a linear sample space. We then resize by 250% to +# get a grayscale image, linear intensity samples, that is twice +# the spatial resolution of the original. +# +# The second resizing step is mainly to ease looking at zoomed in +# copies of the image, which you must do almost all the time due to +# the illegibility of the original. +# +# 3. If the image is displayed directly on sRGB displays, it will +# appear artificially dark because it is currently using linear +# intensity samples, but an sRGB display uses a curve +# (approximately gamma = 2.2) to map the image samples to linear +# light intensities. Just leave it this way because the source +# image is already pretty light to begin with. The artificial +# darkening makes the image easier to read. +# +# To get a gamma-correct image, we would need to apply a `gamma = +# 0.45` curve to the image. Or, in other words, "gamma-correct" by +# a factor of `1/0.45 = 2.2`. Alternatively, we could use the more +# precise sRGB colorspace conversion function. + +set -e # Exit on errors. + +# N.B. We use two conversion command lines because I think otherwise +# ImageMagick just replaces the previous resize command with the new +# resize command and would only end up resizing the image once. + +convert -depth 8 -resize 80% -filter cubic se_mlb_p1.gif se_mlb_p1_tmp.png +convert -resize 250% -filter cubic se_mlb_p1_tmp.png se_mlb_p1_proc.png +rm se_mlb_p1_tmp.png diff --git a/old_artifacts/schems/retrace_se_mlb_p1.pdf b/old_artifacts/schems/retrace_se_mlb_p1.pdf new file mode 100644 index 0000000..9bd6917 Binary files /dev/null and b/old_artifacts/schems/retrace_se_mlb_p1.pdf differ diff --git a/old_artifacts/schems/retrace_se_mlb_p1.svg b/old_artifacts/schems/retrace_se_mlb_p1.svg new file mode 100644 index 0000000..6689706 --- /dev/null +++ b/old_artifacts/schems/retrace_se_mlb_p1.svg @@ -0,0 +1,25132 @@ + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + 7 + 6 + 5 + 4 + 3 + 2 + A2 + A1 + A0 + A1 + 2A + B0 + B1 + 2B + VCC + U2F + F257 + 2D + D1 + D0 + 9 + 10 + 11 + 12 + 2C + C1 + C0 + OE + + S + 1 + C2M + + + + + + + +5V + 16 + + A9 + A17 + A4 + A12 + + 13 + 14 + 15 + GND + 8 + + + + + + + + + + + + + + +5V + R34 + A23 + A22 + A21 + A20 + A19 + A17 + A9 + RA2 + RA3 + 10K + MBRAM + + + + +5V + + + + 64 + 42 + 84 + 22 + 79 + 78 + RA0 + RA1 + RA2 + RA3 + RA4 + RA5 + RA6 + RA8 + 71 + 70 + 68 + 67 + 66 + 65 + 14 + 20 + 19 + 18 + 72 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 12 + 77 + RP2 + RP1 + 39Ω + 39Ω + 51P + 51P + RA4F + RA4 + RA3F + RA3 + RA2F + RA2 + RA1F + RA1 + RA0F + RA0 + RA5 + RA5F + RA6 + RA6F + RA7 + RA7F + RA8 + RA8F + RA9 + RA9F + 1 + 2 + 5 + 6 + 3 + 4 + 7 + 8 + 9 + 10 + 1 + 2 + 10 + 9 + 6 + 7 + 8 + 5 + 4 + 3 + RA9 + RA7 + RA1 + RA8 + RA6 + A8 + A16 + RA0 + A18 + A11 + A3 + RA0 + A16 + 10 + 11 + 12 + 9 + 13 + 14 + 15 + C1 + C0 + OE + + 2C + D0 + D1 + 2D + 2B + B1 + B0 + 2A + A1 + A0 + F257 + U2E + VCC + 16 + GND + 8 + S + 1 + 2 + 3 + 4 + 5 + 6 + 7 + A7 + A15 + A6 + A14 + RA5 + RA4 + (2)(1) + A1-A23 + (2)(3) + (2)(1) + (3)(2) + (1)(2) + (2) + (2) + (2) + (3) + (2) + (2) + (2) + (2) + (2) + (2) + (3) + (2) + (3) + (3) + (3) + (3) + (3) + (2) + 47Ω + R23 + C3.7M + C3.7M + 2 + VIA.CS1 + VIAIRQ + + IOW + + SCCRD + + SCSIDRQ + SNDRES + SCSI + + SCCEN + + A1 + A2 + A3 + A4 + A5 + A6 + A7 + A8 + A9 + A10 + A11 + A12 + A13 + A14 + A15 + A16 + A17 + A18 + A19 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 17 + 15 + 7 + 24 + 21 + 10 + 8 + 25 + 9 + 11 + 12 + 13 + 3.3K + R43 + R45 3.3K + +5V + + + + + GND + GND + 16 + 53 + + + + + + + A1 + A2 + A3 + A4 + A5 + A6 + A7 + A8 + A9 + A10 + A11 + A12 + A13 + A14 + A15 + A16 + A17 + A18 + A19 + U7E + 68000 + RES + AS + VMA + BERR + + + + + + IPL2 + E + A23 + A22 + A21 + A20 + FC0 + FC1 + FC2 + D0 + D1 + D2 + D3 + D4 + D5 + D6 + D7 + D8 + D9 + D10 + D11 + D12 + D13 + D14 + D15 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 1 + 2 + 3 + 4 + 5 + 26 + 27 + 28 + D0 + D1 + D2 + D3 + D4 + D5 + D6 + D7 + D8 + D9 + D10 + D11 + D12 + D13 + D14 + D15 + + + + + + + + + + + + + + + + + D15 + D14 + D13 + D12 + D11 + D10 + D9 + D8 + D7 + D6 + D5 + D4 + D3 + D2 + D1 + D0 + 32 + 31 + 30 + 29 + 28 + 27 + 26 + 25 + 24 + 23 + 22 + 21 + 20 + 19 + 18 + 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + -12V + - 12 V + GND + D15 + D14 + D13 + D12 + D11 + D10 + D9 + D8 + D7 + D6 + D5 + D4 + D3 + D2 + D1 + D0 + J13-C + + + + + + + + + + + + + + + + + + + + + + + + + + + NC + +5V + +5V + + + + + + + + + + + + + + + + + + + + RES + RES + + + AS.CPU + A23CPU + A22CPU + A21CPU + A20CPU + 48 + 50 + 51 + 52 + 20 + 6 + 22 + 18 + 19 + 23 + R27 + +5V + 3.3K + SW1 + (INTERRUPT) + + + + + + + + SPARE + 4 + 17 + U2B + + + + + + + U12F + LS245 + GND + A8 + A7 + A6 + A5 + A4 + A3 + A2 + A1 + T/R + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + EO + + B7 + B6 + B5 + B4 + B3 + B2 + B1 + B0 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + VCC + RDO8 + RDO9 + RDO10 + RDO11 + RDO12 + RDO13 + RDO14 + RDO15 + D15 + D14 + D13 + D12 + D11 + D10 + D9 + D8 + + + + + + + + + + + + 20 + +5V + 10 + + + + + U11F + LS245 + GND + A8 + A7 + A6 + A5 + A4 + A3 + A2 + A1 + T/R + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + EO + + B7 + B6 + B5 + B4 + B3 + B2 + B1 + B0 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + VCC + + + 20 + +5V + 10 + + + + + + RDO0 + RDO1 + RDO2 + RDO3 + RDO4 + RDO5 + RDO6 + RDO7 + R/W + D7 + D6 + D5 + D4 + D3 + D2 + D1 + D0 + EN245 + + + + + + + + + + R/W + + + + + + + + + GATE + ARRAY + U4E + +5V + + + + + + + + + + + + + + + + + + + + + UDS + + + + C16M-BUF.F2 + C16M-BUF.F1 + + + + + IWM + + PWMF + R/W + + + + + + + VIDPG2 + + DACK + + + + SND + + PWM + VIDOUT + HSYNC + + + REFERENCE DESIGNATION + LAST USED + NOT USED + C67 + CR3 + L7 + R47 + RP2 + Q1 + Y1 + B1 + J19 + + + + + J13 + + + + + + + + + + + PMCYC + + C2M + + C2M + + + + VMA + E + (2) + (2)(3) + (3) + (3) + RES + AS + + AS + + + VMA + + RES + + + + + + + + + + + + + + + + + + + + + + 1. ALL RESISTANCE VALUES ARE IN OHMS, + 2. ALL CAPACITANCE VALUES ARE IN MICROFARADS + 3 COMPONENT CRT NOT INSERTED + 4 J16:PN515-0050 (2 POSITION, 2 PIN HEADER JUMPER) + 6 L4 FERRITE BEAD + NOTE: + + + + + + + + + + + + + + + + + + + + + + + 16 + 15 + 76 + 73 + + R28 + + + + + + BERR + + E.CPU + + + + + + + + A23CPU + A22CPU + A21CPU + A20CPU + E.CPU + A18 + A17 + A16 + A15 + A14 + A13 + A12 + A11 + A10 + A9 + A8 + A7 + A6 + A5 + A4 + A3 + A2 + A1 + + + + + + + + + + + + + + + + + + + + A19 + A19 + A18 + A17 + A16 + A15 + A14 + A13 + A12 + A11 + A10 + A9 + A8 + A7 + A6 + A5 + A4 + A3 + A2 + A1 + FC0 + FC1 + FC0 + FC1 + FC2 + + + FC2 + GND + GND + GND + GND + GND + GND + GND + GND + GND + AS + + ASCPU + + UDS + UDS + + + LDS + LDS + + + UDS + + VIDOUT + + + + + + + + + + + + + + + + + + + + + + + + + + + A23CPU + A22CPU + A21CPU + A20CPU + + + + + + + +12V + +12V + +12V + + + + GND + E.CPU + A23 + A22 + A21 + A20 + + + + + + + + + 32 + 31 + 30 + 29 + 28 + 27 + 26 + 25 + 24 + 23 + 22 + 21 + 20 + 19 + 18 + 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + C8MF + C16MBUF.F1 + R30 + 47:Ω + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +5V + +5V + +5V + +5V + +5V + + + + + + + + + + + + + + + + + + + + + + + + + + J13-B + +12V + +12V + -5V + -5V + + + + + + +12V + GND + + + + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + NC + 22 + + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + + E + + + + +5V + + + + +5V + + + + + AS + + ASCPU + + + + + + + + U60 + U70 + ROM + HI + ROM + LOW + A0 + A1 + A2 + A3 + A4 + A5 + A6 + A7 + A8 + A9 + A10 + A11 + A12 + A13 + A0 + A1 + A2 + A3 + A4 + A5 + A6 + A7 + A8 + A9 + A10 + A11 + A12 + A13 + A16 + A15 + A14 + A16 + A15 + A14 + GND + GND + CE + CE + + + D0 + D1 + D2 + D3 + D4 + D5 + D6 + D7 + D0 + D1 + D2 + D3 + D4 + D5 + D6 + D7 + VCC + VCC + A1 + A2 + A3 + A4 + A5 + A6 + A7 + A8 + A9 + A10 + A11 + A12 + A13 + A14 + A1 + A2 + A3 + A4 + A5 + A6 + A7 + A8 + A9 + A10 + A11 + A12 + A13 + A14 + A17 + A16 + A15 + A17 + A16 + A15 + + + + + + + + + + + RDO15 + RDO14 + RDO13 + RDO12 + RDO11 + RDO10 + RDO9 + RDO8 + + + + + + + + R/W + + RDO0 + RDO1 + RDO2 + RDO3 + RDO4 + RDO5 + RDO6 + RDO7 + HALT + + HALT + + + + + + UDS + UDS + + + R/W + + R/W + + + + + + + + BG + + BG + + + + + + + + + + + + + ROMEN + ROMEN + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +5V + +5V + 39Ω + R37 + RAM R/W + + RAS + + + + + + + + + + 3.3K + R44 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 25 + 24 + 21 + 23 + 2 + 26 + 27 + 14 + 1 + 22 + 20 + 19 + 18 + 17 + 16 + 15 + 13 + 12 + 11 + 28 + 23 + 21 + 24 + 25 + 3 + 4 + 5 + 6 + 7 + 8 + 2 + 26 + 14 + 27 + 1 + 22 + 20 + 19 + 18 + 17 + 16 + 15 + 13 + 12 + 11 + 28 + 10 + 9 + + + + + + + + + + + + + + + D8 + D9 + D10 + D11 + D12 + D13 + D14 + D15 + D0 + D1 + D2 + D3 + D4 + D5 + D6 + D7 + VCC + VCC + + + + 49 + 14 + +5V + +5V + + R41 + 3.3K + RES + + FC0 + FC1 + FC2 + + + + + + + + + + + + BG + + BG + + + + + + + + + + + ONLY + R35 + 150Ω + 256K + RAMS + + + + + + + + + + + + J16 + + + +5V + ROW2 + R36 + RAMS ONLY + R31 + 10K + +5V + + + R47 3.3K + RAM + ROW#1 + R33 + 47Ω + + + + +5V + CAS + + CAS0L + CAS1L + + + RAM + ROW#2 + + + +5V + R32 + 47Ω + RAM + ROW#1 + RAM + ROW#2 + + BERR + + VMA + + + IPL2 + BERR + IPL2 + IPL1 + IPL0 + + + + IPL0 + IPL1 + IPL2 + SPARE + + + + + HALT + + IPL2 + + CLK + IPL1 + + DTACK + + + LDS + IPL0 + BGACK + + VPA + + ER + + IPL0 + + LDS + + DTACK + + IPL1 + + C8MF + J13-A + + + + + + + + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 81 + 82 + 80 + 83 + 74 + 69 + 11 + 13 + 17 + 1 + 21 + 43 + 63 + 59 + 55 + 39 + 46 + 49 + 57 + 56 + 48 + 45 + 40 + 50 + 58 + 53 + 52 + 41 + 51 + 60 + 32 + 62 + 31 + 35 + 54 + 61 + 30 + 33 + 36 + 37 + 47 + 38 + LDS + + IPL1 + + R/W + + CAS1L + CAS0L + + + + + + AS + + BERR + + + + + + + + + + + + + + PWM + SCSIDRQ + IWM + SCCRD + + + + + + + + R21 + 3.3K + +5V + IPL0 + + + + + SND + + + + SNDRES + SCSI + SCCEN + + C3.7M + VSYNC + + VSYNC + + IPL1 + + DACK + + EN245 + VPA + + + + + + + + 47Ω + R24 + C8M + C8MF + + EN245 + + EAREN + + + ENTD1K + ENTD1K + + ENTD1K + + E + A23 + A22 + A21 + A20 + EAREN + + EAREN + + HALT + + HALT + + R/W + + R/W + + DTACK + + DTACK + + BGACK + + BGACK + + + + + + + + + + E.CPU + PMCYC + + PMCYC + + RESET + + ER + + ER + + + + + VPA + + VPA + VPA + VMA + VMA + + + + + ER + + BGACK + + 96 - PIN + EURO-DIN + BUS CONNECTOR + A + B + C + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + C16M + C16MBUFF1 + C8M + C8MF6 + DTACK + + R46 + 3.3K + + + +5V + CAS1H + CAS0H + + + R42 + 39Ω + RAS + + RAS2F + + J15 + J14 + SIMM4 + SIMM2 + SIMM3 + SIMM1 + HSYNC + + A0 + A1 + A2 + A3 + A4 + A5 + A6 + A7 + A8 + NC + DO5 + DO4 + DO3 + VSS + DO6 + WE + + DO2 + VSS + DO1 + DO0 + VCC + NC + DO7 + NC + RAS + + NC + NC + VCC + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NC(A9) + CAS + + A0 + A1 + A2 + A3 + A4 + A5 + A6 + A7 + A8 + NC + DO5 + DO4 + DO3 + VSS + DO6 + WE + + DO2 + VSS + DO1 + DO0 + VCC + NC + DO7 + NC + RAS + + NC + NC + VCC + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NC(A9) + + RAM R/WE + + RAM R/WE + + + 51 + 51 + + IMISC IN:WD COME SMCARD + WHEN USING THE D-P SAMI OPTION: DO NOT ASSEMBLE R32,R33, R39, OR R40. ASSEMBLE R32A, R33A, R39A, R40A, AND R42. + 5 + + + + PMCYC + + (1) + PMCYC + + BERR + + 34 + 75 + 150Ω + + + LDS + + VIAIRQ + + VIA.CS1 + 44 + VIDPG2 + C16MRSF2 + ROMEN + + + + + + + + + RAS + + NC + NC + NC + NC + NC + RA0F + RA1F + RDO1 + RDO0 + RA2F + RA3F + RDO2 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 31 + + + + + 40 + + + + + + + + + + + + RA4F + RA5F + RDO3 + RDO4 + RDO5 + RDO6 + RDO7 + RA6F + RA7F + RA8F + RA9F + + + + + + + + + + + + 21RAMR1 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + +5V + + + + + + RAS1F + + + + + 50 + 49 + + 48 + 47 + 46 + 45 + 44 + 43 + 42 + 41 + + 51 + 22 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + + + + + + + + + + + + + + + + + + + + + + + + + + RAS1F + + + + + +5V + NC + NC + NC + NC + NC + + + + + RDO0 + RDO1 + RDO2 + RDO3 + RA0F + RA1F + RA2F + RA3F + RA4F + RA5F + RA6F + RA7F + RA8F + RA9F + RDO5 + RDO6 + RDO7 + 39Ω + R38 + + R33A + R32A + METRIC + + + + + + + + + + + 050-0432-6 + E + + + + + + SCHEMATIC,LOGIC CB,MAC SE, DIP SIMM + CAS1H + CAS0H + + + VCC + CAS + DO0 + A0 + A1 + DO1 + A2 + A3 + VSS + DO2 + A4 + A5 + DO3 + A6 + A7 + DO4 + A8 + NC(A9) + NC + DO5 + WE + VSS + DO6 + NC + DO7 + NC + RAS + NC + NC + VCC + + + RAS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + WE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +5V + +5V + + + + + + + + + 21RAMR1 + 51 + NC + + + + + + + + + + + + + + + + + + + + + + + + + RDO8 + + + +5V + R39 + 47Ω + +5V + + + R40 + 47Ω + RDO8 + + + + RDO4 + + 5 + 5 + R39A + RDO9 + RDO10 + RDO11 + RDO11 + RDO13 + RDO14 + RDO14 + + + + + + + + + + + RAS2F + + RAS2F + + + NC + NC + NC + NC + RDO15 + RDO15 + NC + NC + NC + NC + NC + RDO13 + RDO11 + RDO11 + RDO10 + + + + + + RDO9 + + + + RA0F + RA1F + RA2F + RA3F + RA4F + RA5F + RA6F + RA7F + RA8F + RA9F + VCC + CAS + DO0 + A0 + A1 + A2 + A3 + VSS + DO2 + A4 + A5 + DO3 + A6 + A7 + DO4 + A8 + DO5 + VSS + DO6 + NC + DO7 + NC + NC + NC + VCC + NC + NC(A9) + DO1 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + + + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + + + + + + A + B + C + D + E + F + G + H + + + + + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + + + + + + + + PRODUCTION RELEASE + V999 + A + B + V1085 + + + + + + + + + REVIEW RELEASE + HCN # + A + C + D + E + F + G + H + + + + + + + + 47Ω + 47Ω + 47Ω + 47Ω + R40A + + + + + + + + + + + + + + + + + + + + + + + J. RtiY + + + + + + + + + + + + + + + + + + + + + Apple Computer, Inc. + + + + 1 + 3 + + + + + + 5 + 5 + + + + + + + + + + 47Ω + + + + + 050 -0432 -6 + + + + + + + 1 + 3 + + + 1/4W, 5?V + 1MB H.+ OF + REDRAW AMBIGUITIES/ERRORS MARKED IN RED,CORRECTIONS/ANNOTATIONS MARKED IN BLUE + 7. + DESCRIPTION + + + + + + + + SHT + SHT + + + + + THE INFORMATION CONTAINED HEREBY IS THE PROPRIETARYPROPERTY OF APPLE COMPUTER INC. THE POSSESSOR AGREES TOTHE FOLLOWING: (I) TO MAINTAIN THIS DOCUMENT IN CONFIDENCE (II) NOT TO REPRODUCE OR COPY IT(III) NOT TO REVEAL OR PUBLISH IT IN WHOLE OR PART + NOTICE OF PROPRIETARY PROPERTY + SIZE + MATERIALS/FINISHNOTED ASAPPLICABLE + REV. + ZONE + DRAWING NUMBER + TOLERANCES + + + + + + + + + DIMENSIONS ARE IN MILLIMETERS + ANGLES ± + X.XXX ± + X.XX ± + X.X ± + DO NOT SCALE DRAWINGS + ?? ??? ???? ??? ??? ??? ? ???? ? + ??? ?? ??? ???? + DRAFTER + ENG APPD + QA APPD + RELEASE + DESIGN CK + MFG APPD + DESIGNER + SCALE + ® + CK APPD + ENG APPD + +