Adding 1MB to an 8-bit Computer!

2024 ж. 9 Мам.
239 613 Рет қаралды

This episode is sponsored by PCBWay www.pcbway.com Today I'm taking an Amstrad CPC with 64KB of RAM and adding to it... 1 MB of RAM! How is that possible? And why would you even want to do something crazy like that? Let's find out 😃
Links:
Original 1MB expansion github.com/revaldinho/cpc_ram...
Updated 1MB expansion github.com/Rebobinando/CPC-1M...
MiniWare TS80P soldering iron amzn.to/3SzhNzS
McKlain music mcklain.bandcamp.com
Support Noel's Retro Lab on Patreon: / noelsretrolab
You can also support Noel's Retro Lab on KZhead by joining this channel:
/ @noelsretrolab
Chapters:
00:00 Intro
00:50 How can an 8-bit computer have more than 64KB?
02:23 RAM expansion
06:14 CPLD
07:12 Build
09:37 RAM test
13:09 80s programs that use more RAM
17:26 Modern OSs
20:56 Cost
21:19 Conclusion
Music tracks:
Funky Stars by McKlain mcklain.bandcamp.com/track/fu...
Battro OST by McKlain mcklain.bandcamp.com/track/ba...
More awesome music by McKlain: www.mcklain.com
🛠 Tools I use ➤ noelsretrolab.com/tools.html
Connect with Noel's Retro Lab:
Discord ➤ / discord
Facebook ➤ / noelsretrolab
Twitter ➤ / noelsretrolab
Instagram ➤ / noelsretrolab
Mailing list ➤ noelsretrolab.com

