Hi-Res (Software) Explained ?

Any discussions related to the creation of new hardware or software for the ZX80 or ZX81
User avatar
1024MAK
Posts: 5118
Joined: Mon Sep 26, 2011 10:56 am
Location: Looking forward to summer in Somerset, UK...

Re: Hi-Res (Software) Explained ?

Post by 1024MAK »

For normal CPU read cycles, use /RD low to enable the SRAM outputs.
For hi-rez, the SRAM outputs also need to be enabled when the Z80 signals refresh (/RFSH low) as this is when it puts an address formed by the I and R registers on the address bus. It is this address which is used to get the screen data (from the SRAM) which is "captured" by the ULA. The ULA then converts the parallel data it received, to a serial data stream, which feeds the display.

Note the above description is a simplified description.

Remember, the normal ZX81 screen system gets the Z80 to execute the display file, but the ULA forces the data bus to the CPU to zero, so that the CPU actually reads and executes a NOP. The actual data read from the SRAM is "captured" by the ULA. Which then uses the data byte to form part of a look-up address. This address is the table in the ROM that contains the data bytes that have the bit patterns of the numbers, letters and graphic characters. This look-up and data capture happens during the Z80 refresh cycle... The CPU then executes the next byte of the display file, and the process repeats (until the end of the line).

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.
Rishi
Posts: 107
Joined: Mon Jun 08, 2015 6:57 pm
Location: Amsterdam

Re: Hi-Res (Software) Explained ?

Post by Rishi »

Yes, Thank you Mark, that is how i understood it as well.
One question came up, is the !REFSN on the back of the ZX81, the same as the !RFSH on the Z80 (i would make sense, except for the confusion it might cause)
Then the other thing i was wondering about, downloading some .P from some site, what section of memory is being used to store the HiRes initially, 'cause if that would be in let's say 8000h - BFFFh somewhere, i wouldn't get it to go.
Basically what i would like is just something out of the box, that should work on my system, just to make sure it actually does.
About the 1 being 0, i am sure i connected it to the !RD, but i started to doubt whether i should have connected it to the !WR early this morning, reading the end of the other thread.
Last edited by Rishi on Sun Sep 20, 2015 4:10 pm, edited 1 time in total.
32K SRAM WRX compatible, 32Bit IO-Port, ROM Ghost, ZX-Printer.
User avatar
1024MAK
Posts: 5118
Joined: Mon Sep 26, 2011 10:56 am
Location: Looking forward to summer in Somerset, UK...

Re: Hi-Res (Software) Explained ?

Post by 1024MAK »

Rishi wrote:One question came up, is the !REFSN on the back of the ZX81, the same as the !RFSH on the Z80 (i would make sense, except for the confusion it might cause)
Yes. I don't know why, but in various ZX80/ZX81/ZX Spectrum documents, some of the edge-connector signals that connect directly to the Z80 CPU have slightly different names :shock:

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.
olofsen
Posts: 189
Joined: Wed Jan 08, 2014 12:29 pm

Re: Hi-Res (Software) Explained ?

Post by olofsen »

dr beep
Posts: 2080
Joined: Thu Jun 16, 2011 8:35 am
Location: Boxmeer

Re: Hi-Res (Software) Explained ?

Post by dr beep »

You can use my 1K hires routine and then when working with RAM-pack simply create the small screen on i.e. Address #6000.
Same result, memorypack works!
Rishi
Posts: 107
Joined: Mon Jun 08, 2015 6:57 pm
Location: Amsterdam

Re: Hi-Res (Software) Explained ?

Post by Rishi »

Yes it Does !!!
32K SRAM WRX compatible, 32Bit IO-Port, ROM Ghost, ZX-Printer.
Rishi
Posts: 107
Joined: Mon Jun 08, 2015 6:57 pm
Location: Amsterdam

Re: Hi-Res (Software) Explained ?

Post by Rishi »

Thank you all very much for your support. I am so happy it works, Now when i finish the Zaks book again, I will get into the Nitty Gritty of it all. To be Continued !
32K SRAM WRX compatible, 32Bit IO-Port, ROM Ghost, ZX-Printer.
Rishi
Posts: 107
Joined: Mon Jun 08, 2015 6:57 pm
Location: Amsterdam

Re: Hi-Res (Software) Explained ?

Post by Rishi »

Of course the mind hardly ever stops to think about these things, It is almost as if the process continues in the background.
Rishi wrote: Then the other thing i was wondering about, downloading some .P from some site, what section of memory is being used to store the HiRes initially, 'cause if that would be in let's say 8000h - BFFFh somewhere, i wouldn't get it to go.
I Think i am on the right track here aren't I ? Although i somehow have a suspicion that the area in memory that most programs use is actually 2000h - 3FFFh ?
If that is so, i could try and mirror that area from E000h - FFFFh
32K SRAM WRX compatible, 32Bit IO-Port, ROM Ghost, ZX-Printer.
dr beep
Posts: 2080
Joined: Thu Jun 16, 2011 8:35 am
Location: Boxmeer

Re: Hi-Res (Software) Explained ?

Post by dr beep »

Rishi wrote:Of course the mind hardly ever stops to think about these things, It is almost as if the process continues in the background.
Rishi wrote: Then the other thing i was wondering about, downloading some .P from some site, what section of memory is being used to store the HiRes initially, 'cause if that would be in let's say 8000h - BFFFh somewhere, i wouldn't get it to go.
I Think i am on the right track here aren't I ? Although i somehow have a suspicion that the area in memory that most programs use is actually 2000h - 3FFFh ?
If that is so, i could try and mirror that area from E000h - FFFFh
In all my games I define a hiresscreenmemoryblock. This block is shown during hiresintrupt.
The screen itself is filled with data written to positions on the screen. I only made 1 hiresgame with a fullscreen buffer.
(Available here http://minigamecompo.weebly.com/2k-page.html ). This game has a printingroutine that can print on y,x any character. Character outside normal numbers are considered as UDG and read from a memoryblock where they are defined. So code is from #4000 to #4800, UDG included. Screen is set at #6000
Rishi
Posts: 107
Joined: Mon Jun 08, 2015 6:57 pm
Location: Amsterdam

Re: Hi-Res (Software) Explained ?

Post by Rishi »

Another day passed and in 3 steps i progressed.
Now the schematic looks like this.
Image
0-8K ROM
8-16K Executable code (mirror 40-48K)
16 -32K RAM (mirror 48-64K)
32 -48K Data RAM
48 -64K Mirror to 16-32K

I haven't managed to execute anything from 8-16K yet, but i think it should be possible
32K SRAM WRX compatible, 32Bit IO-Port, ROM Ghost, ZX-Printer.
Post Reply