Issue 3 16k internal RAM mod
- 1024MAK
- Posts: 5128
- Joined: Mon Sep 26, 2011 10:56 am
- Location: Looking forward to summer in Somerset, UK...
Re: Issue 3 16k internal RAM mod
Of course, the next photo you post will be a photo showing it working - no pressure, much
Mark
Mark
ZX81 Variations
ZX81 Chip Pin-outs
ZX81 Video Transistor Buffer Amp
Standby alert
There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb
Looking forward to summer later in the year.
ZX81 Chip Pin-outs
ZX81 Video Transistor Buffer Amp
Standby alert
There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb
Looking forward to summer later in the year.
-
- Posts: 2176
- Joined: Sat Nov 26, 2016 2:42 am
Re: Issue 3 16k internal RAM mod
That may take a while with so many pads to desolder, tracks to cut and wires to solder!
ZX80
ZX81 iss 1 (bugged ROM, kludge fix, normal, rebuilt)
TS 1000 iss 3, ZXPand AY and +, ZX8-CCB, ZX-KDLX & ChromaSCART
Tatung 81 + Wespi
TS 1500 & 2000
Spectrum 16k (iss 1 s/n 862)
Spectrum 48ks plus a DIVMMC future and SPECTRA
ZX81 iss 1 (bugged ROM, kludge fix, normal, rebuilt)
TS 1000 iss 3, ZXPand AY and +, ZX8-CCB, ZX-KDLX & ChromaSCART
Tatung 81 + Wespi
TS 1500 & 2000
Spectrum 16k (iss 1 s/n 862)
Spectrum 48ks plus a DIVMMC future and SPECTRA
-
- Posts: 2176
- Joined: Sat Nov 26, 2016 2:42 am
Re: Issue 3 16k internal RAM mod
Not quite finished as I ran out of time but
IC4 socket pads desoldered
Tracks cut and continuity tested
One wire attached (it looked easier to put it under the socket)
Socket soldered in
Only 5 wires to go and it is fingers crossed time!
IC4 socket pads desoldered
Tracks cut and continuity tested
One wire attached (it looked easier to put it under the socket)
Socket soldered in
Only 5 wires to go and it is fingers crossed time!
ZX80
ZX81 iss 1 (bugged ROM, kludge fix, normal, rebuilt)
TS 1000 iss 3, ZXPand AY and +, ZX8-CCB, ZX-KDLX & ChromaSCART
Tatung 81 + Wespi
TS 1500 & 2000
Spectrum 16k (iss 1 s/n 862)
Spectrum 48ks plus a DIVMMC future and SPECTRA
ZX81 iss 1 (bugged ROM, kludge fix, normal, rebuilt)
TS 1000 iss 3, ZXPand AY and +, ZX8-CCB, ZX-KDLX & ChromaSCART
Tatung 81 + Wespi
TS 1500 & 2000
Spectrum 16k (iss 1 s/n 862)
Spectrum 48ks plus a DIVMMC future and SPECTRA
-
- Posts: 2176
- Joined: Sat Nov 26, 2016 2:42 am
Re: Issue 3 16k internal RAM mod
Underside finished-
Top side finished-
And running The Gauntlet!
I think that took about 2 hours in total.
Top side finished-
And running The Gauntlet!
I think that took about 2 hours in total.
ZX80
ZX81 iss 1 (bugged ROM, kludge fix, normal, rebuilt)
TS 1000 iss 3, ZXPand AY and +, ZX8-CCB, ZX-KDLX & ChromaSCART
Tatung 81 + Wespi
TS 1500 & 2000
Spectrum 16k (iss 1 s/n 862)
Spectrum 48ks plus a DIVMMC future and SPECTRA
ZX81 iss 1 (bugged ROM, kludge fix, normal, rebuilt)
TS 1000 iss 3, ZXPand AY and +, ZX8-CCB, ZX-KDLX & ChromaSCART
Tatung 81 + Wespi
TS 1500 & 2000
Spectrum 16k (iss 1 s/n 862)
Spectrum 48ks plus a DIVMMC future and SPECTRA
-
- Posts: 2176
- Joined: Sat Nov 26, 2016 2:42 am
Re: Issue 3 16k internal RAM mod
Does anyone know how the zeddy determines that it has 16k? I understand that the ROM does a check when reset etc. but how does it actually find out?
I guess where the question is leading is whether it is possible to mod the hardware such that a switch or similar could be fitted to change between 1k and 16k mode by fooling the ROM? Mostly in case there are programs that only run in 1k or you wish to test that a program will run on 1k in actual hardware.
Just a curious thought
I guess where the question is leading is whether it is possible to mod the hardware such that a switch or similar could be fitted to change between 1k and 16k mode by fooling the ROM? Mostly in case there are programs that only run in 1k or you wish to test that a program will run on 1k in actual hardware.
Just a curious thought
ZX80
ZX81 iss 1 (bugged ROM, kludge fix, normal, rebuilt)
TS 1000 iss 3, ZXPand AY and +, ZX8-CCB, ZX-KDLX & ChromaSCART
Tatung 81 + Wespi
TS 1500 & 2000
Spectrum 16k (iss 1 s/n 862)
Spectrum 48ks plus a DIVMMC future and SPECTRA
ZX81 iss 1 (bugged ROM, kludge fix, normal, rebuilt)
TS 1000 iss 3, ZXPand AY and +, ZX8-CCB, ZX-KDLX & ChromaSCART
Tatung 81 + Wespi
TS 1500 & 2000
Spectrum 16k (iss 1 s/n 862)
Spectrum 48ks plus a DIVMMC future and SPECTRA
Re: Issue 3 16k internal RAM mod
Start reading at the label 'RAM-CHECK'
Re: Issue 3 16k internal RAM mod
Excellent work there,Lardo nice one.
-
- Posts: 2176
- Joined: Sat Nov 26, 2016 2:42 am
Re: Issue 3 16k internal RAM mod
Thanks SirMorris - that's certainly more interesting than the book on C# I had planned to read tonight!
The test is pretty simple then - if for whatever reason the 16k RAM 'stopped working' after the first K then presumably it would think it was a 1k computer and behave as such.
So the next question is for the hardware gurus - is it possible to cause this in hardware, i.e. allow only the first 1024 memory addresses to be written to based on a mechanical switch or similar?
Or if RAMTOP was altered by poking it would this have the effect of fooling the zeddy until the next reset? Although I strongly suspect there would be more to it than this!
Lardo
ZX80
ZX81 iss 1 (bugged ROM, kludge fix, normal, rebuilt)
TS 1000 iss 3, ZXPand AY and +, ZX8-CCB, ZX-KDLX & ChromaSCART
Tatung 81 + Wespi
TS 1500 & 2000
Spectrum 16k (iss 1 s/n 862)
Spectrum 48ks plus a DIVMMC future and SPECTRA
ZX81 iss 1 (bugged ROM, kludge fix, normal, rebuilt)
TS 1000 iss 3, ZXPand AY and +, ZX8-CCB, ZX-KDLX & ChromaSCART
Tatung 81 + Wespi
TS 1500 & 2000
Spectrum 16k (iss 1 s/n 862)
Spectrum 48ks plus a DIVMMC future and SPECTRA
- 1024MAK
- Posts: 5128
- Joined: Mon Sep 26, 2011 10:56 am
- Location: Looking forward to summer in Somerset, UK...
Re: Issue 3 16k internal RAM mod
It's alive
Well done Lardo
Funny, I posted about the RAM check in this post not long ago...
Yes, it is possible in hardware. If this was RAM controlled by your own address decoding circuitry, you just disable the RAM at all addresses other than the wanted area (and with the ZX81, of course being careful to allow a shadow/echo for the screen display). But if using the ULA's address decoding, that is not so easy. The alternative (that I need to think about some more) will be posted later maybe
For type in programs you can indeed POKE RAMTOP with a new value, then NEW, then type in your program.
For your own programs, you can do the same. In chapter 28 of the ZX81 BASIC Programming book (the one Sinclair supplied with ZX81s) it details which system variables are saved and hence loaded from tape. RAMTOP is NOT listed as being saved. So if you POKE it, and do a NEW before loading the program, if the program is just BASIC, or it uses RAMTOP to see the memory size, it should work okay.
This will not work if the program changes RAMTOP or ignores RAMTOP. Or even just assumes that everything above 1k (2k) of RAM is an echo
Mark
Well done Lardo
Funny, I posted about the RAM check in this post not long ago...
Yes, it is possible in hardware. If this was RAM controlled by your own address decoding circuitry, you just disable the RAM at all addresses other than the wanted area (and with the ZX81, of course being careful to allow a shadow/echo for the screen display). But if using the ULA's address decoding, that is not so easy. The alternative (that I need to think about some more) will be posted later maybe
For type in programs you can indeed POKE RAMTOP with a new value, then NEW, then type in your program.
For your own programs, you can do the same. In chapter 28 of the ZX81 BASIC Programming book (the one Sinclair supplied with ZX81s) it details which system variables are saved and hence loaded from tape. RAMTOP is NOT listed as being saved. So if you POKE it, and do a NEW before loading the program, if the program is just BASIC, or it uses RAMTOP to see the memory size, it should work okay.
This will not work if the program changes RAMTOP or ignores RAMTOP. Or even just assumes that everything above 1k (2k) of RAM is an echo
Mark
ZX81 Variations
ZX81 Chip Pin-outs
ZX81 Video Transistor Buffer Amp
Standby alert
There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb
Looking forward to summer later in the year.
ZX81 Chip Pin-outs
ZX81 Video Transistor Buffer Amp
Standby alert
There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb
Looking forward to summer later in the year.
Re: Issue 3 16k internal RAM mod
Why not set the ROM to check for up to 32K? What problems arise?
0000 START OUT (+FD),A
LD BC,+7FFFBFFF
JP 03CB,RAM-CHECK
03CB RAM-CHECK LD H,B
LD L,C
LD A,+3F
03CF RAM-FILL LD (HL), +02
DEC HL
CP H
JR NZ,03CF,RAM-FILL
03D5 RAM-READ AND A
SBC HL,BC
ADD HL,BC
INC HL
JR NC,03E2,SET-TOP
DEC (HL)
JR Z,03E2,SET-TOP
DEC (HL)
JR Z,03D5,RAM-READ
03E2 SET-TOP LD (RAMTOP),HL
Last edited by gammaray on Thu Jul 27, 2017 1:32 am, edited 1 time in total.
5-TS1000,UK ZX81<-Sheelagh, US ZX81, 2-TS1500/KDLX , 3-TS2040 printer, 2-TS2020 cassette decks, ZXPAND+AY, ZeddyNET, ZXBlast, UDG, ZX8CCB, AERCO, BUILDS/REPAIRS ZX Spectrum, ZX80 Minstrel, ZXMAX48 v1 v2, 2-TS-2068, ROM, 16kRAM