Can you get 80K out of your 48K ZX Spectrum with just one extra chip??

Поделиться
HTML-код
  • Опубликовано: 28 июн 2024
  • Reverse Engineered - the East London Robotics SP80 upgrade
    Yes! It's possible!
    By the end of this video you'll understand this mod in every single detail, so make a cup of tea and settle in for another detailed reverse engineering journey.
    Thanks Steve for the photos.
    Thanks Tynemouth software for the blogpost which helped me a lot with this.
    Thanks Colin for the loan!
    Dave's Tynemouth Software Blog - blog.tynemouthsoftware.co.uk/2...
    Ken Shirriff's Blog - www.righto.com/2020/11/revers...
    Wondering how you can support the channel?
    Join us on Patreon - / happylittlediodes
    Try the "Thanks" button underneath this video
    Like!
    Comment!
    Subscribe!
    Share!
  • ИгрыИгры

Комментарии • 107

  • @GodmanchesterGoblin
    @GodmanchesterGoblin Месяц назад +14

    This took me back... I upgraded my 16k Spectrum in 1983 to 80k with 8 4164 DRAM chips and a tiny amount of glue logic (digital hardware design was also my day job back then). It worked very well. Also, I compliment you on your explanations of how the addressing of the RAM is handled along with the other hardware. Very well done.

  • @colinturnbull2180
    @colinturnbull2180 Месяц назад +6

    Excellent video HLD!
    I think I can now, safely say, I almost, very nearly, just about, understand how the Spectrums memory works.
    One more viewing and im sure I'll have it commited to memory (whichever bank it's in).
    Well done and looking forward to the sequal.

  • @DavidHembrow
    @DavidHembrow Месяц назад +3

    I made a similar mod to this for my spectrum back in the 80s. Similar result as well: the half bad chips were indeed half bad.

  • @mryon314159
    @mryon314159 Месяц назад +6

    Ha! You had me. The whole time I'm yelling "but they're likely bad!". ;)

  • @AndreiNeacsu
    @AndreiNeacsu Месяц назад +7

    My Romanian clone of the 48K Spectrum had 80KB of RAM from the factory. Due to it having a AY-3 sound chip, it was compatible with a lot of 128K games and enhancements.

    • @zxGHOSTr
      @zxGHOSTr Месяц назад +1

      How was the clone named?

    • @AndyG-_-
      @AndyG-_- Месяц назад

      @@zxGHOSTr Probably Cobra. There's an article on ars technica from 2017, just search for "cobra spectrum clone"

    • @HappyLittleDiodes
      @HappyLittleDiodes  Месяц назад

      Maybe the felix hc

    • @AndreiNeacsu
      @AndreiNeacsu 24 дня назад

      @@zxGHOSTr Tim-S, one of the variants. I lived in Timisoara and that was the easiest to source. It also had centronics, serial, RGB and other ports on the back. The PSU was awful and had to replace the integrated rectifier bridge every year or so.
      LE: After answering, I searched online and found that it was likely called TIM.S 101. There's a Romanian webpage that I did not know of until now with some of the info for anyone curious, but other museum websites have more detail. Have to go around the filtering algorithm for the link: doube-W double-W double-W some-dot z80-romania another-dot ro forward-slash TIM_S-68

    • @AndreiNeacsu
      @AndreiNeacsu 24 дня назад

      @@zxGHOSTr It was a TIM-S 101 from Timisoara.

  • @WINZRacingBoss
    @WINZRacingBoss Месяц назад +1

    Holy shit...
    All of this makes perfect easy sense...
    Thanks for being such a nerd and doing this work for us mate...
    Honestly. Wish I'd been able to stay doing anything for more than a few years in my life.
    (but then other times I'm proud of my screwed up life with adhd)

    • @HappyLittleDiodes
      @HappyLittleDiodes  Месяц назад +1

      Thanks for the kind comment, always happy to be a nerd

  • @ignacioescribano6701
    @ignacioescribano6701 Месяц назад

    excelent explanation. Really good.

  • @evolutionalgd
    @evolutionalgd Месяц назад +2

    Nice video, I liked your explanation of the upper ram multiplexing, something I've always avoided trying to grok
    I'm glad you addressed the burning question at the end, as that was on my mind the whole way though.

  • @michaelbluecastlestudio665
    @michaelbluecastlestudio665 Месяц назад

    Wow, really great explanation of this hack. Thank you for sharing. Pretty much interesting ❤

  • @flatduckrecords
    @flatduckrecords Месяц назад +1

    Absolutely brilliant! A crystal clear explanation, thank you.

  • @melkiorwiseman5234
    @melkiorwiseman5234 26 дней назад +2

    As others have pointed out, this will only work correctly if your stack pointer is NOT in the bank switched area of RAM, which means the BASIC program must be in the lower 16K of RAM. As I understand it, this means that BASIC won't be able to directly access the upper 64K (two banks of 32K) for BASIC programs. Also, any machine code routine which may be running in the upper 32K would not be able to use the other 32K directly since switching to it would stop the CPU from accessing the machine code program which would cause a crash.
    The best use you could probably make of the upper banks would be as a "RAM drive" so that programs of up to the free memory size can be transferred out of one of the high memory areas into the lower 16K, replacing the program which was there.
    A completely machine-code program may be able to make use of the upper two banks by loading one part of the program into one bank and another part of the program into a different bank and then using a "handoff" routine located inside the lower 16K to perform both the bank switching and the jump into the "second half" of the machine code program.
    With some clever programming and positioning of code, it may be possible to load what is effectively one program into two different banks of memory, and have a conditional which either jumps past the bank switching or not, depending upon the outcome of a test. Done right, this would save space and prevent crashes, but it's a hassle and is not something which would be supported by any assembler in existence.
    For example, bank 0 has a test, a jump to the skip location if the test succeeds, the bank switching code if the test fails, then the code which is skipped to if the test succeeds. In bank 1, at the exact same location as the code for if the test succeeded, is code to be run if the test failed.
    If the test succeeds, the bank switching code is skipped and the "test succeeded" code gets run. If the test fails, the bank switching code gets run and as soon as the last instruction of the bank switching executes, bank 1 becomes active and the next instruction in there is the first instruction of the "test failed" code.
    All of which is a long, long way of saying that using this extra RAM bank is a hassle and requires some decidedly non-trivial programming tricks.
    All the same, it's enjoyable to see an old computer used in a new and innovative way.
    EDIT: Or replace the ROM BASIC with your own version which is bank-switching aware. But that's also non-trivial.

    • @HappyLittleDiodes
      @HappyLittleDiodes  26 дней назад

      I agree with and mostly understand everything you said. I'm working on a follow with a more complex mod (5 chips) which is consuming me trying to figure out everything it's trying to do. It certainly does have a mechanism to force the stack into lower RAM, though.

    • @melkiorwiseman5234
      @melkiorwiseman5234 26 дней назад

      @@HappyLittleDiodes I'd guess that one of those chips is a replacement ROM to make BASIC "aware" of the memory banking. Either that, or it has some tricky hardware. It might automatically switch to a particular bank whenever memory over a certain address is accessed, so that the stack will always be found and will always be in the same RAM bank.

    • @HappyLittleDiodes
      @HappyLittleDiodes  26 дней назад +2

      @melkiorwiseman5234 it's all logic, I've got it all sussed now, no ROM just forcing a particular bank when certain things happen like an interrupt

  • @pavelglosl8221
    @pavelglosl8221 Месяц назад +2

    For me (at first sight) it seems similar to ZX Spectrum clone named Didaktik Gama (80 KB) from Czechoslovak rep. (actually from Slovak repubic).

  • @evolutionalgd
    @evolutionalgd Месяц назад +4

    I'm hoping the next video is a 128k upgrade for a 48k speccy mod. Something I've always wanted to figure out but have been too lazy to look into

    • @HappyLittleDiodes
      @HappyLittleDiodes  Месяц назад +3

      I do have a plug in one of them which was donated to the channel, I've not gotten around to filming it yet though. I'll share some pictures in the discord

    • @ModelLights
      @ModelLights 24 дня назад

      @@HappyLittleDiodes From a C-64'er, while you're at it you might want to take a look at The Transactor magazine 1 MB Commodore 64. It was 512K expansion in the Ram Expansion Unit, but also 512K inside the 64. And another set of pro tips..
      First advancement would be 30 pin SIMMs, because things went to SIMM and the more advanced DRAM chips ended up there, with better speed, power, and timings, but can be trouble to find the ones with the correct refresh paging to work in an older system.
      Second advancement is to skip all that and use PC motherboard cache SRAM. No refreshing so you get to toss all the refresh gating and bank switching refresh complications. Just general bank switching control and gating the read/write access. Usually they are skinny DIPs, and the pinouts are close to ROM so you can probably sit it on the ROM chip and do most of the connections that way. You may have to figure out the right cache chips, early stuff often used 8 chips but later ones used like x4 or similar. You probably need a latched RAS/CAS or something, but that's probably already done for the ROM chip anyway.
      There were also the SOJ package SRAM or FPM ram that some of the early video cards used for expansion ram, they often came with 1/2 of max and could take 2 or 4 of the chips in sockets.
      I built a 1 MB C-64 way back in the early 1990's from the article and a board from FIDO net. I was keenly aware through the late 1990's and early 2000's that the SRAM parts would have made it much easier since you could eliminate all of the refresh complications, then it's just simple bank selection and access control. It's been a long time so I don't remember the correct parts off hand, but it shouldn't take much to turn them up, late 90's and very early 2000's time frame..
      Even if you still do just what's already there for the RAM expansion, it can still be easier to use those chips. Just cut the old RAM out, hook up the x8 or two x4 chips, and wire in the data lines.

  • @gertsy2000
    @gertsy2000 Месяц назад

    So cool. The demo @32:00 tops it off.

  • @Florin76
    @Florin76 21 день назад

    BRILLIANT! Absolutely brilliant video! It would be nice a small circuit board to plug it directly onto the Speccy motherboard and then pop on int all the involved chips, to avoid this mess of wires... Unfortunately I'm not aware of software to take advantage of this 80K trick. Maybe some utilities and multilevel loading games could have used this feature. This is where the Speccy 128K came handy.

    • @HappyLittleDiodes
      @HappyLittleDiodes  20 дней назад

      speccybits.altervista.org/08_80K/
      I think there's a design for such a board here

  • @stephenwhite506
    @stephenwhite506 Месяц назад +6

    I always laugh when so many RUclipsrs test their upper RAM in a chip tester and discover they are all bad.
    I wonder why Sinclair didn't do this mod and release it as another model.

    • @TheDiveO
      @TheDiveO Месяц назад +4

      During that era, 64kbit chips with faults only in the lower or upper half were sold officially at reduced prices. Clive being the farthing pincher he was, and as the Specci only needed 32k, these were perfect, no need for bank switching.

    • @HappyLittleDiodes
      @HappyLittleDiodes  Месяц назад

      I've not seen that! Makes sense though haha

    • @jaycee1980
      @jaycee1980 Месяц назад +1

      The 128's memory paging is based on the same principles as thsi

    • @mibnsharpals
      @mibnsharpals Месяц назад +1

      @@HappyLittleDiodes The chips were available as Hi or low32k. Look at the circuit board, you will find a bridge where you can select the ram type. I'm surprised that this bridge doesn't have to be removed with the mod.

  • @danieltornqvist6062
    @danieltornqvist6062 Месяц назад +1

    Great video, and solid explanations the whole way.
    Will you be doning something similar for how the speccy got 128kb? 😊

    • @HappyLittleDiodes
      @HappyLittleDiodes  Месяц назад +1

      I hadn't considered it but that's a great idea!

    • @mibnsharpals
      @mibnsharpals Месяц назад +1

      @@HappyLittleDiodes The logic is a bit more complex since the 128 has 16k banks and not 32k.
      The range from $C000 - $FFFF is switched, and there is also a second V-RAM bank in the range.
      So the entire ULA has to be modified or a memorymapper has to be built.

  • @SeanBZA
    @SeanBZA 26 дней назад

    That ITT chip could be original, Sinclair would mix up chips in production, so you easily could have had the end of one tube in production, and the next tube grabbed was the ITT one, or that ITT chip was the last, and then the assembler started with a new tube after putting the last one in.

  • @andygozzo72
    @andygozzo72 Месяц назад +1

    its a pity they didnt have a /RAMCS line for the upper RAM on the edge connector, then any memory expansions would be easier and could be external ,,...theres a spare 'finger' which couldve been used, and still can if you mod it

  • @jasejj
    @jasejj Месяц назад

    I knew about the half-bad RAM back in the day, and often wondered if it would be possible to page between the two sides of the RAM (if you put in memory that was good) in software. After all those jumpers are basically a manual "paging" technique. And now I know.

    • @HappyLittleDiodes
      @HappyLittleDiodes  Месяц назад

      Yes it would be much simpler to fit a switch and manually do it!

  • @CodeAsm
    @CodeAsm 29 дней назад

    Intresting :D ofcourse a flipflop to keep the state, bank switching was and is awesome. might reuse this knowledge for my own computer builds :D
    is there known software that can make use of this extra ram?

    • @HappyLittleDiodes
      @HappyLittleDiodes  29 дней назад +1

      Sadly not! If you come across one though do let us know!

  • @stuartgibson9755
    @stuartgibson9755 Месяц назад +1

    I had an 80k Spectrum back in the '80's. Didn't really get much use out of it though.

    • @HappyLittleDiodes
      @HappyLittleDiodes  Месяц назад

      Yeah the software was sparse and the 128k came out which would have pretty much rendered them obsolete

  • @CoolDudeClem
    @CoolDudeClem Месяц назад

    I wish I understood all of this. Analog circuits I can understand, things such as amplifiers, power supplies, tape recording or whatever ... easy. Digital circuits on the other hand ... it's like an alien language to me, allways has been and probably allways will be.

    • @HappyLittleDiodes
      @HappyLittleDiodes  Месяц назад

      I think we are opposites in some way! Analogue is wizardry

    • @georgeprout42
      @georgeprout42 Месяц назад

      ​@@HappyLittleDiodesRF is dark arts when the traces themselves become components. Antennas and filters are ok, but there are too many nuances for my aged brain to wrap around them all.

  • @PhilReynoldsLondonGeek
    @PhilReynoldsLondonGeek Месяц назад

    At some point I will see how to work this on issues 3 and 4. I guess it would be way harder on issues 5 and 6.

    • @HappyLittleDiodes
      @HappyLittleDiodes  Месяц назад

      I think it would be pretty much identical. On a later board it would need some rework yeah

  • @keith1200RetroComputers
    @keith1200RetroComputers Месяц назад +1

    I remember reading a Russian guy's blog where he supposable upgraded his ZX to 1mb. No idea if it worked or not, or how useful the extra 1mb would be.

    • @HappyLittleDiodes
      @HappyLittleDiodes  Месяц назад +1

      I think the other mod I'll be looking at next claims to achieve up to 2MB with expansions, we shall see

  • @damianbutterworth2434
    @damianbutterworth2434 25 дней назад

    Intel do the same with their chips nowadays. The ones with all cores working are intel 10 ( I`m not an expert ) and the ones with less cores working sell as lower chips.

  • @milky1200
    @milky1200 Месяц назад

    Great video! I'll build it! You're using OUT to switch banks, shouldn't be IORQ instead of MREQ?

    • @HappyLittleDiodes
      @HappyLittleDiodes  29 дней назад

      You could use that, it would change the circuit a little though I think as you'd be looking for active IORQ rather than inactive MREQ

  • @jagmarc
    @jagmarc Месяц назад

    After Uncle Clive's supply of those cheap memory chips exhausted he used the normal real ones, no longer mattered the PCB links were and then Paging was born. Easy to do, but what was the point, no games were written that used it.

    • @HappyLittleDiodes
      @HappyLittleDiodes  Месяц назад

      I guess other than the joy of tinkering and making things work it was "more is more"

    • @jagmarc
      @jagmarc Месяц назад

      @@HappyLittleDiodes I remember 40 yrs ago standing in WH Smiths leafing through a magazine thinking whether buy it or not, and speccy 48K Paging was in it. I did though actually implement paging, but was with a EPROM for switching between standard Sinclair ROM and a hacked version having modified ROM calls for example the standard LOAD and SAVE commands went instead to a high speed tape streamer. The hardware was a one off and was in boot of my car had a rear end smash and I'd lost interest!

  • @neozeed8139
    @neozeed8139 Месяц назад

    There was apparently a hardware hack to add some kind of memory mapper on the 48k to allow you to run CP/M from tape... no idea if any of that survived.

  • @mibnsharpals
    @mibnsharpals Месяц назад

    The reason why the computer restarts is because the stack pointer points to &FFxx, i.e. in the upper memory area.
    As soon as you switch the memory area, the stack is undefined and the computer crashes and restarts. The stack is then initialized.
    Therefore the stack must be secured or the stack must be moved to the lower area.
    Otherwise the computer will not run properly because the stack will not be consistent when the bank is switched.
    I checked, the 128k does exactly that, it moves the stack to the unbanked memory area.

    • @HappyLittleDiodes
      @HappyLittleDiodes  Месяц назад

      What I didn't quite get is why that only happens the first time you switch banks, afterwards it doesn't reset

    • @mibnsharpals
      @mibnsharpals Месяц назад

      After the bank has been switched, there is "data garbage" ( in best case 0000 ) at the point, which leads to a reset. This means it jumps to address 0000 and the stack is reinitialized there.
      The initialized stack is then located in both halves of the bank.
      As long as you don't do anything else, nothing will happen. But if I change the bank during a PUSH / POP (call, etc.) operation, an error will occur. This doesn't necessarily lead to a crash, but to misbehavior.
      Therefore the stack must first be moved to the lower ram area, after which the computer will run normally. You just have to take this into account when you execute program code in the upper area and then change the bank. The change may only take place when all stack operations have been completed.
      That's exactly what the 128k spectrum does.

    • @HappyLittleDiodes
      @HappyLittleDiodes  Месяц назад

      @mibnsharpals really interesting thanks for taking the time to explain

    • @mibnsharpals
      @mibnsharpals Месяц назад +1

      @@HappyLittleDiodes Ideally the spectrum is operated in the 16K configuration.
      So the ramtop must first be reduced and then the stack must be placed in the 16k range. From this moment on, the memory above is no longer visible (for the basic). But it can be accessed safely on both banks.
      An application would be a word processor or a window management, where the screen is then copied to the upper area.
      What is also possible is graphics with a double buffer. The graphic is generated in one of the upper banks. In both, around 10 screens can be saved and then copied into the screen as an animation (one after the other).
      Another application is to create a STREAM and then use the upper storage as a virtual drive.
      The ZXRom has entry points for this.
      you have assigned pointers and use the A register as a transfervariable. After that , you can use OPEN# , close# , print# ...
      In this way I had a serial output of the screen realized on a terminal and used the speaker as the output port. This worked at 300 baud.
      I was then even able to redirect the screen output (text).

    • @HappyLittleDiodes
      @HappyLittleDiodes  Месяц назад

      @mibnsharpals you really know your software, I'll have to read comment a few times

  • @samcoupe4608KB
    @samcoupe4608KB 29 дней назад

    Could you make a technical description of the spectra interface please ? Think she has 32kb of video ram

  • @ignacioescribano6701
    @ignacioescribano6701 Месяц назад

    Hi. Learning a lot from your videos. Why your logic analyzer wasn't capable to detect each time the logic was triggered? spectrum clock works at 3.5 Mhz and the data analyzer according to your video goes to 24 Mhz, then why you mentioned that it was not capable enough and that you would need ones that goes to 100 o 200 Mhz!. Thank you

    • @HappyLittleDiodes
      @HappyLittleDiodes  Месяц назад

      Thanks for this great comment, I went back and looked more closely and I found out I could choose the sampling rate. I had assumed the tool was so cheap I wouldn't have any options. It was running REALLY slow, like 50 kHz!!! I'm trying now with 24 MHz and I can see 3 samples for a single pulse, double the clock cycle is 7 MHz which goes around 3 times into 24 MHz, seems like it works. That's what I get for using a new tool for a video

  • @thepumpkingking8339
    @thepumpkingking8339 Месяц назад

    10:11 Just had one of those outside of the litter box thought's ... Can you add a GameBoy Sound Amplifier / Speaker to a Speccy

    • @HappyLittleDiodes
      @HappyLittleDiodes  Месяц назад

      Sounds possible to me. There were a few speakers you could buy off the shelf to amplify the sound output. I have one on the pile to check out when I get round to it.

    • @thepumpkingking8339
      @thepumpkingking8339 Месяц назад +1

      @@HappyLittleDiodes Another Bright idea from the people who brought you " Beeeer Milkshakess " 🙂

  • @VEC7ORlt
    @VEC7ORlt Месяц назад

    Damn, speccy had some F up memory organization, but given how sir Clive squeezed every last penny out of it, its not surprising.

    • @jaycee1980
      @jaycee1980 Месяц назад

      it's pretty ordinary for a Z80 based machine. The ROM would be in the lowest part of the address space because thats where the CPU starts executing from at power up

    • @VEC7ORlt
      @VEC7ORlt Месяц назад

      @@jaycee1980 not that, but the half-baked mem chips, two banks of different ones.

    • @jaycee1980
      @jaycee1980 Месяц назад +2

      @@VEC7ORlt the 4116's had faster access time which was needed for the video. The upper ram being made of faulty 64K chips used as 32K was a good compromise cost wise.

  • @samcoupe4608KB
    @samcoupe4608KB 29 дней назад

    Can you get 128kb ram chips? I need at least 2 and possibly 100! For sam she's 6mhz z80b

  • @andygozzo72
    @andygozzo72 Месяц назад

    problem with this 'expansion' is that any running program must be below 32767 , as with a 16k machine, or you be switching the stacks which can cause issues!

    • @HappyLittleDiodes
      @HappyLittleDiodes  Месяц назад

      I'm not even sure there is any software for it, probably due to limitation such as this one

  • @SanguineBrah
    @SanguineBrah Месяц назад

    Don't keep us in suspense! Who won the Chaos battle?

  • @andygozzo72
    @andygozzo72 Месяц назад

    you didnt explain the difference with OKI rams, for those that want to know, basically it swaps the order of the selection of A14 and the ?? bits in the upper multiplexer chip 2 ... one brand has a bad column address, the other a bad row, cant remember which for sure but think the TI ones are bad column

    • @HappyLittleDiodes
      @HappyLittleDiodes  Месяц назад

      I hadn't looked into that thanks for letting us know

  • @zx_spectrum_next
    @zx_spectrum_next Месяц назад +1

    What about 64kb of fast dual ported video ram?

    • @HappyLittleDiodes
      @HappyLittleDiodes  Месяц назад

      So you could rapidly switch between screens?

    • @samcoupe4608KB
      @samcoupe4608KB 29 дней назад

      Well yes and use different 8bits per pixel 320x200 images and hardware interlace

    • @samcoupe4608KB
      @samcoupe4608KB 29 дней назад

      ​@@HappyLittleDiodesthe zx spectrum 128k's all have 64kb of ram that suffers from video ram ula contention why can't we modify the ula so that different video modes that use the full 64kb are available like ula+ ( uses 12kb timex hi rez hi colour 8pixel attributes) spectra 32kb video ram but only 18kb in one screen fir 2x2 attributes ulax and vdac2 don't think any of them support hardware interlace! Have you seen velesofts interlaced images?

  • @sgkonfetti
    @sgkonfetti Месяц назад

    Have you ever tried to replace the 4532 memory chips with 41256 ram chips ?

    • @HappyLittleDiodes
      @HappyLittleDiodes  Месяц назад

      I haven't but that's really interesting, with a similar paging mod you could achieve 272 kB

    • @sgkonfetti
      @sgkonfetti Месяц назад

      @@HappyLittleDiodesWhat is your opinion using the programming language forth on the spectrum ?
      FORTH for ZX-Spectrum 48K: This is a Forth implementation for the 48K Spectrum, developed by Abersoft/UK in 1983. It is a standalone ROM that provides a Forth environment for programming and development.

    • @HappyLittleDiodes
      @HappyLittleDiodes  Месяц назад +1

      I suppose I'm not much of a software guy so it's hard for me have a valid opinion!

    • @mibnsharpals
      @mibnsharpals Месяц назад

      have done here, to upgrade an 16K to 48k . They are much better to find than the 64k chips.

    •  Месяц назад +1

      I have once used 41256 as a replacement for the 4164 chips. It worked, but it was clearly a waste of memory.
      It could work, but 41256 introduces one more address bit, so it doesn't fit into existing multiplexing. It would be worth it to make a small board with bank control (8x32KB banks), so some 74174 would do, also 74138 as "port selector" might help. Then you would need to feed to build the upper two bits multiplexing and merge it properly with the existing circuitry.
      From today's perspective, it would be probably better to do some more modern memory overhaul with static RAM chips. 74138 + bank register + 128K or 512K of static RAM chip, all of which could be used instead of the standard 32K memory bank. RAM chips plus multiplexers plus the RAS/CAS timing circuitry all removed :-)

  • @moonandwanderer
    @moonandwanderer Месяц назад

    🌝