Frequently Asked Questions about the Sinclair ZX81
Forum rules
This is designed to be a simple set of questions and answers - please no general chit chat in here - keep it focused to help new users!
-
PokeMon
- Posts: 2225
- Joined: Sat Sep 17, 2011 6:48 pm
Post
by PokeMon » Sun Jun 23, 2013 12:12 am
sirmorris wrote:I don't think it's easily possible to control the ROM overlay externally, that said I don't know of any other devices which disable the internal ROM. I'm sure people will enlighten me though
No problem, will enlight you right now.
The module ZX81XRAM disables internal ROM in address range $8000-$BFFF (shadow copy of ROM).
And during startup / after reset shortly to enable automatic RAM detection for up to 48k.
-
siggi
- Posts: 885
- Joined: Thu May 08, 2008 9:30 am
- Location: Dauernheim, Germany
-
Contact:
Post
by siggi » Mon Jun 24, 2013 2:51 pm
sirmorris wrote:I don't think it's easily possible to control the ROM overlay externally, that said I don't know of any other devices which disable the internal ROM. I'm sure people will enlighten me though

Hi Charlie
some MEMOTECH modules (ASCII-PRINTER-module, HIRES-Module) disable the internal ROM by pushing /ROMCS high and also enable the internal ram by pulling /RAMCS low and map the 1 K ram into ROM address range to allow "patches" of the ROM. Thus normal LPRINT commands are redirected to the external ASCII printer and PLOT AFAIK works also with the MEMOTECH Hires module. Enabling the internal ram works only, if the memotech module is the first external module at the edge connector (followed by the Sinclair ram pack or others).
Ditto the RAM. It would entail listening to and obeying RAMCS - which would be tough as it also needs to control it. As ROM and RAM cs lines are designed to let external devices control the internal chips it's not really possible to have multiple external devices all mastering the same line. If you see what I mean.
C
It is possible for several external modules, to DISABLE ram or rom individually, when they push /ROMCS or /RAMCS high using a diode for decoupling. That is done by all ZX96 memory cards:
Code: Select all
.
.
1N4148 or similar
| | /|
+---|< |------ CARD x
| | \|
| .
/ROMCS ---------+ .
| .
| | /|
+---|< |------ CARD 2
| | \|
|
|
| | /|
+---|< |------ CARD 1
| \|
.
.
Siggi
-
gozzo
- Posts: 448
- Joined: Fri Jul 08, 2011 8:52 pm
Post
by gozzo » Wed Oct 21, 2015 11:22 pm
One new question, similar to mine above a while back about sofware re-enabling, is there any fairly easy way to re-enable the zxpand system by hardware, such as adding another push switch in circuit somehow, WITHOUT having to reset the zx81 its connected to. the zxpand reset button certainly re-enables it when held in but also resets the zx, which I don't always want!!! Could it be just as simple as breaking the connection to the zx81 reset line with, say a normally closed push switch, so hold that one in while pressing the zxpand reset to reset/re-enable just the zxpand????
-
didier
- Posts: 8
- Joined: Sat Jan 14, 2017 5:54 pm
Post
by didier » Sat Jan 14, 2017 6:02 pm
hello sirmoris
I would want to know if we can call the function(office) ' cat' on the zxpand by a rand usr? And if we can call the function(office) 'config' by a rand usr?
Thank you very much ... excuse me for my english , i m french ....
And happy New Year
didier
-
sirmorris
- Posts: 2813
- Joined: Thu May 08, 2008 5:45 pm
Post
by sirmorris » Sat Jan 14, 2017 8:38 pm
Bonjour, Didier!
I can understand your English well, I doubt you would understand my French at all..! We British people are renown for our poor linguistic skills. I envy our European friends - many of whom speak at least 2 or 3 languages by the time they leave school.
There is not a simple call to do what you ask - but these things are possible from machine code. If you would let me know exactly what it is you need to do I can help with code to do it. I don't think you need to replicate CAT, I imagine you want to get a list of files. This can be done - the source code for zxpand-commander will show how this can be done.
C
-
Moggy
- Posts: 1880
- Joined: Wed Jun 18, 2008 2:00 pm
Post
by Moggy » Sat Jan 14, 2017 8:46 pm
It usually takes six bloody months for you to answer my questions Charlie you lousy rat!!!!!
(Moggy beats a hasty retreat in case the good sir knight gets angry)
-
sirmorris
- Posts: 2813
- Joined: Thu May 08, 2008 5:45 pm
Post
by sirmorris » Sun Jan 15, 2017 1:28 pm
Well if you will ask questions with such depth and subtlety that it takes me 6 months to formulate a worthwhile reply..!

-
didier
- Posts: 8
- Joined: Sat Jan 14, 2017 5:54 pm
Post
by didier » Thu Feb 16, 2017 7:21 pm
hello sirmorris
I realized a program in BASIC and in machine language which allows to move a mouse on the screen and shows a drop-down menu .... in this drop-down menu we can choose several options ...
In this menu, there is an option 'cat' , clicking this option I wanted to make post(show) has the screen, the catalog of the sd card of the zxpand
I wanted to call the function ' CAT' of the zx pand by a rand usr?
how to do this ?
thank you sirmorris and excuse me for my english !!
didier
-
sirmorris
- Posts: 2813
- Joined: Thu May 08, 2008 5:45 pm
Post
by sirmorris » Thu Feb 16, 2017 9:06 pm
Hi Didier,
It is not possible to call CAT in the ROM because it is only meant to be called from within the BASIC interpreter.
The source code for zxpand-commander is available in another thread, and this shows how to read the sd card listing.
viewtopic.php?f=6&t=956
See CMDR.ASM line 201 -> 253
-
Shaun_B
- Posts: 451
- Joined: Wed Apr 22, 2009 10:22 am
Post
by Shaun_B » Sat May 13, 2017 4:33 pm
Will the ZXPand work on the ZX80 Minstrel clone?
Many thanks,
Shaun.