the next step is to put the equations into either WinCUPL or galette so we can try writing them to a real PAL.
Top-level
the next step is to put the equations into either WinCUPL or galette so we can try writing them to a real PAL. 50 comments
@tubetime How can I make galette less awful? It's currently extremely galasm-like, but if there are things I can do to make it nicer to use, I'm all ears. (The deficiencies are probably obvious, but I'm too used to galasm to notice.) @sgf ah thanks, I really appreciate your openness! I guess there are a couple of things: - better error messages. I had some underscores in term names and the error I got said "invalid character in line n" but didn't say what the invalid character actually was. - better docs. it's always a pain to write this stuff but it's super helpful for folks. - equation reduction is probably out of scope since palasm was meant to be a thin wrapper around the raw fuse map, but that would be cool. 😃 @tubetime I worked on some error messages last week, for unrelated reasons - PTAL at Github latest & I'll fix anything missing. Docs: I love writing docs, but don't know what people need, so let me know. Equation reduction is tempting. I was thinking of writing something like a cupl2pld stage so that the pld format remains WYSIWYG. It's lower priority than just making it more usable in its basic form, though. Thanks for the feedback. If GitHub issues work better for you, that's also good. first attempt at PAL equations in galette--umm--did not match the real thing at all. i'm swapping parts into the DuPAL to compare how they perform for the same inputs. UNFORTUNATELY i've discovered that DuPAL cannot differentiate between a tri-stated output and a low output, even though the hardware is capable of doing that. 😩 oh i should just tag the guy who wrote DuPAL. @hkz very useful tool, can i have this tiny feature added to DuPAL Peeper? basically when you do a read, toggle the SIPO_O_7-14 lines and see if PISO_I_1-8 change at all. if they do, then they are hi-z. bam! that was amazingly fast. so it turns out the output pin here, O13, used to drive the READY pin, goes hi-z when the drive select line is high. this is as expected. interestingly, it's driven either high or low when the drive select is low and the PAL is clocking out the drive ID code (1010... meaning it is a high density drive). I think it's time to probe this device in circuit. I've attached the Saleae to most of the pins of the PAL. you can see the drive ID protocol here. first it pulses the motor enable (with a drive select) to reset the state machine. then you get a bunch of pulses to clock out the data on the ready output (D7) and this is what happens when you put a double density disk in the drive. so the drive ID gets read every time there is a disk change, and the adapter changes the drive type depending on the disk! ok wow a few minor tweaks to the galette PLD file and the crazy thing works! I still need to test it with the Teac drive but I've managed to replicate the PAL. the PAL code is not very complicated. i was able to remove a bunch of terms that `espresso` added (spuriously). i also made some minor improvements. now for the most difficult part: what should i call my clone of "The Real HD-Drive"? @tubetime the layout for the board is simple. i'm making minor changes so it fits better in the Sony drive.
[DATA EXPUNGED]
@tubetime bit dramatic with the heavy traces; why not just use a couple of fills for power/gnd? @tubetime Okay, now melt them https://github.com/mitxela/kicad-round-tracks @tubetime As "fartkontrol" is Danish, not German it's "den fartkontrol". ok maybe this is better and somewhat more german. i kinda ran out of space for the text, which i guess makes it more authentic OK, i haven't fabbed it out yet, but I don't foresee any issues, so here's the repository! @tubetime amazing! If possible, could you add shots of the type plates of these drives? There are so many variants of the ones you mentioned. Hopefully us other drive modders can figure out how to modify the rest. 🙂 boards arrived! I can't wait to try it out but I need to buy some 34-pin shrouded headers. @tubetime Awesome work mate! Thanks for all your efforts! Can you please tell me on the Sony mod, is the JC40 a part that is desoldered from another location on the drive, or is it an additional one? (can't find it in the BOM) @tubetime Thanks a whole lot! BTW, are you having the pcb for sale anywhere, or upped on, say, pcbway? @salaxi nope, but it's easy to upload the fab package to your favorite service. @tubetime That's great! Just ordered a Sony to try this. Had a Power Computing external HD drive bought new decades ago, but its' GAL went kaputt. Time to get back in action.. @tubetime maybe you want to change driveselect to : gangwahl or fahrtwahlschalter :) @tubetime That's totally readable and, apart from the all-uppercase, looks pretty nice. It's been a long time since I've seen /, *, and + used rather than !, &, and | but it's charming. @tubetime @RealGene yep, trouble is that i can't differentiate it from a regular logic high. one trick is to pull it to some other voltage and use a window comparator to detect it. |
gah! i forgot how utterly awful both WinCUPL and galette are!