Пікірлер
  • FAQ (hopefully this addresses some of the main comments/questions): *** You got data bus and address bus backwards! Yes, I did! 🤪 I thought it was only in one part that I put some text, but apparently I messed up earlier too. Sorry! *** LD (C), C is incorrect. No. The way the Z80 works, when you do out (c), XX, it actually sets the IOREQ line, writes the whole BC register on the address bus, and puts XX on the data bus. I know, it should have been called out (BC), XX, right? From my understanding, most Z80 systems only look at the lower 8 bits of the address bus during an IOREQ operation. I'm not sure why. Some kind of semi-standard? Reference implementation? The Amstrad decided to use the TOP 8-bits of the address bus to decide which IO to target. So the bottom 8 are ignored. So loading something on BC and doing out (c), c does put C on the data bus and B on the top half of the address bus. It's one of the Amstrad idioms. I'll keep adding things as they come up.

    @NoelsRetroLab@NoelsRetroLab6 ай бұрын
    • This does not really address the “discology” question 😂😂😂

      @MarianoLu@MarianoLu6 ай бұрын
    • The 8 bit thing probably comes from the 8080 which only had the IN A,(n) instruction. The INIR/INDR etc opcodes (z80) are like LDIR etc but increment or decrement the B register. They read a block of input data. Another reason for I bit IO addresses. The Amstrad way of doing things makes those instructions unusable on a CPC. The Amstrad firmware keeps BC’ permanently loaded with the gate array address in B and the current video mode and ROM enables in C. It can change ROM enable states just by tweaking the appropriate bit(s) and doing an OUT (C),C wrapped in EXXes which makes calling ROM routines a lot faster than it would otherwise be. One of many clever tricks in the CPC :)

      @bread8070@bread80706 ай бұрын
    • @6:26 "this is just a 256MB expansion" from 1986 :-)

      @rasz@rasz5 ай бұрын
    • 6:22: Did you mean 256K? BTW, I love those little moments you speak spanish

      @0x0fffff@0x0fffff5 ай бұрын
    • You really should cut the component legs to length _before_ soldering in order to avoid bad connections from potential microcracks.

      @ShamblerDK@ShamblerDK5 ай бұрын
  • Well, my motherboard supports 64Gb of RAM at this time. Such an upgrade would allow me to have 1088Gb. With this much, I could run Photoshop for an entire day without needing to restart it to clear the memory leak! Really puts things into perspective.

    @Dank_Lulu@Dank_Lulu5 ай бұрын
    • You can also open half a dozen browser tabs now. 😉

      @edgarwalk5637@edgarwalk56375 ай бұрын
    • I can do that now with 8Gb in the computer I built 12 years ago. Actually, I could do it for weeks, while at the same time downloading files from newsgroups, listening to music, and browsing the internet with 40 or 50 windows open. I only shut my computer down about once a month to free up the memory. It takes me a half hour just to save all the open browser window URLs so I can revisit them.

      @bite-sizedshorts9635@bite-sizedshorts96355 ай бұрын
    • Perhaps you should add a /sarc/ tag, as this has to be a joke.

      @bite-sizedshorts9635@bite-sizedshorts96355 ай бұрын
    • Gosh I wish I had a TB of RAM for running blender without constantly having to worry about running of RAM and usually doing it anyway.

      @oliverer3@oliverer35 ай бұрын
    • @@oliverer3 I had a very fun experience recently with Blender while editing. I had it set to use however much it wants from my 500 gig nvme and while rendering a 12-min video, it decided it needed 460 gigs of virtual ram. It took me three attempts with a corrupted video file and some burned neurons and lost hair follicles on my end to realize it was cucking itself from writing the file. So yeah, a TB of RAM seems par the course. For a piece of free software though, Blender's top-tier!

      @Dank_Lulu@Dank_Lulu5 ай бұрын
  • The fact that the extra memory doesn't get wiped is one of the tricks that was used to ahem, backup software. Ideal in combination with an Instant Replay. Wait for the game to load, break into the process, copy the entire 64Kb to the second 64Kb bank, reset the Amstrad and then copy it back and extract the program. I've used it to extract music from games. :)

    @MK-jo1gi@MK-jo1gi6 ай бұрын
    • Oh.. those times… I was the king of backups.. cough.. with my C64😊

      @MarianoLu@MarianoLu6 ай бұрын
    • Do you really own something without a DRM-free digital copy?

      @KopperNeoman@KopperNeoman5 ай бұрын
    • Cool. I was always in awe at the cracking groups of the day and literally dreamed about how they did things (especially on the Amiga 😍). I'd love to learn that stuff for myself and become a retro games cracker just to understand it all 😃

      @phil2768@phil27684 ай бұрын
    • ​@@KopperNeoman games preservation will be done by pirates rather then companies. It's already true.

      @paulbunyangonewild7596@paulbunyangonewild75964 ай бұрын
  • Thanks for the CPC love! I still adore my CPCs, and I suspect like most Amstrad users around today, I'm always delighted to see a deep dive into the rather esoteric joys of hardware expansions. I love picking up serial, sound, mouse and speech expansions for it to this day. My favourite hardware expansion that I had was a VIDI video capture card from the folks that made the ROMBO rom expansion box. That was mind-blowing, but I lost mine and I've never seen another. You touched on the CPLD and that's something I would definitely like to learn more about some time..

    @GrantMeStrength@GrantMeStrength6 ай бұрын
  • If my memory serves me correctly, it's the *address bus* that's 16-bits wide, the data bus is what makes it an 8-bit computer. Still a great video.

    @Mat-Ellis@Mat-Ellis6 ай бұрын
    • Pretty much. The instructions and data are a byte wide (usually - the z80 actually can deal with 16 bit numbers though there's a speed penalty since obviously you have to deal with them eight bits at a time)

      @TheTurnipKing@TheTurnipKing5 ай бұрын
    • This whole "bitness" concept is kind of suspect. For instance, the 68008 (used in the Sinclair QL and many embedded system) had 32-bit registers and instructions, 20/24-bit addresses, a 16-bit internal bus, a 16-bit ALU, and an 8-bit external databus. Some called it 8-bit, others 16-bit, yet others 32-bit. The Z80 had 16-bit registers, addresses and instructions, with an 8-bit databus, and a small 4-bit ALU. But was always called "8-bit". Pretty arbitrary really.

      @herrbonk3635@herrbonk36355 ай бұрын
    • @@herrbonk3635 fwiw the 68008 is basically a cost reduced 68000, which is generally considered to be a 16bit processor. You are not wrong in calling it arbitrary though. "Do the math" as Atari famously claimed in adverts for the Jaguar

      @TheTurnipKing@TheTurnipKing5 ай бұрын
    • @@herrbonk3635 IMO the "bitness" of a computer is how many bits it can process per clock cycle. This is usually the register size, but I suppose some procs might process low bits on one clock and high bits on another or something internally, I don't know enough about CPU specifics to say one way or the other. If the data bus is half the register width however, then it could effectively only handle 8 bits of data per clock realistically so maybe that is why it was called a 8 bit computer.

      @JathraDH@JathraDH5 ай бұрын
    • @@JathraDH Sorry, but that's total recentism, and not how it works generally at all. If it was, the "bitness" would vary among different intructions and the 68008 mentioned above would have a "bitness" of 2.7 (32/12) for its fastest instruction, while the 68000 would be a 4-bit CPU (32/8) for the same instruction... 🙃The 8086 would have a "bitness" of up to 5.3 (16/3), while the 286 would be an 8-bit processor (16/2) and the 386 would be 16-bit (32/2) ... and so on.

      @herrbonk3635@herrbonk36355 ай бұрын
  • Great to have you back. I know you've been setting up your studio and I know this takes time. I've missed your content. You're back and this makes me happy. Nice one Noel.

    @cjheeley@cjheeley6 ай бұрын
  • Great video again Noel. Love your enthusiasm for tinkering with retro computers.

    @LongyFromCork@LongyFromCork6 ай бұрын
  • I'd love to see more of this, there is a KZheadr named Prodatron who demos some great hardware.

    @CyclingSteve@CyclingSteve6 ай бұрын
  • Atari 8-bitters have been adding 1MB of RAM to their computers for years. A friend used to have an Apple IIc in which he installed 1MB with an upgrade. I helped him get the chips he needed.

    @Mrshoujo@Mrshoujo6 ай бұрын
    • I have a new-to-me Atari 800XL heading my way soon and I'm going to do that in the future.

      @Scyllinice@Scyllinice6 ай бұрын
    • True, I've seen those in the late 80's. There were magazines who published some schematics with all kind of upgrades for the 8 bit Atari computers.

      @xXTheoLinuxXx@xXTheoLinuxXx6 ай бұрын
    • And i've got a 16MB ram expansion on the C64

      @pigpenpete@pigpenpete6 ай бұрын
    • Having such massive RAM expansions are cool but only if there's enough software to take advantage of it. I saw a video of a shoot em up for the Atari 8bits that required a memory expansion, it looked pretty cool , very fast.

      @cryptocsguy9282@cryptocsguy92825 ай бұрын
    • yeah but the commander x16 has 2 megs of ram so this would be a downgrade for that system🤣🤣

      @SaraMorgan-ym6ue@SaraMorgan-ym6ue5 ай бұрын
  • Gotta love the open source hardware community! I develop software, but I like seeing open source go to hardware as well.

    @edgarwalk5637@edgarwalk56375 ай бұрын
  • Great video, I love the way you explain complex topics, like memory mapping, with simple words and diagrams! I considered porting Zeal 8-bit OS to the Amstrad CPC but wasn't sure how the memory was organized, I am happy to see it is also using the 4x16KB virtual pages segmentation, which makes it fully compatible. The first program that comes to my mind that would be able to use a lot of memory (maybe not the whole 1MB) is a C compiler. The compilers I have seen for the Z80 go from parsing to assembly generation in the same pass, which reduces the RAM usage but limits the potential optimizations. With that much RAM, an whole AST can fit in RAM, even if the source file is big, making optimizations possible!

    @Zeal8bit@Zeal8bit6 ай бұрын
    • But even with so much RAM I’d recommend not to waste it and combine preprocessor c compiler asm compiler and linker as coroutines. I remember first TurboPascals were blazingly fast, because compiled into RAM - no need to save, just jump to exec. Later versions >=6.0 started to work with files and were in order of magnitude slower! Use the RAM Luke ;)

      @alexloktionoff6833@alexloktionoff68336 ай бұрын
    • Yes, the CPC uses 16k banks but what it can patch in where is very limited. You can patch any block into the bank at &4000. There’s also options for the bank at &c000, but beyond that you’re limited to swapping in entire 64k banks in one go. Also video can only use the base 64k.

      @bread8070@bread80706 ай бұрын
    • Ooh, I'd not heard of Zeal OS - Thank you for a new rabbit hole for me to get lost in!

      @suvetar@suvetar5 ай бұрын
  • I did start designing an ATX version of the 6128, but now that I know about this project, I will do what my due diligence to see if it can be baked into my design.

    @JVHShack@JVHShack6 ай бұрын
    • Please do follow the standards. Use mITX form factor a slots spacing. Then it will be possible to use a lot of cool mITX cases and use already made CPC extension cards with 3d printed brackets to be inserted into same way as low profile PCIe cards

      @alexloktionoff6833@alexloktionoff68336 ай бұрын
  • Great video! I know virtually nothing about the Amstrad line of computers, so this was very educational. It always amazes me how inventive people get when they have very little memory to work with or when they have a system that is very limited in a more general sense. Adding that pressure makes people think more deeply about the choices they make when designing hardware or software for such a platform. One big bonus is, of course, that memory, both DRAM and SRAM are relatively cheap nowadays, especially compared to say, what the costs were in the '80s and '90s. I love SymbOS. I have it running on my MSX2 computer, a Philips NMS-8255, although of course, that system is also expanded with 1MB of memory and more storage than one could even dream of in the '80s. In its current configuration it has more RAM and more storage space than my very first PC had. I think that's pretty awesome.

    @damouze@damouze6 ай бұрын
    • Very true: back in the 80's, RAM was a little under £1 per KB, so one of today's 4GB DRAM modules would have cost 4 million quid!!

      @alanclarke4646@alanclarke46466 ай бұрын
    • @@alanclarke4646 I remember paying slightly over £80 to get 4mb of 30-Pin Simms, so I could play GL Quake!! It was not fast, nor cheap realiy but it did allow me to use the 3DFX card in a machine that really wasn't up to the base level spec to take advantage of it ... but ... once I'd seen GLQuake in action, I *had* to have it, come what may!! Not so long after, I did get a 16mb Voodoo Banshee. I know, I know - it wasn't the best in many ways but I much preferred the way it helped 2D acceleration in Windows, without the horrible noise from the passthrough cable at high res (1600x1200 on a 19" CRT) which I convinced myself I needed because I used that machine as a programming workstation as well as a gaming rig. Many fond memories of it also working really well with I-War 2: Edge of Chaos and Wing Commander prophecy, especially after splurging out on a Microsoft Force Feedback sidewinder joystick ... I wish I still had equivalent gear now as I have a digital HD projector and I always wanted the experience of playing a proper space game on such a massive display! I love the immersion of my Oculus Quest 2, but the tunnel vision can be grating and doesn't quite compare to 1080p on a 20 foot wiide screen 😀

      @suvetar@suvetar5 ай бұрын
  • Glad you are back, excellent video.

    @chaoslab@chaoslab5 ай бұрын
  • I still own my 6128 and I added a ROM board and a 3.5” drive to keep my 3” disks mostly available - they were so expensive! I had always wanted a hard drive for it and I felt that 128k of RAM was enough for me. I did all of my university work on it, text and graphics, as well as relaxing with some pretty good games. Now I have so many computers of different eras and brands, and I’m still creating text and graphics for all my subsequent jobs that I don’t know when I will get back to the Amstrad. Thank you for another great video!

    @kjamison5951@kjamison59516 ай бұрын
  • we had the CPC 128 but never had any issues or limitations. thank you for the video.

    @demofilm@demofilm5 ай бұрын
  • Noel, I love your enthusiasm and way of describing the project and mechanisms involved! Thank you so much for that! I wanted to ask if you've looked at the tech discussed in the "protected mode on the Z80" video you can find on YY? Can't link it because ... YT ... but I'd love to see you do a project based on it! I'm referring to Andy Hu's "The Z80's secret feature discovered after 40 years!" content, which also has an intriguing discussion into the topic! Apart from seeing it work, I'm fascinated to know what one could actually *do* with it 😀

    @suvetar@suvetar5 ай бұрын
  • I love finding videos where the KZheadr makes custom hardware to improve older stuff, like old old stuff. Usually makes me wish that more programs would negotiate a percentage of available resources so they could take advantage of say more ram lol.

    @Suzuki_Hiakura@Suzuki_Hiakura5 ай бұрын
  • Nice to know that there are cheap opensource expansions for CPC. I've never owned a CPC (Commodore user here) but partially thanks to your videos I can see how underrated it was compared to its true potential. Now I have 3 working pieces (2 464 and one 6128) that are waiting for when I have time for them :) They will probably require belt replacement, though.

    @robertosswald5896@robertosswald58965 ай бұрын
  • Cool. Keeping track of all the blocks of memory while writing software to make use of it would be fun.

    @frankowalker4662@frankowalker46626 ай бұрын
  • Nice video. We are making a 2MB expension for the Philips P2000T, a Dutch Z80 machine, internally, as it has plenty of room. 2MB is the limit, as the OUT toggle can deliver 256 positions for the upper 8kB of RAM. So you get 2108 kilobytes. Actually back in 1988 someone already made a 2MB expansion for this machine, byt with 256kbit chips (64 of them!): the use was running a BBS over the Viewdata protocol. They needed to upload 5 floppy's with all the user messages and such into the RAM, and they even managed to run it for 5 years without a single power-down. Our modern version has 4x512KB chips and TTL logic. Still it is pretty compact. What is weird though, the C128 does flip the entire RAM. Must have been hard to swap data between the two halves on that machine.

    @lovemadeinjapan@lovemadeinjapan8 күн бұрын
  • Tks for the great content as usual.

    @fabioacrs@fabioacrs5 ай бұрын
  • I also used Discology and Pyradev back in the '80s, for...... "research" LOL

    @daspec@daspec6 ай бұрын
  • I had a 40MB HD for an IBM PC in 1986 at work - HALF HEIGHT!! - and it had the first surface mount components I'd ever seen. The first 1GB drive I saw was in about 1989 for a VAX 8340. They were $25K each and we had 8...think about how much HD space $200K could buy today!!

    @VAXHeadroom@VAXHeadroom5 ай бұрын
  • You are so right about a possible huge leap in quality and complexity of CPC software if extra memory was considered as a standard! The Homebrew golden era of the Atari 8bit line is a great example on how some extra memory can push the quality of the software. Of course the good thing with the Atari expansion memory modules is that most of the solutions (internal or PBI) follow the specs of just two main popular "protocols" (Compy and Rambo) guaranteeing the compatibility of almost all expansion "contraptions"...plus the PBI port has its own power supply and zero peripherals to compete for the same port (thus its really practical).

    @nickolasgaspar9660@nickolasgaspar96604 ай бұрын
  • A friend of mine built something similar for the Sinclair ZX Spectrum 48K at the age of 16 back in 1987. As he used the full 8 bits of the output port (220), this would have allowed up to 256x 32KBytes or 8MBytes (including the internal 32KBytes at out 220, 0) of total memory. Including power/battery backup and the ram, if he had tried to do that it would have probably ended up the size of a mini-fridge 😂 but because of the costs back then his ram pack only had 224KBytes (7x 32KBytes) but it was battery backed up. It came in very useful when we were developing software as it could be saved to the expansion memory using the Sinclair Microdrive commands and any time the machine code crashed or got stuck in a loop, the zx could just be reset and then the code could be loaded back from the expansion.

    @dancegenie@dancegenie3 ай бұрын
  • Feels so good to see Noel in his workshop.

    @darkstatehk@darkstatehk6 ай бұрын
  • As a younger dev this video gives me some great broader perspectives. Ty.

    @VelociraptorX@VelociraptorX3 ай бұрын
  • I did exactly with my CPC6128 what you described in terms of debugging. I rerouted the BIOS to an external ROM where I destroyed the fonts starting at ASCII 240. I put code into there to copy the entire 64K into the expansion RAM. Later I build my own expansion like you showed in the picture using 256K of DRAM and many ROM expansions. The MAXON assembler was the most important one. Since I build the RAM expansion myself I also added a DMA that was able to send a data stream out to a DAC making some real sounds like the AMIGA does. But then I switchted to AMIGA.

    @ChipGuy@ChipGuy6 ай бұрын
    • Wow, that sounds like some serious hardware hacking! I wish I was able to do stuff like that back in the 80s, but back then I was even afraid to open up the computer! 🤣

      @NoelsRetroLab@NoelsRetroLab6 ай бұрын
    • @@NoelsRetroLab I had help from the German State Train Company where I had the first internship of my life. A nice guy taught me the basics of LSTTL logic ICs. I started there and went on from that building the first Eurocard. IIRC my 6128 used a 50 pin centronics connector. That was a pain, since it did not fit into the 0.1" matrix board.

      @ChipGuy@ChipGuy6 ай бұрын
  • I love the way that amstrad looks. I would love to have a retro mechanical keyboard that looks like that

    @lordfatcock@lordfatcock5 ай бұрын
  • my cpc is looking a bit worried right now lol, its difficult to convey how insane 1mb of ram for a 80s micro is.

    @johnbee1574@johnbee15746 ай бұрын
    • Right?? That's why I liked that RAM test so much since it took several minutes to complete. It's some insane amount of RAM and it was certainly never intended to have that much.

      @NoelsRetroLab@NoelsRetroLab6 ай бұрын
    • @@NoelsRetroLab but you know if implement fast RAM expansion Amiga way via cpu socket PIStorm, emulated z80 could scan 1mb of fast ram in a blink of an eye ;)

      @alexloktionoff6833@alexloktionoff68336 ай бұрын
  • Sorry for sounding pedantic, but those are not IDC connectors. Those are (shrouded) pin headers and sockets. IDC stands for insulation displacement connector, and means the kind on connectors that pierce the insulation on e.g. ribbon cables when you install them. The most common IDCs are indeed the pin socket types, but another common type is D-connectors on ribbon cable. Though IDCs don't even always use ribbon cable: you have things like modular connectors and the MTA100 series.

    @ahhuhtal@ahhuhtal6 ай бұрын
    • You're right. I'm horrible when it comes to connector names 😃 I stand corrected.

      @NoelsRetroLab@NoelsRetroLab6 ай бұрын
  • my first computer was a cpc 464 and ❤❤❤ basic on amstrad is a delight

    @BurakUnan@BurakUnan5 ай бұрын
  • If the screen buffer can be relocated to banked ram (like on the C64), then you could use that functionality to play full screen animations really quickly. Edit: looks like you answered the question during the video. Cool!

    @BrainSlugs83@BrainSlugs836 ай бұрын
    • Unfortunately, due to the way the Gate Array controls memory accesses, Video RAM has to be in the base 64k ☹️, otherwise switching VRAM banks during vertical blanking would be very cool. The Giani Sisters Tribute game uses 32KB from base RAM for the display.

      @alanclarke4646@alanclarke46466 ай бұрын
    • That actually was use with the REU in the Commodore 128. Though I don't know if it was the VIC-II or the VDC.

      @cianmoriarty7345@cianmoriarty73455 ай бұрын
  • Interesting - I always wondered about the 'extra' 64KB on my CPC 6128 (on which I ran an entire business on using Mini Office II in the 90s!). 16:05 Whoa, that program brought back some memories! My friend got quite annoyed with me when I kept borrowing his mouse to use it...

    @James_Ryan@James_Ryan6 ай бұрын
    • I spent so many hours with that program! I never made anything great with it, but it sure sucked a lot of time! 😃

      @NoelsRetroLab@NoelsRetroLab6 ай бұрын
  • Wow! Instaling 1MB ram on 8 bit computer is like installing 1MB ram on 8bit computer!! Mazing!

    @semarangservis3005@semarangservis30055 ай бұрын
  • With regards to internal memory expansions, one of the main challenges is that the signal timings in the CPC work when writing to DRAM, but not when writing to SRAM. DRAM samples the data bus when WE transitions low, SRAM does so when WE transitions high. In the CPC the multiplexers have started to change by the time that happens. It’s possible but modify the signals to get it to work but makes the logic more complex. Beyond that you get the challenge of where to patch the expansion into to access the signals it needs - and you’d need to do different boards for each main revision of Amstrad main board. When I looked at doing so I felt like would be simpler to just design a new machine from scratch. Do that and you can also upgrade other areas of the machine such as the ROM.

    @bread8070@bread80706 ай бұрын
    • Interesting about the timings. I didn't think that far, but that could be a challenge. As for fitting it, my naive idea was to fit on 3-4 of the lower 64KB RAM chips and have cables go out to the RAS/CAS of the other chips. But yes, you would definitely need different PCBs for different 464 boards (maybe one will be in common with a 6128)? Alternatively we could plug it in on the Z80 socket directly. Maybe? Lots of possibilities, but I think it may be worth it, and especially, it will definitely be fun 😃

      @NoelsRetroLab@NoelsRetroLab6 ай бұрын
    • @@NoelsRetroLab When I tried it plugged into the gate array (for signals and data bus) and a signal RAM chip (for address lines IIRC). The downside is that the address is downstream of the address multiplexers. You need to latch the RAS and CAS addresses and then run them through a HAL. It just all gets very ugly. Patching in to the gate array and CPU sockets would be better but they’re not conveniently placed in most motherboard variants. (And my preference is for a single PCB which plugs into the sockets and rehouses the original chips - much nicer than a load of flying wires and soldering). So, yes, it would be lots of fun. I’m just not sure I want to personally devote the time to it :(

      @bread8070@bread80706 ай бұрын
  • I like when someone says a word on a foreign language and actually cares to pronounce it properly like you did

    @falin9557@falin95574 ай бұрын
  • Back in the day I would always use ram disks for my Amiga 500 with 2 megs external ram and 1 meg internal ram. With games I would load the disks into ram, then there would be no swapping of disks and practically no load times during gameplay. Sounds like this would be an excellent use of the expanded ram for this and other 8bit computers.

    @thorish933@thorish9335 ай бұрын
  • My MSX 8 bit Z80, computer it has 2Mb of bank switching memory, not much use, a massive RAM disk, but, some cartridges use 8k bank switching, the 16k pages can handle those quite nicely

    @davidhaslett9777@davidhaslett97776 ай бұрын
  • Great video!

    @no1leader135@no1leader1356 ай бұрын
  • Brilliant video! Easily the best 8bit, especially if you add 128K of Ram.

    @ClassicReplay@ClassicReplay6 ай бұрын
  • Awesome Noel! I hope you get a Coleco Adam computer some day!

    @tigheklory@tigheklory6 ай бұрын
  • I wish other manufacturers realised that the CPC464 had the coolest looking keyboard of all 80s 8bit machines, I love the coloured keys. I had an enormous thing against Amstrad in general (still do!) so never owned one but I always thought it looked like a very cool machine in that sleek black case with that keyboard.

    @lemagreengreen@lemagreengreen6 ай бұрын
    • Intelligent Software Enterprise 128 had simmilar keyboard

      @rastislavzima@rastislavzima6 ай бұрын
    • In terms of looks of the keyboard, there's only 1 other computer that I though could even shine a candle to the CPC, and that was the Oric Atmos ... beautiful machine, crap hardware though!! I'd love it someone could make an Atmos inspired case for the Raspberry!

      @suvetar@suvetar5 ай бұрын
    • @@rastislavzima That built in Joystick was bananas! In a good way 😀 I remember first seeing it in a computer magazine and lugging the article around all week at school to show anyone who'd listen (and a few who didn't!) how awesome it was! .... Turns out that it looked great but the stick itself was pants! Shame though, If they'd managed to get that machine out a couple of years sooner, I do believe the 8-Bit market in the UK would have gone in a totally different direction. To me, it's almost like how things could have been if the Sharp 68000 had been released and supported world wide! Wish I had a time machine so I could go back and slap some folks upside their heads LOL!

      @suvetar@suvetar5 ай бұрын
  • 640MB was the maximum RAM limit of the original IBM PC, even though the 8088 could directly access 1MB. "High" RAM usage, for me, personally, came in the late 1980s, and using a Z80. I was working at voice logging recorder company at the time. 25 hours of recording onto 60 channels, on 1 inch tape. All analog. Only computer control. But the project using a "butt load" DRAM, was an "instant playback" SS recorder, with anywhere from 2MB to 32 MB of RAM, to store the audio. Uncompressed and sampled at 8KB/sec that translates to 4 minutes to over an hour of recording. Of course, a Z80 can only access 64KB directly, bank switching the voice data, and also used a DMA controller.

    @michaelmoorrees3585@michaelmoorrees35853 ай бұрын
  • The comment about the RAM not being reset on a reset also holds true for the 2nd 64K bank in a 6128. I remember one trick for hacking games from tape to disc back in the day was to load the game into the 2nd bank of a 6128 and reset when loaded and just save out the 2nd 64K bank to disc. Figure out the entry address and you've got a disc based version. :) Easier with a multiface, of course!

    @RetroHQ@RetroHQ3 ай бұрын
  • Just seeing those CPC 464 colours took me back forty years. Forty years?! Where did all that time go?

    @FatNorthernBigot@FatNorthernBigot6 ай бұрын
    • It went 40 years forward.

      @JGreen-le8xx@JGreen-le8xx6 ай бұрын
    • @@JGreen-le8xx Yeah. 🙁 Time has a habit of doing that.

      @FatNorthernBigot@FatNorthernBigot5 ай бұрын
  • The AMS and SuperAMS memory boards for the TI 99/4A use the 74LS612 or 74HCT612 memory mapper to provide up to 1MB. The chip has two modes, map and pass and in pass mode, they appear as a normal 32K card to the TI.

    @jameskrych7767@jameskrych77675 ай бұрын
  • There's probably enough glass in my cupboard to build an undersea aquarium.

    @user-to2qb9nf1m@user-to2qb9nf1m5 ай бұрын
  • I remember WordStar didn't have enough room in 64K even for it's code... so it would "swap in" chunks of code from overlay files. It'd be great (if I could still remember my 8080 assembly language) to patch it so that it loads all it's overlays into expanded memory and then bank-in it's overlays instead of going out to the floppy all the time.

    @edgeeffect@edgeeffect6 ай бұрын
  • I have about 100 TQFP XC9536XL (4.5 bytes storage) and I have no problems writing the VHDL for these memory expansions. A trick of the trade is to use 3.5999V regulators to increase noise immunity so there are less problems with running a number of additional cards on bus expansion boards. Most CMOS today doesn't draw much current and doesn't cause an unbalanced voltage drop. I also have a Z80 under chip to 40 Pin Dip to 40 pin header adaptor so that I can make RAM expansion internal on my CPC 6128. Note: The TQFP44 has pin 1 close on a corner and the J-lead PLCC 44 pin equivalent has pin one on in the middle of one side. I will be targeting 512kB plus the original 128kB of a CP 6128 which was the original design intention of the CPC 6128.

    @Egg-kh2xo@Egg-kh2xo2 ай бұрын
  • Back in 1985, I did this with my Apple IIe 8 bit computer. Was as simple as putting in a RAM card, built for the task. I think it was the company, Applied Engineering that made that card. The card did all the heavy lifting. I simply enjoyed having all the extra ram for Appleworks, which showed me having 1184 kb free. The software had to know about it. So if it was a 128k game, then it only saw the 128k. But for the real power apps, it was awesome. I was bragging to a friend of mine, how much RAM I had, he said, "You will never use it all", and I quickly did. I starting making RAM Disks with it. Even had a battery back up for the RAM Card to use so the RAM didn't lose anything during a power off.

    @dr.robertjohnson6953@dr.robertjohnson69535 ай бұрын
  • I lived across the road from Datel electronics, remember them well, made some cool stuff.

    @Synthematix@Synthematix4 ай бұрын
  • 21:42 Hey, a hand scanner on the right! Oh man, document scanning at 400 DPI (if it wasn't less), even in black and white, would require you to move the scanner shower than average continental drift in order to not overload the PC 😊.

    @nkronert@nkronert5 ай бұрын
  • great video! keep up the good work! :)

    @caveman70@caveman705 ай бұрын
  • Good video! TY

    @Charleshawn66@Charleshawn665 ай бұрын
  • You seemed to be saying that WordStar would only be able to handle files that would fit in RAM -- this is not the case, and I remember being amazed at how smooth the transition was from the amount of text that would fit to much bigger, where it dealt with the rest of it as disk files. This was on my Osborne Executive running CP/M 3.

    @Roy_Tellason@Roy_Tellason3 ай бұрын
  • It's a good thing when you turn on your computer and it isn't exploding... 😂😂😂👍 Great video, thank you!

    @AS-ly3jp@AS-ly3jp4 ай бұрын
  • Noel, you have made me stroll down memory lane. Thank you. I hope my little rant below does not bore you too much. Shortly after the Z80 uP was first released, the company I was working for purchased a 'large' (12" square approximately) SDK PCB (from Zilog I think). To populate the memory, the DRAM chips of the time were 16k BITS and 8 of those gold-plated-pin heroes to make a 16K byte DRAM memory cost around 500 USD. This BEAST with a fancy cassette-tape-drive storage for R&D was set in front of me and I had to make it work. Thankfully, LSI byte-wide SRAM made its appearance a short time later, so that many of the company's wannabe product successfully made it into the market place at a practical price point for large computer-controlled lighting desks. The static RAM with battery backup made the products free of the need for any other type of memory when composing and then repeatedly sequencing through lighting cues every show. The DRAM refresh controller on the Z80 uP WAS used however. My boss at the time who had a propensity for thinking outside the box, asked me to use the phantom Z80 read-refresh cycles of non-existent dram to sequentially export lighting levels directly from SRAM memory to the proprietary analogue serial trundler sent directly to numerous dimmer racks from a single output. IOW, DMA on the cheap. IT WORKED just fine - and still does as far as I know.

    @jimparr01Utube@jimparr01Utube5 ай бұрын
    • Nice. I have similar expericences, albeit starting a little later, early 1980s. But have you seen the internals of the ZX80 and ZX81 designs? I.e regarding "outside the box" usage of the refresh counter and other Z80 traits.

      @herrbonk3635@herrbonk36355 ай бұрын
    • @@herrbonk3635 I have not Sir. I will go on a bit of a tour to see what I can turn up. I did very much appreciate the timely appearance of Hitachi's 64180 device a few years later and designed it into a number of specialized industrial products. I am now retired, but interested in your comments w.r.t. spectrum ZX80/81. I see the schematics are easy to find on the Web, so a bit more touring down memory lane in store for me. Thanks for your reply.

      @jimparr01Utube@jimparr01Utube5 ай бұрын
    • @@jimparr01Utube Thanks! I used the 64180/Z180 too. But it's only the ZX80/81. (Spectrum had other designers and more traditional solutions.) The interesting and challenging aspect of it is that it's almost impossible to understand the ZX80 TTL-schematics without also reading the disassembled machine code, and vice versa. And the ZX81 is even worse, using NMI as well as (non returning!) INT interrupts for picture generation along with the refresh counter and I-register. It took me years to fully understand that thing... It's not beautiful, or even optimal, but still clever. Very british :)

      @herrbonk3635@herrbonk36355 ай бұрын
  • A Disk copy program on the Sam Coupe with 256 or 512k ram. Completely in basic, first check if 256 kor 512k was available with a Peek-command to determine if you can read 40 tracks or just 20 tracks of the disk, then copy the sectors of those tracks, the only problem was timing, and that was solved with first reading the odd sectors and than the even ones, swap the disc and write the odd and then the even sectors. The Sam Coupe could hold up to 4.5mb, but more likely was 1mb extra and an IDE interface for a harddrive.

    @Canofasahi@Canofasahi5 ай бұрын
  • I had much prefered a handful 74/40-series ICs than a proprietary single manufacurer CPLD...

    @herrbonk3635@herrbonk36355 ай бұрын
  • Whenever I see a video about old computers and memory, I remember saving up over a hundred dollars to buy sixteen 2114 chips to double my computer's RAM to 16K.

    @scottlarson1548@scottlarson15486 ай бұрын
    • Seriously! RAM used to be super expensive back then.

      @NoelsRetroLab@NoelsRetroLab6 ай бұрын
    • @@NoelsRetroLab There's an episode of Adrian's Digital Basement in which he replaced I think four RAM cards in his SWTP 6800 machine with a single 32K RAM chip that cost five dollars. It made me laugh.

      @scottlarson1548@scottlarson15486 ай бұрын
  • I may be wrong, it was so long ago, but I think I remember such trick was used by Sharp to swap ROM banks in some 80s pocket computers. It also may have been some kind of protection/

    @pandacongolais@pandacongolais6 ай бұрын
  • Would love to see a 1MB RAM Expansion for the Sega Genesis for Z80 Master System homebrew. Maybe get it to read the SegaCD too for adding Redbook audio to 8bit games.

    @GhostCorpsGenesis@GhostCorpsGenesis3 ай бұрын
  • It seems like just yesterday that you started working on the Amstrad diagnostic ROM. When you said 2 years I just about fell out of my chair. It's too bad we didn't have Amstrad in Canada. They seem like fantastic machines. Here it was all Commodore, Apple, Atari, TRS-80 and TI, in that order. I literally never saw any other microcomputer in the '80s. I do not count PCs because they are not what I consider microcomputers, and also they were boring. The fact that they were "boring" was part of the reason they triumphed, but my heart only holds 8 bits at a time. Designing your own memory expansion will be a big project, certainly worthy of several videos. I know you can do it Noel!

    @Starchface@Starchface5 ай бұрын
    • Yeah, I want to get more into designing hardware expansions. The first one is probably going to be a simple ROM expansion to run the diagnostics ROM (and maybe a few extra things on the board). So many ideas! :-)

      @NoelsRetroLab@NoelsRetroLab5 ай бұрын
  • Nice demonstration of FutureOS!

    @michaelwessel4953@michaelwessel49535 ай бұрын
  • My first hard drive for our 386SX was 80 MB. I remember loading Stacker software to double it and it not working the first time so I had to format the hard drive and start over. My mom wasn't happy that she lost the budgeting files she had just started putting on the new hard drive, but I blamed "I don't know what happened" and that seemed to work. LOL A single 1 MB SIMM of RAM cost $100 at that time too. Perspective can also make you feel old and outdated.

    @Salsuero@Salsuero5 ай бұрын
  • So "sleep" mode was actually invented a long time ago since that keeps a snapshot of the current RAM state and re-loads it on power resume. I never shut down my PC, I perpetually use sleep mode.

    @billkeithchannel@billkeithchannel4 күн бұрын
  • CP/M 2.2 didn’t know anything about paged memory, and most CP/M code ran quite happily inside an unexpanded 64K machine. Amstrads ran CP/M 3, which could use paged memory, but didn’t require it. I remember running CP/M on a CPC 464, without expanded memory.

    @stevetodd7383@stevetodd73836 ай бұрын
  • With regard to how big that 1MB was and your tester, we saw the same as PCs, their memory, and assumptions aged. I recall BIOS doing a RAM check and maybe the BIOS was a bit dated. Obviously designed to hop through maybe 1MB on machines that may go up to 4MB or whatever, but the same BIOS then shipped in machines with 8 or 16MB, but which supported (even if unofficially) 4 or 8MB DIMMs in each of it's 4 or 8 SIMM/DIMM slots. If you forgot to disable it, dropped in some by that point cheap, surplus memory to max it out, it'd sit there for many minutes are reboot checking it 1K at a time while it counts up on the screen. Quite a panic when it's some little server that deserved/needed that upgrade, but isn't reappearing on the network after a reboot.

    @hatbabe@hatbabe5 ай бұрын
    • Yes! That's a very good comparison.

      @NoelsRetroLab@NoelsRetroLab5 ай бұрын
  • Ok, I just watch to the end. Some very cool things! I wish I still had my Heathkit H-89. TWIN Z-80 processors. 64k, Three soft-sectored floppies….Ah, she was a beauty! And who would have thought 40 years later she could possibly had a Meg of RAM! 😮

    @ericmagnusson4165@ericmagnusson41655 ай бұрын
  • I feel like that gramps from Smuckers jam saying this, but I remember when 1meg RAM seemed a little crazy.

    @bluedistortions@bluedistortions4 ай бұрын
  • How does the diagnostic program know to attempt to read beyond the stock 64k? Did you have to update its code? Overwrite part of the Amstrad rom?

    @keyboard_g@keyboard_g6 ай бұрын
  • Now I want to buy a CPC, just to update it to 1MB... Yes, an internal update would be fun, I'm thinking of an internal memory update for C64 - but that hasn't progressed much beyond initial sketches. Biggest problem is all the different motherboard revisions.

    @JensChristianRestemeier@JensChristianRestemeier6 ай бұрын
  • That comment about how insane it would sound in the 80s to upgrade your CPC to 1MB .... yeah... that hit hard. Not in our wildest dreams we could imagine such things. Also - a HDD for the CPC ? I didn't know such things existed, must be extremely rare. Can you imagine ... a super CPC, like say, ... in the chassis of a 6128, in the place where the FDD is to have a HDD there, and inside a whole 1MB of memory .... hahaha. Incredible. The Frankenamstrad. Or Super Amstrad. Or both.

    @GR8TM4N@GR8TM4N6 ай бұрын
    • I remember upgrading from my CPC 464 to an Amiga A500 in late 1987. The move to 512KB of ram seemed unreal at the time. Shortly after, I bought the A501 512KB expansion, and ruled the world with 1MB of memory🙂

      @fredsmith1970@fredsmith19705 ай бұрын
  • I know of at least one project that adds memory internally (1Mb or 4Mb I believe) but these do not use standard I/O ports. The "standard" max memory expansion was meant to be 8*64 including the built in memory so 512k total. It would be totally feasible to upgrade a 6128 to 512k by swapping the memory chips. 4164 and 41256 chips have the same pinouts and most 41256 chips use 8 bits refresh. The A9 address bit is on pin 1 (unused on 4164) so: 1) Remove all memory chips and put sockets 2) Connect pin 1 (A9) of all the memories to one of the free pins of the PAL chip 3) Design a new PAL to implement the 8 banks as 2 things: The bank switching through CAS signal CAS to CAS0 and CAS1 (what the existing PAL does today) Address bit A9 selecting 4 64k "quadrants" in the new bigger memory chips (1 bit for RAS, 1 bit for CAS)

    @danielleblanc5923@danielleblanc59236 ай бұрын
  • I’m curious when your RAM test finished, it only tested 0x0F banks of 16k ram or 256k total. The screen had enough space for 1024k but it didn’t seem to test it all. Am I missing something?

    @adriansdigitalbasement@adriansdigitalbasement6 ай бұрын
    • That screen is designed for 4MB of RAM (yes, it's possible apparently!!!). So each bar was 64KB, not 16KB, which times 0x0F is 1024MB. One of these days I need to get my hands on a 4MB RAM expansion and test it for real.

      @NoelsRetroLab@NoelsRetroLab6 ай бұрын
    • Noel used a word "bank" for whole 64k of RAM, probably as a reminiscence of CPC6128 which had 128k and other 64k has been called as "second bank"

      @rastislavzima@rastislavzima6 ай бұрын
    • @@NoelsRetroLab oh confusing as the banks are actually 16k each…

      @adriansdigitalbasement@adriansdigitalbasement6 ай бұрын
    • ​@@rastislavzimayes, "bank" is 64k, "block" is one of the 4 16k sections in a bank.

      @alanclarke4646@alanclarke46466 ай бұрын
  • Mis respetos. Es una muy buena ampliación. Me gustó ☕😎👍

    @dr.ignacioglez.9677@dr.ignacioglez.96775 ай бұрын
  • My first HDD came fairly late: 100MB. (And still barely competed with my Bernoulli drive.) On my desk are four 1TB µSD cards that together cost less.

    @GothAlice@GothAlice5 ай бұрын
  • While most MSX1 computers had 64KB of *main ram*, the total amount of RAM available is 80KB, since, unlike other 8bit computers, it has 16KB of separate VRAM. Even more on the MSX2/2+ (usually 128KB of VRAM). Many MSX software also use the VRAM to store store data.

    @fr_schmidlin@fr_schmidlin5 ай бұрын
  • Living at risk is jumping off the cliff and building your wings on the way down.

    @user-sc1yg9ve1l@user-sc1yg9ve1l5 ай бұрын
  • Nice video! However, could you explain why a CPLD was necessary? Maybe I misunderstood the IO request, but if it's present in each memory request, the logic should be pure and a PLA should be sufficient

    @petermuller608@petermuller6085 ай бұрын
  • A man sees in the world what he carries in his heart.

    @user-hz2zo8bj1j@user-hz2zo8bj1j5 ай бұрын
  • Очень хорошо объяснил всё, спасибо за качественный контент

    @eugenesits@eugenesits5 ай бұрын
  • Topic suggestion: Double 3,5 "Floppy Adapter for the CPC 464

    @sgkonfetti@sgkonfetti6 ай бұрын
  • 7:57 music is Hybrid Song by Quazar of Sanxion how did I recognized it ? it's in a tower defense game on mobile ^^

    @666neoselen@666neoselen5 ай бұрын
  • RAM disk!!! this is the thing that makes development possible even on home 8bit computers.

    @alexloktionoff6833@alexloktionoff68336 ай бұрын
  • @12:00 "the four megabytes"? Noel, what are you hiding from us? :😁

    @skagon_@skagon_6 ай бұрын
    • Haha, that was me mumbling "the FULL megabyte we just added"... But yes, we can go as high as 4MB actually. Some day.

      @NoelsRetroLab@NoelsRetroLab6 ай бұрын
  • Any ideas how to do this for Z80 PCs that did not have expansion built in? Possible to wire custom expansion like the Amstrad?

    @StillChrist@StillChrist5 ай бұрын
  • I had a 6128 back in the day and I never once used the upper bank of RAM. There was simply no need since everything I ever ran on it was fine on 64Kb.

    @andymanaus1077@andymanaus10775 ай бұрын
  • Mmmmmm interesting. Another project!

    @CitroenGS@CitroenGS6 ай бұрын
  • I have a Color Computer 3. Officially it was supposed to support up to 512kb. The top 2 bits of the MMU bank registers are supposed to be undefined. But in reality, they are stable and usable. So in reality, the Color Computer 3 can address 2mb natively. It would have been a little bulky back then and would have made the computer overhead a bit, but it was still feasible. The OS/9 operating system was modified to handle that amount of memory.

    @hdufort@hdufort6 ай бұрын
    • The two extra bits don't get stored in the GIME so you actually need some extra hardware to support more than 512k. (OS-9)

      @AlexEvans1@AlexEvans16 ай бұрын
  • I wonder if you can make a hard drive for this device that is solid state (or more likely sd cards like an Arduino

    @delavanty@delavanty5 ай бұрын
  • Discovered you and McKlain at the same time, guess I'll be busy today

    @HeavenAndHell-oz2zd@HeavenAndHell-oz2zd5 ай бұрын
  • I just bought a ULIFAC II which adds 512kb memory and a USB port allowing fast read and write on any CPC!

    @nickolasgaspar9660@nickolasgaspar96604 ай бұрын
  • Although these are fun projects to build and try, they really don't have much use as you've said. Same goes for the GeoRAM expansion for the C64. I have built one, just out of curiosity, and used it a couple of times with games that can use it. By use it, I mean by the help of a 3rd party software (written many years after the games) a multiple disk game can be loaded up into the RAM expansion and can be played without constantly swapping disks. One good thing that the GeoRAM has an internal CR2032 battery backup, so what you have in it stays there as long as the battery has enough juice, which seems to be more than I anticipated, it has been almost 6 months, and it still works. That's the only sensible use of the GeoRAM. It was actually designed to be used in GeoDOS environment, but to be honest I really don't understand what that is good for on a C64.

    @borayurt66@borayurt665 ай бұрын
    • Geos 128 v2 was much better. Georam was good for it. ramdisks are much faster.

      @a4000t@a4000t5 ай бұрын
  • 0:19 You might have wanted to look at the Commodore 128 before you started this project. It already HAD 128 KB accessable memory, and I think it was expandable to 512k with a plug-in "card". 8502 was nothing more than a faster-clock 6502 with an on-chip parallel port (used at least in part for bank switching), and Z80 as well.

    @bricefleckenstein9666@bricefleckenstein96665 ай бұрын
    • Yes the REU(ram expansion unit) would add 512K,and also be hacked for 2MB.

      @a4000t@a4000t5 ай бұрын
  • Could you do a similar thing on a 32-bit machine? Like Windows XP machine having 8GB of RAM with the double bus technique for example?

    @jackwilson5542@jackwilson55425 ай бұрын
  • Why don't these videos ever acknowledge the Radio Shack Color Computer? It had 64K at the same time. It was the most versatile computer I ever owned. I could plug almost anything into it directly and make things happen. I could hook it up to a shortwave radio and decode Weatherfax and Wirefoto images with the same quality as a $10,000 dedicated machine. I could hook it up to a MIDI keyboard and play multiple instruments simultaneously. It was an inexpensive wonderland. Then came the PC for way much more money, and anything you wanted to add required also adding another circuit card inside. That took away some of the fun.

    @bite-sizedshorts9635@bite-sizedshorts96355 ай бұрын
    • Nothing against it, just that I've had very little experience with it. But you're right, it was very similar to the Dragon and I could have mentioned it there too.

      @NoelsRetroLab@NoelsRetroLab5 ай бұрын
  • We could always go above 1 MB in DOS. The only problem was that until the industry finally solidified behind Extended Memory Specification and the XMS standard there was really no reason to add more than 640k to a system. Because there was really nothing you could do with anything past 640k other than brag about having it. In the last days of the 808X platform (1991-1993), I built a lot of systems with 8086 processors that allowed 1 MB directly on the main board. Because by that time MS-DOS-5 was the newest version, and it had a memory manager included to allow access to memory past the 640k limit. And programs were also more and more commonly written to take advantage of that and reside in the high memory areas. I built and sold scores of XT class computers with 1MB, that by default I shoved as much into High Mem as possible. It was never really a "hard rule", it is just that before then no two companies were doing it the same way so trying to use anything past 640k was a nightmare. Like trying to use the "Expanded Memory" system (EMS) that came before XMS. Other than some games an a few specific applications that was never really used because it was a kludgy bank switching system that only worked in protected mode.

    @michaelmartin4552@michaelmartin45526 ай бұрын
KZhead