@@TheRetroShack Now all the dead things in your shack will be doing the same........ But hey, another thing lives. It might not be as majestic as the Atari 7800, but still... :D Nice work!
I worked on multilayer boards in the 80’s and those solder pumps were just as crap. Good hot iron and an ordinary solder sucker is all you need. Top tip: use a heat gun to pre-warm the board a little so the heavy traces dont drain the heat away
You're correct! I learned that the hard way...I lifted traces on one of my zx81s doing just that. My only saving grace was I had a second in working order.
@@TheRetroShack You need a Vampire tools - solder sucker, the ones with a silicone tip, heat resistant, simple, and works like a charm. They did not exist back in my electronic school day's. Came across it watching Joe's Classic Video Games.
Ah - memories.... It's pretty much 40 years since I modded my first ZX81 with 16K of internal memory on a hand wired board of my own design using eight 4116 DRAMs. Later on I also did a 32K version using sixteen of the same devices piggy backed. Both versions fitted inside the case, under the keyboard area, with around 30 wires connecting to the main board.
I damaged my Issue 3 US-model Zeddy similarly this summer when I removed the two 512 byte SRAMs. I typically add fresh leaded solder to component legs before desoldering. Unfortunately, a bit of the added solder flowed up through the vias and under the chip, adhering to the uncoated traces on top of the board. When I wiggled the chip legs free and lifted them, I damaged two traces under one chip. Fortunately, once I cleaned everything off I was able to repair the missing traces with tiny lengths of Kynar wire. Rather than building an external 32K memory decoding circuit, I used a feature of the current vLA81 designs which allows access to the additional 16K with the addition of a single wire to the otherwise-unused oscillator input pin on the vLA81.
Thanks for sharing. I feel a little better since I have the same desoldering tool that you used to mess up the pads in the beginning. Mine looks pretty bad too with at least 3 pads gone on the back. I may consider just clipping the ram chip legs off to remove it first. I am afraid to do more damage to the board by continuing with the desoldering tool.
I have a small collection of computers I had growing up which includes a couple Heathkits, a commodore 128d, a trs80 model 3, and unfortunately 2 zx81s. Like you, I killed one carelessly trying to socket chips and lifted traces. They were fantastic machines and far cheaper than any of my others when new. I forgot to mention a micro-professor as well. Thanks for the update!
If I can figure out the wiring for this 32K upgrade, I'll spin up a design in KiCad for a PCB to house the RAM and 74LS00 more securely. I finally added a ZX81 to my collection late last month (I'm American and never got a chance to have the actual ZX81 in contemporary times), so I'm watching and re-watching content that helps me learn more about the ZX81.
A cheap spring loaded desoldering pump works very well if you have the room to manoeuvre the iron and the pump on the PCB. Desoldering stations only made things worse for me as I'd need twice the amount of time to melt the solder and suck it away.
Yes, it’s action of actively ‘pushing’ the hot solder forcibly out on an accidental button press that makes this type of desolder equipment potentially quite dangerous :)
@@TheRetroShack that depends on the tool. The problem I had was that it took 2-3 seconds to melt the solder and an extra couple of seconds to remove it. This led to scorched PCBs and lifted pads. With iron+spring loaded pump the same takes 2 seconds top. The pump action is so quick it leaves components' legs and holes clean when done correctly.
@@bufordmaddogtannen I struggled with my desoldering station to begin with as well. Oddly enough I find that preheating the joint with my soldering iron before going in with the desoldering gun gives the best results (though it does take a lot of concentration to hold a soldering iron in one hand and the desoldering gun in the other!). That said, cheap solder suckers do a remarkably good job once you get the knack for using them, although I still struggle a bit with getting consistent results. I still use my solder sucker to remove small components, but I wouldn't remove a 40-pin chip with one...
I was thinking of doing a 16K upgrade on my ZX81, but now I think I should aim a bit higher. :D Congrats on the repair, and thanks for the warning about the dangers of vacuum desoldering pumps (I'm glad I went straight from a cheap solder sucker to a desoldering station!).
I don't remember the details because it was long-long ago but I made a ZX80 (the thing with 13 chips) do pixel graphics. I will describe the method as best as I can remember it. The entire display memory area is filled with 0, 1, 2, 3, 4 ... 0, 1, 2, 3, 4 ... ... etc for each line of text. The "character prom's" address is partly in the interrupt vector register and changing this could make it use RAM as character ROM. A bit of trickery caused the ZX80's PROM to not be fetched for code instead a custom bit of code was fetched. This allowed the NMI routine to update the location of the character generation PROM on every 8th line. This way the chunk or RAM used as the character generation PROM ends up being sent bit by bit to the display. Much of this plugged onto the expansion connector. Some "slight of hand" hid some a chunk of RAM during boot so that BASIC wouldn't use that area.
Used to get books from the local library on ZX81 basic programming and it was a sprint to the finish to see how many you could type in before having to return the book, lol
Unfortunately I missed out on the ZX81 first time around as my first machine was the 16k Spectrum - but this one has been a labour of love - couldn't just let it sit there all sad and unloved :)
I only put 16K in my 81, it's only one chip to mess with and 16K is plenty. However, all the mods I've done to 81's have been permanent. I gut the RF modulator and put my own comp board in there and the 16K is non reversable. As far as I'm concerned, why would I want a ZX81 with 1K using RF ? LOL. The best ZX81 I have is a clone from Argentina. It's a CZERWENY CZ 1500. It's in a silver and black Speccy rubber key form factor with 16K built in.
It's not your fault. I brought a ZX81 from eBay a few years ago. The seller had tried to do the composite video mod with what I assume was a hot masonry nail.
I know a man who used a tent peg!, mind you he was camping, with no other option. At home he had a fully laid out lab, not much use when your miles away 'in the bush'
A nice little mod that would be a good one for any old 8 bit machine with limited ram. Some pcb material under that extra IC might be a good idea, so the chip does not accidentally make contact with any of the tracks under it. I'd probably mount it on a short length of upturned strip board, that can then be glued into position. I'm surprised the ZX81 has now power-on memory test, and that you had to do it in basic! As for that 'solder sucker', wow, what a silly design, Quick, throw it into the bin.
The most useful part of the video is missing or badly explained : the 32k upgrade is not detailed especially about the 74ls00 IC. More over, you seem to have done different adaptation than the one showed on the schematic. It is ununderstandable for someone who is looking for help to upgrade his ZX81.
I have one of those cheap de-soldering guns, but it works the complete opposite way, i.e. it sucks when I press the button and spits out the molten solder when I let go. I have a little container next to me to move it over when I let go. I'd just assumed that was how it was supposed to work and have become quite used to it!
I have a cheapie that is kind of similar, however it vents the discharge air out a different port, so this problem is 95% solved. (If you try really hard, with a full chamber, it can drop a little solder)
Changing things in a way that you can revert them is very good. In the special case of the L1 vs. L2 bridges - you just would need them to go back to 2 x 0,5k chips. THis is not possible without unsoldering the whole new socket. So making this bridge reversable may be more or less useless for your scenario. ;-)
Hehe my kit built ZX80 looked worse than the shot of the buggered ZX81... man I was so green and I only had this vile ex GPO soldering iron to use and I had to wear a marigold as it occasionally went live on the handle, oh how things have changed since then :P My ZX80 and ZX81 got me into hot bother as both scorched my bedroom carpet during one of many wildfires that occasionally broke out, also burnt the phosphor on a very expensive Bang & Olafson telly too so me mum is trying to watch Corrie and in the right scene it would show the little cursor square :P
Crap I'd just ordered 1 of those desolding pumps you'd had problems with on amazon n it arrived today. Good thing I haven't used it. It's basicially a self heating version of those bargain bin manual pumps. That thing & the step up transformer I had to buy to use it are both going straight back.
I had the same de-solder gun very cheap, but get the button press the wrong way around and splat, old solder everywhere, also it jumps when pressed, stabbing the board. Its basically totally crap. Bought a proper one on the end for £50 second hard, so much of an improovement.
as far as my understanding of the WRX16 goes it doesn't work on an unmodified ZX-81, it needs extra (static) RAM pack located in low memory, 8K from $2000 to $3FFF, and if you use an external 16K RAM pack, it needs a patch, otherwise some of the RAM isn't refreshed. The patch consists of two diodes, and a pullup resistor. The extra RAM is needed so the graphics driver can create a fake font set (with highresolution graphics data) so the WRX16 code can direct the Z80 to get font data from the 8K extra RAM instead of from the font data in ROM.
The question is it worth spending money on something ancient and easily replaced. A ZX81 in its original case/keyboard is painful to use for anything serious., just curio value today. A working ZX81 (16K if cheap and easy) is good enough IMHO. even extra memory beyond 16K is of questionable worth.
I've been considering doing this RAM upgrade for quite some time but couldn't find anyone who actually did it so I figured I'd just give it a shot. I'm in the process of ordering the parts right now and was just double-checking the page to confirm my parts list when I happened upon your video. Thanks for doing this. QUESTION: I'm a little confused by the instructions. Step 1 appears to be just for 16k so I'm looking at Step 2 but it shows creating two NAND-gates from a 74LS00. Later down the steps, it states you "connect A15 (cathode of D8), /M1 (edge-connector 22A), 0 volts and + 5 volts with 74LS00". How did you omit the 74LS00?
@@TheRetroShack You probably didn't see my question. QUESTION: I'm a little confused by the instructions. Step 1 appears to be just for 16k so I'm looking at Step 2 but it shows creating two NAND-gates from a 74LS00. Later down the steps, it states you "connect A15 (cathode of D8), /M1 (edge-connector 22A), 0 volts and + 5 volts with 74LS00". How did you omit the 74LS00?
just curious, i have recently got hold of a zx81 and a 16k ram pack for it.. would it be possible to upgrade the 16k to 32 or more.. then just slot the pack on.. ?
As far as I know inserting any RAM pack disables the internal RAM (RAMCS on expansion port) so you'd just disable your internal upgrade with your smaller external one. :)
@@generalbyzantine8735 at the moment i've only got the 1k standard model. and the external 16k ram pack. i wondered would it be possible to take the ram pack apart and put a 32k chip in there?
@@bazza5699 Possible, yes. A good idea? Probably not. Depending on the ram chips inside the pack alll you'd end up reusing is the connector and the shell. It's a lot easier to replace the internal RAM chip or google a modern design and print your own pcb. The easiest and best option to extend your Sinclair's life is to buy an expansion board with added functionality like an SD card reader. I don't think standard software can use anything over 32K anyway so it really depends on what you want to achieve. The first step for me would probably be to carefully take a peek inside the machine and see if the RAM chip is already socketed. It's extremely unlikely, but if it is then that's the hardest part of the job done already. :)
@@TheRetroShack It should be possible, but your page size would need to be only 4k or 8k. You cannot swap the whole 16k space in one go since the ROM code always needs some of the lower memory locations in RAM to be available. You'd also need to consider where you arrange the display area to start from and whether that is paged or not.
@@joefish6091 Yes, you could bank switch the space 8k to 16k. I am not sure about 32 to 48. Above 48k the hardware is shadowing the 16 to 32k space and is used by the CPU and ULA to generate the display. Specifically, the display is generated by a CPU jump to the display data but with A15 set to a 1. That tells the hardware to treat the data for the display while the CPU is force fed with NOP instructions. Because of this, using any memory address with A15 set can sometimes be problematic. The all stems from how the ZX80 generated the display which was pretty much copied in the ZX81.
@@kensmith5694 didn't know the ZX-81 was even aware of how much memory it had (above the 1K it had normally). My assumption is that it used ROM below the hallfway point of the memory map, ($8000) and used RAM starting from the halfway point. (and yes, I know that in actuality it decodes 8K of ROM from $0000 and then assigns as RAM to all the rest). So if you have 32K of RAM it is assigned to the memory locations above $8000, but the same memory also appears as copies in locations below $8000. when the ZX-81 scans for RAM it starts at $8000 but then stops scanning when it has reached16K, because BASIC doesn't expect more than that cannot happen. So I am curious, are my assumptions true on how this works?
@@martindejong3974 You are close to correct. The memory map of the ZX80 and ZX81 had the upper most address line used for a special purpose. If the processor attempted to fetch code from $8000 up, it would mostly see a NOP instruction unless the byte fetched was the code $76. $76 is the halt instruction. To run the display, the code ORed $8000 with the address of the display buffer and then jumped there. On seeing the string of NOP instructions, the processor would fetch a new instruction every 8 clock cycles. Between fetches, it would do a memory refresh. The memory refresh cycle was the time when the character to be displayed was looked up in the character table in ROM. Thus the code never assumes anything above $8000 is real memory. BTW: The HALT made it stop advancing the pointer at the end of line. The "Nonmaskable interrupt" was tied to a refresh address line so that when it was time to do the sync pulse the code for that would be fired off.
The ZX81 ROM reserves around 120-125 bytes for system variables so around 850 bytes free for programming. The ROM doesn't use up more memory with the expansion (as far as I know) so you'd end up with almost the full 32k available for programs.
That PCB was in rough shape! Another 8-bit computer lives another day. Very nice work!
Thanks - just hated the thing looking down on me every day :) :) Nice to see it alive and well again! :)
@@TheRetroShack Now all the dead things in your shack will be doing the same........
But hey, another thing lives. It might not be as majestic as the Atari 7800, but still... :D
Nice work!
I worked on multilayer boards in the 80’s and those solder pumps were just as crap. Good hot iron and an ordinary solder sucker is all you need. Top tip: use a heat gun to pre-warm the board a little so the heavy traces dont drain the heat away
You're correct! I learned that the hard way...I lifted traces on one of my zx81s doing just that. My only saving grace was I had a second in working order.
Just got myself a heat gun for those exact reasons :) Hopefully my days of desoldering woes are behind me! :)
@@TheRetroShack You need a Vampire tools - solder sucker, the ones with a silicone tip, heat resistant, simple, and works like a charm. They did not exist back in my electronic school day's. Came across it watching Joe's Classic Video Games.
@@stefankoopmans2200 I’ll take a look, thanks!
Its safer to use de-solder braid on any thin tracks.
Ah - memories.... It's pretty much 40 years since I modded my first ZX81 with 16K of internal memory on a hand wired board of my own design using eight 4116 DRAMs. Later on I also did a 32K version using sixteen of the same devices piggy backed. Both versions fitted inside the case, under the keyboard area, with around 30 wires connecting to the main board.
Now THAT I'd like to have seen ! :) :)
@@TheRetroShack I have a photo of the 16K version that I took back then. I shall scan it and email it to you.
Great to see these old machines played with and working, remember these very well.
I agree - nothing quite like these old machines to remind you how far we’ve come in the past 40 years!
I damaged my Issue 3 US-model Zeddy similarly this summer when I removed the two 512 byte SRAMs. I typically add fresh leaded solder to component legs before desoldering. Unfortunately, a bit of the added solder flowed up through the vias and under the chip, adhering to the uncoated traces on top of the board. When I wiggled the chip legs free and lifted them, I damaged two traces under one chip. Fortunately, once I cleaned everything off I was able to repair the missing traces with tiny lengths of Kynar wire. Rather than building an external 32K memory decoding circuit, I used a feature of the current vLA81 designs which allows access to the additional 16K with the addition of a single wire to the otherwise-unused oscillator input pin on the vLA81.
Glad you got your Zeddy up and going again too! Need to keep these little fellas alive for as long as possible :)
Thanks for sharing. I feel a little better since I have the same desoldering tool that you used to mess up the pads in the beginning. Mine looks pretty bad too with at least 3 pads gone on the back. I may consider just clipping the ram chip legs off to remove it first. I am afraid to do more damage to the board by continuing with the desoldering tool.
I have a small collection of computers I had growing up which includes a couple Heathkits, a commodore 128d, a trs80 model 3, and unfortunately 2 zx81s. Like you, I killed one carelessly trying to socket chips and lifted traces. They were fantastic machines and far cheaper than any of my others when new. I forgot to mention a micro-professor as well. Thanks for the update!
Did you ever manage to fix the little Zeffirelli?
@@TheRetroShack no... it's still on my sitting on my book shelf. Maybe one day... currently I'm building an apple 1 replica.
If I can figure out the wiring for this 32K upgrade, I'll spin up a design in KiCad for a PCB to house the RAM and 74LS00 more securely.
I finally added a ZX81 to my collection late last month (I'm American and never got a chance to have the actual ZX81 in contemporary times), so I'm watching and re-watching content that helps me learn more about the ZX81.
A cheap spring loaded desoldering pump works very well if you have the room to manoeuvre the iron and the pump on the PCB.
Desoldering stations only made things worse for me as I'd need twice the amount of time to melt the solder and suck it away.
Yes, it’s action of actively ‘pushing’ the hot solder forcibly out on an accidental button press that makes this type of desolder equipment potentially quite dangerous :)
@@TheRetroShack that depends on the tool. The problem I had was that it took 2-3 seconds to melt the solder and an extra couple of seconds to remove it. This led to scorched PCBs and lifted pads.
With iron+spring loaded pump the same takes 2 seconds top. The pump action is so quick it leaves components' legs and holes clean when done correctly.
@@bufordmaddogtannen I struggled with my desoldering station to begin with as well. Oddly enough I find that preheating the joint with my soldering iron before going in with the desoldering gun gives the best results (though it does take a lot of concentration to hold a soldering iron in one hand and the desoldering gun in the other!).
That said, cheap solder suckers do a remarkably good job once you get the knack for using them, although I still struggle a bit with getting consistent results. I still use my solder sucker to remove small components, but I wouldn't remove a 40-pin chip with one...
@@OzRetrocomp I get good results by applying a bit of new solder, then using the spring loaded pumps. Although it takes time and patience.
I was thinking of doing a 16K upgrade on my ZX81, but now I think I should aim a bit higher. :D Congrats on the repair, and thanks for the warning about the dangers of vacuum desoldering pumps (I'm glad I went straight from a cheap solder sucker to a desoldering station!).
Glad you enjoyed it and hope your own upgrade goes well :)
Ah the little zeddy is all happy and running again, a little scarred but good to see.👍🏻
Yep, it’s nice to get the old girl up and running - bit of a labour of love that one! :)
I had a ZX81 with the 16k RAM pack that would restart the ZX81 every time you sneezed because the connection was very sensitive.
The dreaded ram pack wobble of doom! :)
I don't remember the details because it was long-long ago but I made a ZX80 (the thing with 13 chips) do pixel graphics. I will describe the method as best as I can remember it.
The entire display memory area is filled with
0, 1, 2, 3, 4 ...
0, 1, 2, 3, 4 ...
... etc for each line of text.
The "character prom's" address is partly in the interrupt vector register and changing this could make it use RAM as character ROM.
A bit of trickery caused the ZX80's PROM to not be fetched for code instead a custom bit of code was fetched.
This allowed the NMI routine to update the location of the character generation PROM on every 8th line.
This way the chunk or RAM used as the character generation PROM ends up being sent bit by bit to the display.
Much of this plugged onto the expansion connector.
Some "slight of hand" hid some a chunk of RAM during boot so that BASIC wouldn't use that area.
Nice repair work there.
Thanks! It was a labour of love this one :)
...A great help in repairing some ZX81's I own - Eine große Hilfe zur Reparatur einiger ZX81 in meinem Besitz
How many of us learnt to program on a ZX81?
I didn't learn to program on one but it was the only computer I could afford with my own money as a child so it holds a special place in my heart.
Used to get books from the local library on ZX81 basic programming and it was a sprint to the finish to see how many you could type in before having to return the book, lol
@@SteveInScotland I still have a few in boxes...
Unfortunately I missed out on the ZX81 first time around as my first machine was the 16k Spectrum - but this one has been a labour of love - couldn't just let it sit there all sad and unloved :)
@@TheRetroShack my dad was a tightwad, too. 16k speccy for me. (he then bought me a BBC model B and redeemed himself)
I have a ZX81 and a C64 awaiting me to fix them. Just need to get the solder station that died replaced.
Good luck and let me know how you get on :)
Excellent upgrade!!! Only wish is for a better keyboard with mechanical or rubber keys. Thanks for sharing
I only put 16K in my 81, it's only one chip to mess with and 16K is plenty. However, all the mods I've done to 81's have been permanent. I gut the RF modulator and put my own comp board in there and the 16K is non reversable. As far as I'm concerned, why would I want a ZX81 with 1K using RF ? LOL.
The best ZX81 I have is a clone from Argentina. It's a CZERWENY CZ 1500. It's in a silver and black Speccy rubber key form factor with 16K built in.
It's not your fault. I brought a ZX81 from eBay a few years ago. The seller had tried to do the composite video mod with what I assume was a hot masonry nail.
Now that’s hilarious! :)
I know a man who used a tent peg!, mind you he was camping, with no other option. At home he had a fully laid out lab, not much use when your miles away 'in the bush'
Are you a forth programmer?
Fun fact: ZX81 was released in 1981. That's 40 years ago;).
Yep - I did a video on that earlier in the year :) Does make me feel old!
Awesome thank you
You're very welcome - it had been nagging at me so had to get it done for my own sanity :)
A nice little mod that would be a good one for any old 8 bit machine with limited ram.
Some pcb material under that extra IC might be a good idea, so the chip does not accidentally make contact with any of the tracks under it. I'd probably mount it on a short length of upturned strip board, that can then be glued into position.
I'm surprised the ZX81 has now power-on memory test, and that you had to do it in basic!
As for that 'solder sucker', wow, what a silly design, Quick, throw it into the bin.
Thanks! - It's been well and truly binned :) :)
I need a keyboard for mine... The ribbon tore.
You shouldn’t have too much trouble finding one and it’s an easy drop in replacement - good luck and hope you get it sorted :)
@@TheRetroShack the problem is: I'm in the States, and shipping is as much as a new membrane. ☹️
The most useful part of the video is missing or badly explained : the 32k upgrade is not detailed especially about the 74ls00 IC. More over, you seem to have done different adaptation than the one showed on the schematic. It is ununderstandable for someone who is looking for help to upgrade his ZX81.
I have one of those cheap de-soldering guns, but it works the complete opposite way, i.e. it sucks when I press the button and spits out the molten solder when I let go. I have a little container next to me to move it over when I let go. I'd just assumed that was how it was supposed to work and have become quite used to it!
That would have confused me even more LOL :)
@@TheRetroShack On the plus side, I've not had to clean it out yet!
I have a cheapie that is kind of similar, however it vents the discharge air out a different port, so this problem is 95% solved. (If you try really hard, with a full chamber, it can drop a little solder)
Changing things in a way that you can revert them is very good. In the special case of the L1 vs. L2 bridges - you just would need them to go back to 2 x 0,5k chips. THis is not possible without unsoldering the whole new socket. So making this bridge reversable may be more or less useless for your scenario. ;-)
I'm surprised you didn't add the 1Mb ram upgrade and Floppy interface
Hehe my kit built ZX80 looked worse than the shot of the buggered ZX81... man I was so green and I only had this vile ex GPO soldering iron to use and I had to wear a marigold as it occasionally went live on the handle, oh how things have changed since then :P My ZX80 and ZX81 got me into hot bother as both scorched my bedroom carpet during one of many wildfires that occasionally broke out, also burnt the phosphor on a very expensive Bang & Olafson telly too so me mum is trying to watch Corrie and in the right scene it would show the little cursor square :P
That's hilarious! :) :)
Crap I'd just ordered 1 of those desolding pumps you'd had problems with on amazon n it arrived today. Good thing I haven't used it. It's basicially a self heating version of those bargain bin manual pumps. That thing & the step up transformer I had to buy to use it are both going straight back.
I’m sure some people get on fine with these type of devices but I did want to point out the potential pitfalls too :)
I had the same de-solder gun very cheap, but get the button press the wrong way around and splat, old solder everywhere, also it jumps when pressed, stabbing the board. Its basically totally crap. Bought a proper one on the end for £50 second hard, so much of an improovement.
What desoldering station did you buy?
This one :) - Works a treat :). www.ebay.co.uk/itm/144057695437?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2060353.m2749.l2649
Nice work! Any idea what the cause of the white fringing around any blocks of black is caused by?
Thanks! Sometimes you get residue on the boards from the flux, or did you mean the whispy, spider-web type stuff?
I have one damaged keyboard real rough shape. Wish it worked.
Does this support the WRX graphics mod?
I can’t see why not - I’ll dig out something that uses it over the weekend and check :)
as far as my understanding of the WRX16 goes it doesn't work on an unmodified ZX-81, it needs extra (static) RAM pack located in low memory, 8K from $2000 to $3FFF, and if you use an external 16K RAM pack, it needs a patch, otherwise some of the RAM isn't refreshed. The patch consists of two diodes, and a pullup resistor. The extra RAM is needed so the graphics driver can create a fake font set (with highresolution graphics data) so the WRX16 code can direct the Z80 to get font data from the 8K extra RAM instead of from the font data in ROM.
Back in the day there was sound and colour add on's if i remember correctly, and 64k ram upgrades. How difficult/possible would it be to do thise?
I'm doing some research :)...
The question is it worth spending money on something ancient and easily replaced.
A ZX81 in its original case/keyboard is painful to use for anything serious., just curio value today.
A working ZX81 (16K if cheap and easy) is good enough IMHO. even extra memory beyond 16K is of questionable worth.
Why does the upper 16k start at c000 and not 8000?
I've been considering doing this RAM upgrade for quite some time but couldn't find anyone who actually did it so I figured I'd just give it a shot. I'm in the process of ordering the parts right now and was just double-checking the page to confirm my parts list when I happened upon your video. Thanks for doing this.
QUESTION: I'm a little confused by the instructions. Step 1 appears to be just for 16k so I'm looking at Step 2 but it shows creating two NAND-gates from a 74LS00. Later down the steps, it states you "connect A15 (cathode of D8), /M1 (edge-connector 22A), 0 volts and + 5 volts with 74LS00".
How did you omit the 74LS00?
You’re welcome! Good luck and hope all goes well - let me know how you get on :)
@@TheRetroShack You probably didn't see my question.
QUESTION: I'm a little confused by the instructions. Step 1 appears to be just for 16k so I'm looking at Step 2 but it shows creating two NAND-gates from a 74LS00. Later down the steps, it states you "connect A15 (cathode of D8), /M1 (edge-connector 22A), 0 volts and + 5 volts with 74LS00".
How did you omit the 74LS00?
Hi there - This pin out from the 74LS00 should help :)
components101.com/ics/74ls00-quad-two-input-nand-gate
@@TheRetroShack I'll simplify the question.
Did you add a 74LS00?
I no see it in your ram upgrade.
Oh - yes :) I do mention it in the video :)
Since the Z80 CPU in the ZX can address up to 64K in total, why stop at 32K?
How about upgrading it with ZX81x2 ROM?
Well now there's a thought!
Can you tell us the name of the music at 4:50?
just curious, i have recently got hold of a zx81 and a 16k ram pack for it.. would it be possible to upgrade the 16k to 32 or more.. then just slot the pack on.. ?
Not sure about that for definite but I know that Memopak did a 32k ram pack so I guess it’s definitely feasible.
@@TheRetroShack Memotech did a 64k memopak. It needed a poke I don't remember the values of to allow access to the whole memory space
As far as I know inserting any RAM pack disables the internal RAM (RAMCS on expansion port) so you'd just disable your internal upgrade with your smaller external one. :)
@@generalbyzantine8735 at the moment i've only got the 1k standard model. and the external 16k ram pack. i wondered would it be possible to take the ram pack apart and put a 32k chip in there?
@@bazza5699 Possible, yes. A good idea? Probably not. Depending on the ram chips inside the pack alll you'd end up reusing is the connector and the shell. It's a lot easier to replace the internal RAM chip or google a modern design and print your own pcb. The easiest and best option to extend your Sinclair's life is to buy an expansion board with added functionality like an SD card reader. I don't think standard software can use anything over 32K anyway so it really depends on what you want to achieve. The first step for me would probably be to carefully take a peek inside the machine and see if the RAM chip is already socketed. It's extremely unlikely, but if it is then that's the hardest part of the job done already. :)
Can you do one on refurbing a TS1016.
Mechanical keyboard upgrade ;)
I see there's RAM from C000-FFFF. Is there any way to have paged ram here? a ZX81 with say, 1Mb of RAM would be very cool
Short answer is probably :) Honest answer is I don’t know… I’ll happily do a little research on the subject now you’ve got me curious :)
@@TheRetroShack It should be possible, but your page size would need to be only 4k or 8k. You cannot swap the whole 16k space in one go since the ROM code always needs some of the lower memory locations in RAM to be available. You'd also need to consider where you arrange the display area to start from and whether that is paged or not.
@@GodmanchesterGoblin 8K to 16K is available. ditto 32K to 64K.
@@joefish6091 Yes, you could bank switch the space 8k to 16k. I am not sure about 32 to 48. Above 48k the hardware is shadowing the 16 to 32k space and is used by the CPU and ULA to generate the display. Specifically, the display is generated by a CPU jump to the display data but with A15 set to a 1. That tells the hardware to treat the data for the display while the CPU is force fed with NOP instructions. Because of this, using any memory address with A15 set can sometimes be problematic. The all stems from how the ZX80 generated the display which was pretty much copied in the ZX81.
For a short moment, I had a ZX81. I think it probably went into electronics trash. Such a shame....
Poor little thing! :)
Turn your ZX81 into a Forth Workstation!
czcams.com/video/gHDKeQvk2RU/video.html
I've now got 32K inside my ZX81 but I'm wondering if there is much software out there that takes advantage of anything above 16K?
No nobody wrote any software for one.
@@martindejong3974 I wrote some. I used a peak to seem how much RAM there was and adjusted the limits in the software depending.
@@kensmith5694 didn't know the ZX-81 was even aware of how much memory it had (above the 1K it had normally). My assumption is that it used ROM below the hallfway point of the memory map, ($8000) and used RAM starting from the halfway point.
(and yes, I know that in actuality it decodes 8K of ROM from $0000 and then assigns as RAM to all the rest).
So if you have 32K of RAM it is assigned to the memory locations above $8000, but the same memory also appears as copies in locations below $8000.
when the ZX-81 scans for RAM it starts at $8000 but then stops scanning when it has reached16K, because BASIC doesn't expect more than that cannot happen. So I am curious, are my assumptions true on how this works?
@@martindejong3974 You are close to correct. The memory map of the ZX80 and ZX81 had the upper most address line used for a special purpose. If the processor attempted to fetch code from $8000 up, it would mostly see a NOP instruction unless the byte fetched was the code $76. $76 is the halt instruction. To run the display, the code ORed $8000 with the address of the display buffer and then jumped there. On seeing the string of NOP instructions, the processor would fetch a new instruction every 8 clock cycles. Between fetches, it would do a memory refresh. The memory refresh cycle was the time when the character to be displayed was looked up in the character table in ROM. Thus the code never assumes anything above $8000 is real memory.
BTW: The HALT made it stop advancing the pointer at the end of line. The "Nonmaskable interrupt" was tied to a refresh address line so that when it was time to do the sync pulse the code for that would be fired off.
As someone that knows ~nothing about ZX81 I wonder if BASIC sees and uses the full 32k?
The ZX81 ROM reserves around 120-125 bytes for system variables so around 850 bytes free for programming. The ROM doesn't use up more memory with the expansion (as far as I know) so you'd end up with almost the full 32k available for programs.
@@TheRetroShack Right. I just wasn't sure if the BASIC interpreter memory scanned the entire space.