Yes I should have mentioned that - it would be very easy to not notice. I did it that way to avoid crossing wires in the diagram.Note that in Dennis's diagram, the address lines from top to bottom are 24, 26, 25, 27, 28, 29...
The swapping of 25 and 26 is kind of critical to making the circuit work.
I don't have any spare programmer boards...fortunately all 10 of my original programmer PCBs were successes! I'm completely out of programmers right now aside from my test unit. I have 50 programmer PCBs on order from Seeed Studio, but it's a Chinese holiday and they're closed this whole week. No idea when the PCBs will arrive...Speaking of which: DQ, you wouldn't have any reject programmer boards on hand would you? I don't need a functional board for the feasibility study, just the patchable thru-holes/connections between the header pads and SIMM connectors.
That actually is doable -- I have a ton of 64-pin SIMM sockets (thanks to olePigeon) and a ton of bare 2 MB SIMM PCBs (I ordered 100 of them, and I'm figuring most people are going to want the 8 MB version in the future, so I probably have a bunch of mostly useless 2 MB bare PCBs...) If you need any of the above, just let me know and I will be happy to send them your way!Heh, come to think of it, just a bare reject SIMM Board and SIMM Connector would be good enough for an indescribably fugly, minimalist, but workable test cable. [}] ]'>
That'd be great, I've simplified my requirements to just two ATA-133 Cables and matching double-header rows for the interface. By avoiding the cable ground lines on pins 2,19, 26, 30 and 40 on both cables, everything turns up roses. The interleaving 40 shielding lines of each cable's 80 lines are tied to those 5 ground connections on the cable.If you need any of the above, just let me know and I will be happy to send them your way!
Just a thought to maybe add some simplicity to it all...what about wiring the address pins of the flash chip all to ground, so you don't have to worry about the flash address pin part of the circuitry yet? That would just repeat the first byte stored in the flash chip throughout the first byte of each word of assigned address space. I guess either way it should be working though--you'd be getting *some* byte from the chip, so maybe that's not really necessary to change...However, everything else (including /OE) seems to be correct, and not getting anywhere.
OK, I will try to do that soon! Probably won't be able to get stuff out until next week. Might as well do three...so you will need three blank SIMM boards and three 64-pin SIMM sockets? Just want to make sure I get everything right.You've got my address, DQ, if you send me two blank boards and two connectors for them, I'll build two bus extenders and send one back to you for reliability testing. Send three of each and I'll forward one to Sancho Panza. [)] ]'>
:lol:Did you try reversing polarity of the shields, or running an inverse tachyon beam?
Ah, rats. If you happen to have a transistor that might work too...see the diagram of the open collector output on Wikipedia. Someone like Dennis Nedry or techknight should probably make sure I'm not completely full of it too...Thanks. I ordered 74125's and maybe that'll help. Unfortunately, monday seems to be a holiday, so probably no progress for a while.
My electrical/computer engineer coworker informs me that a P-channel MOSFET could convert the generated /OE signal into an open drain output, but the tri-state buffer should work too. Either way, you'll need to use two of them so you don't connect the two /DSACK pins together (I was envisioning only needing one tri-state buffer in my head that controlled both pins, but he corrected me on that and it makes sense now...)Ah, rats. If you happen to have a transistor that might work too...see the diagram of the open collector output on Wikipedia. Someone like Dennis Nedry or techknight should probably make sure I'm not completely full of it too...
You can say that again! And you're absolutely right...if the dirty ROM thing had never happened, who knows what weird project I would be spending my time on instead?Life is strange.
Note that using a single transistor will invert the signal.Ah, rats. If you happen to have a transistor that might work too...see the diagram of the open collector output on Wikipedia. Someone like Dennis Nedry or techknight should probably make sure I'm not completely full of it too...
That article describes *exactly* what I do to the PLCC sockets on the 2 MB SIMM I did experiment briefly with solder paste and leaving the bottom of the socket intact, but that didn't end up working out. I suppose in a toaster oven it would have worked, but I haven't played extensively with the toaster oven soldering yet. I did get a thermocouple to monitor temperatures and tried unsuccessfully to reflow an iMac MXM graphics card from a 2008 Aluminum iMac, so I have the tools, but toaster oven soldering is something for the future...Here's an article about modding the ROM SIMM's sockets for installation: Installing a PLCC EEPROM Socket onto a MOBO
If you wire the sockets up to one of the four available bytes (D0-D7, D8-D15, D16-D23, or D24-D31) it should work just fine. It will need firmware and software support, but I can definitely make it work. If at all possible, please use D16-23 or D24-31 -- those two bytes are connected directly to the SIMM programmer's AVR, which would bypass the need for the (relatively) slow SPI communication to the GPIO expander chip (which is in control of D0-D7 and D8-D15). In other words, I could flash the chip MUCH faster than I can now if you use D16-23 or D24-31. Wire the address pins of the sockets starting at A2, just like I have done on my SIMM -- A0 and A1 which are on SIMM pins 2 and 3 are unused, and the chip's A0 connects to the SIMM A2, and so on. If you do that, it should definitely work with some simple changes to the firmware and software.Does this sound doable in the SIMM Slot of your programmer, DQ?
Adding a VGA (with normal, up to date resolutions) would be amazing!The cool thing about this development board is that the FPGA code to support the DDR2 chip and Flash, and VGA port and 10/100 ethernet is already written. All that's really needed is to interface those components with the Macintosh bus.
A 100 MHz processor has a clock cycle every 10 nanoseconds. So if a 100 MHz processor is monitoring the address bus, basically that leaves us around 25 clock cycles for the microcontroller program to do something before it has to be ready for the next ROM read cycle.
The Iici (and the other computers) have a 25mHz bus and a MC68030 CPU. Why can they read perfectly fine to/from ROM/RAM/CPU/HDD, but we need a 100 MHz FPGA to do the same? I've never seen a 3rd party add-on card that needs a FPGA with a MHz ratio of 4:1 to the host computer to work before(??). I'm not sure if I understand this.The IIfx apparently has a ROM access rate of 64 MB/sec (equivalently, a real read speed of 16 MB/sec). At 16 MB/sec, there's a read every 62.5 nanoseconds. The 8 MB chips are still fast enough...in fact, the older 2 MB SIMM chips might be breaking timing guidelines on the IIfx if my math is correct because I think the other chips I'm using have a minimum access time of 70 nanoseconds. This example is actually making me doubt my math -- anyone want to double check to make sure I'm not full of crap? Anyway, at 62.5 nanoseconds, a 100 MHz processor will only have 6 cycles available between ROM accesses.