Comments (3)
Hello,
I've been following your project for quite some time and I'm very excited now that the coding work is finished, tested and working. I have several Apple IIe computers (all the different versions of the motherboard) and I would like to test on all of these. Are you going to document on how to use it to create the respective chips which can be put into the sockets?
Best regards and thank you for your hard work you have already done on this.
from apple_iie_mmu_iou.
Hello Giorgio,
I'm really glad you have interest in this project. Yes, I plan to write a guide on how to create both the IOU and the MMU from these sources. I have been working with Henry from ReActiveMicro.com to create a replacement IOU and MMU. If you just want to test your Apple IIe units and you are not really interested in building your own IOU/MMU, the easiest solution for you would be to wait; we are in the final stages of this project and will soon release a replacement IOU/MMU using these sources.
On the other hand, if you want to create a replacement IOU/MMU, the FPGA/CPLD you plan on using will determine the complexity of your design. If you use a 5v compatible device, you just need to connect the pads for the MMU, and you need a 10K ohms pull-up on the /RESET line for the IOU.
But, most FPGAs/CPLDs nowadays are 3.3v and you will need to level-shift the Apple's 5v to 3.3v. Here'a a photo of the difference:
On the left, with all the wires, is the MMU with a 3.3v FPGA. To it's right (center), you can spot the IOU prototype that uses a 5v CPLD.
For the MMU, I used 3x 74LVC245 (on the breadboard under the wires) to level-shift the inputs to the MMU (A0-A15, PHI_0, Q3, /PRAS, R_/W, /INH, /DMA) to 3.3v
The 3.3v outputs are fortunately enough to be interpreted as logic HIGH by the Apple IIe.
For the IOU, it is more complicated. First, you will still have to level-shift the inputs (PHI_0, Q3, /PRAS, R_/W, /C0XX, VID6-7, A6, IKSTRB, IAKD)
And second, some of the pins are bi-directional (/RESET, ORA0-6). But you need to level-shift these pins and just connecting them to a 74LVC245 will break the bi-directionnality.
This means that you will need to change the sources (IOU.vhdl) to expose FORCE_RESET_N_LOW and RA_ENABLE_N.
You will then need to use these two signals with separate 74LVC245s and change the direction of the bus transceiver according to: (I haven't tested this and I can't certify that this would work)
- When FORCE_RESET_N_LOW is LOW, RESET_N should be an input; when HIGH it should be an output. I haven't checked but maybe a pull-up will be needed on both sides of the 74LVC245 for this signal.
- When RA_ENABLE_N is HIGH, ORA0-6 should be inputs; when LOW they should be outputs.
You also possibly will need to write code: The multplexed address lines need a hold delay. This project currently support ALTERA devices (with LCELL primitive), as well as iCE40 (untested) and MACHXO3D. But if you use something else you will need to write your own "hold time" component. (See CUSTOM/RAS_HOLD_TIME/readme.md for info)
As you can see, a bit a work is still needed to bring this project to a more user-friendly state.
from apple_iie_mmu_iou.
Oh, I am forgetting about the files you will need for each IC.
For both the IOU and MMU you will need:
- All the .vhdl files in COMMON
- An implementation of RAS_HOLD_TIME (see CUSTOM/RAS_HOLD_TIME)
For the IOU, you will also need:
- All the .vhdl files in IOU
- In TTL, the files LATCH_9334 and LS138
For the MMU:
- All the .vhdl files in MMU
- In TTL, the files LATCH_9334 and LS175
And, as you can guess, the top-level unit is "IOU" for the IOU, and "MMU" for the MMU.
from apple_iie_mmu_iou.
Related Issues (19)
- [IOU] At power-on, POC and RESET_N are not valid. HOT 1
- The computation of the line addresses is incorrect. HOT 1
- Fix the test IOU_TB_SCANNER_MUX HOT 1
- Garbage is displayed when a 64K/80COL card is present HOT 1
- Add Apple IIc features to the IOU
- Add Apple IIc features to the MMU
- HIRES images: rightmost part displayed on the left side, shifted down. HOT 3
- Document all timings requirements for the IOU and MMU
- RESET should not clear the ITEXT and MIX soft-switches. HOT 1
- At power-on, the video color burst is present.
- Check if RA_ENABLE_N need a hold delay HOT 1
- Problem with RAM /RAS hold time. HOT 3
- Some game cause the Apple IIe to hang HOT 2
- The Black Cauldron has some issues HOT 2
- Bring the signals timings closer to the ASICs HOT 1
- The MMU still seem to have timings issues when used with a RAMWorks III card HOT 1
- No familiar 'beep' on power-on
- RAMWORKS fails to recognize slow RAM in rows other than first. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from apple_iie_mmu_iou.