To be 100% compatible, or not, that's the question.

Any discussions related to the creation of new hardware or software for the ZX80 or ZX81
User avatar
PokeMon
Posts: 2264
Joined: Sat Sep 17, 2011 6:48 pm

Re: To be 100% compatible, or not, that's the question.

Post by PokeMon »

RetroTechie wrote: Not really... I have designed & built many logic circuits like these in the past, so I'd know what to do & how to do it, no need for an example. In my current design, such a change would be trivial.
Why don't you make it configureable if you ULA behaves like original version or offer some special feature.
Anyway I think it wouldn't help much for exisiting projects because they all do work around with all mistakes, bad address codings and so on.
I don't think that somebody really uses the feature that NMI is turned on / off with other addresses like $FE or $FD (EE and ED or 7E and 7D).
But you never know. Anyway I would construct it to work as good as it can with original ZX81 and with mostly used hardware.
But if it behaves like original I would not expect any problems.
Thommy
Posts: 52
Joined: Wed Sep 28, 2011 6:37 pm

Re: To be 100% compatible, or not, that's the question.

Post by Thommy »

In my emulator, I have a function that hooks itself up to trigger on IOREQ and WR low. In that I grab the value of the 16 address lines and I added the following quick snippet:

Code: Select all

		if(((address&0xff) != 0xff) && ((address&0xff) != 0xfe) && ((address&0xff) != 0xfd))
		{
			printf("write to %04x\n", address);
		}
So I should have been notified upon any atypical port access. To confirm that I did a run without the final 0xfd test and got a bunch of notifications about 0xfd writes.

I probably don't have a very complete set of ZX81 software but I ran the following, which I think probably all involve machine code programs and several of which use their own video generation routines, all without encountering a noteworthy IO request:

1k WRX16 Demo; 25th Anni; Rezurrection; Severely Limited Capabilities; Somewhat Less Limited Capabilities; There Are No Limits; 1k Breakout; 3d Defender; 3d Grand Prix; 3d Monster Maze; Bouncin' Bert; Centipede; Flight Simulation; Forty Niner; Frogger (low res); Froggie; Galaxy Invader; Gunfight; Hopper; La Pulga; Manic Miner; Mazogs; Return of the Galaxians; Rocket Man; Scramble / Landscape; Psion's Space Invaders; ZX-Galaxians
Post Reply