Then the Phoenix has a problem too. But if it's not doing full decoding, or at least even looking at address line A5 like every Kempston joystick interface ever made then I'd say it has a problem with its design. That decoding wouldn't even read a real Kempston joystick interface made by Kempston Microelectronics in the town of Kempston!
To cope with that one, it would have to use a pattern like 00110101b (#35 or IN 53) which, since A1 is low and you don't know what the high byte is, clashes with the disk controller on a Spectrum +3. As you know.
That yet another clone machine uses different and crude decoding to everything else that has gone before still doesn't seem to me a reason to make an interface that is 100% incompatible with the majority of genuine Spectrum machines!
What you've listed there is also going to break down in the presence of ZXI port addresses for some of those clones. In fact there's nothing safe - it seems to me pointless trying to find something common as they're all different, and completely incompatible with real Spectrums. If you want to use #FFFE to work with all of them then you'll have to make your own interface, as it simply won't work with original machines.
I don't know HOW or WHY reads of addresses where A0=0 are blocked on all the machines made since Amstrad re-designed the 128K. They didn't consult me at the time! I just know that they are. There's something inside that stops those I/O ports ever being exposed on the edge connector. As far as I know it's common to the +2A, +2B and +3 models. Any joystick interface that tries to imitate keys on the keyboard relies on port #FE, and so doesn't work. That means the official Sinclair 'Interface 2' doesn't work, but then the two joystick ports built in to these machines operate the Sinclair standard anyway, so it would be useless for adding joysticks.
It's not that reads are blocked. It's more that the internal circuits of the +2A/+2B/+3 actively drive the data bus and the data cannot be overridden. This is different to the Sinclair Research designed machines where the data from ULA could be overridden.
! 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 in Somerset later in the year :)
But think about it - if you don't have the IN #FE blockage on these clones then you don't need this interface. You can just add joysticks that operate keys on the keyboard, working thorugh port #--FE, and use the 'redefine keys' options in games to set them up. You can even convert old Sinclair interfaces to operate different rows of the keyboard keys instead of 12345/67890.
So maybe there IS a market there for a Sinclair 1+2 type interface, where you could select which keyboard row you want it to imitate. That should then work with original 48K Spectrums and these clones, at least. You could stack up to four of them then, each on a different row of keys. That gives you 8 joysticks.
Or you get aowen to designate a ZXI port for up to 255 joysticks (see other thread on +2A joysticks) and add them that way.
But there is no solution that's going to work for everything. There never has been, which is why every Spectrum game menu asks you to select your controls!
Alright, smart-@rse - and which famous 80s beardy-man was paying for this exercise in NOT implementing the Timex graphics modes? :D
Altwasser left Sinclair before the Timex modes were created. Investronica got the 128 they wanted and by the time Amstrad bought the company, even if they'd known about them I doubt they'd have bothered implementing them as there wasn't a market reason to do so by then.
That yet another clone machine uses different and crude decoding to everything else that has gone before still doesn't seem to me a reason to make an interface that is 100% incompatible with the majority of genuine Spectrum machines!
What you've listed there is also going to break down in the presence of ZXI port addresses for some of those clones. In fact there's nothing safe - it seems to me pointless trying to find something common as they're all different, and completely incompatible with real Spectrums. If you want to use #FFFE to work with all of them then you'll have to make your own interface, as it simply won't work with original machines.
There is only one real Spectrum - is the 48k ZX Spectrum, from SRL. All the rest is the clones. :)
Is there any scheme +3, which includes the circuit connecting edge connectors?
I know how to connect the port #FFFE to +3, it is very simple. With edge connectors you need to get an address, and the input Sinclair Joystick to submit data.
It's barely enhanced at all. It's only 6.8K bigger and most of that is taken up by the color and hi-res routines. In fact it's because it's so close to the original ZX81 ROM that an open source version of SE Basic was possible.
It's barely enhanced at all. It's only 6.8K bigger and most of that is taken up by the color and hi-res routines. In fact it's because it's so close to the original ZX81 ROM that an open source version of SE Basic was possible.
6.8k is a good 85% bigger and I call adding colour (note the 'u', we're not American), hi-res and sound routines more than barely enhancing.
The ZX81 is a slightly enhanced clone of the ZX80 with a better BASIC (although ZX81 BASIC can be made to work in a ZX80 and if you very slightly tweak ZX80 BASIC, it will work in a ZX81!).
The ZX Spectrum (or "ZX82") is a evolution and enhancement of the ZX81, but can run ZX81 BASIC programs (with minor changes) but cannot load ZX81 programs from tape, so could be considered to be related, but not a 100% clone.
In terms of what makes a ZX80 special, it is the overall system and how all the parts work together, not just the ROM program code.
What makes the ZX81 special is the ULA, the ROM program code and how all the parts work together. The same applies to the ZX Spectrum.
Now this is rather off topic, so instead of discussing this, back to the original subject or I will demand to know the question to the Answer to the Ultimate Question of Life, The Universe, and Everything which is 42.
! 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 in Somerset later in the year :)
McLeod_IdeaFix's plug-in ULAplus is on the back burner while he works on ZX-Uno. But on the plus side, ZX-Uno is going to support the Chloe 280SE. And if you've got money to burn you can order this keyboard for it from WASD Keyboards:
Just noticed the graphics symbols on wrong keys... Not vey good idea.
I have a SPECTRA, but want a ULA+ drop in replacement too.
There is only one real Spectrum - is the 48k ZX Spectrum, from SRL. All the rest is the clones. :)
Ha! - Try telling that to the Russians! :D
But you could also say the same about Kempston joystick interfaces, and I can assure you the original one checks for A5 going low! (Actually I'm surprised that one also checks A6 and A7, according to the schematic - most copies don't. Some of them don't even check it's a READ not a WRITE).
Tell me something; this is discussing four-player controls. What's the usual way in Russia of even having a second player on a joystick? Do you use Sinclair protocol joystick interfaces?
OK, I can see the 'No' vote has had a jump in popularity - anyone want to put in words why they've gone for that?
Is it because you're fundamentally opposed to extra graphics modes?
Is it because we should all be made to wait until the real ULA+ is available, then gleefully rip open our little rubber pals and re-arrange their insides?
Is it because a non-traditional joystick standard for games affronts the memory of Sinclair machines?
Or have you just got a better idea how any of this can be done?
The wording of your poll is kind of leading. I've voted "no", but not because I think you're a lunatic. I voted "no" simply because there's little classic software out there that supports either of these interfaces.
Occasionally there's a ULA+ enabled game (like Mr Cauldwell's contributions) but none of them are "exlusive to ULA+ enabled Spectrums" and are little more than a recolouring. Four-player games with joystick capabilities are few and far between, and unless more are forthcoming (or others could be hacked to support it) then it'll be quite pointless.
Not to mention the actual logistics of getting four people playing on the same Speccy... Maybe over the internet via emulation, but that would defeat the point of an interface.
And what kind of games would be four players at once?
Yeah, thanks, the poll options I suppose are overstated.
But there's absolutely zero 'classic' software out there for either four joysticks or ULA+ graphics - I'm not sure what you were expecting? This is entirely to support new projects. And how are such games ever going to be written without the hardware to back it?
The main use I'd see for four player games are at big events, where the Spectrum can then get noticed and used for challenges the way console games like Warlords, Micro Machines, Bomberman, etc. are. The same goes for driving a second display, although that could be used for dev and debugging too. Three displays is maybe pushing it, but any sort of FPS simulator would just look *awesome*. Sure there'd be frame-rate issues, but we're always improving screen updates.
Four players would be a rare old thing to do at home. Unless there was some good bot A.I. in there too. The game should at least be viable with from '2 to 4 players'. Though I quite like the idea of twin-stick games with a second player.
But as for ULA+ games I think you're trying to put the cart before the horse before the same cart, if you see what I mean. It's not really about a multiscreen setup - that's just a spin-off idea. Basically I'd like to have a go at writing for the 'perfectly ordinary' ULA+, but I'm not going to bother if I can only ever see it in an emulator, and I'm getting tired of hearing all about how wonderful it is and still not being able to get a real one. So an external simulation of a ULA+ seems a sensible option given that two people have already worked up the necessary technology.
The ZX81 is a slightly enhanced clone of the ZX80 with a better BASIC (although ZX81 BASIC can be made to work in a ZX80 and if you very slightly tweak ZX80 BASIC, it will work in a ZX81!).
Well really the ZX81 is an SoC version of the ZX80. All of the discrete logic of the ZX80 is rolled into the ZX81's ULA. But it does have the advantage that the Z80 doesn't have to do quite so much work to drive the display.
The ZX Spectrum (or "ZX82") is a evolution and enhancement of the ZX81, but can run ZX81 BASIC programs (with minor changes) but cannot load ZX81 programs from tape, so could be considered to be related, but not a 100% clone.
Actually it can. There's a Timex program that will load a TS1000 program and actually convert it to Spectrum BASIC. It also runs on the Spectrum.
I write in American English for a living and I'm too old and stupid to easily switch between the two, so I just use American English for everything now. Even when I did use British English I preferred Oxford English which uses the appopriate Greek and Latin style -ize endings, rather than Cambridge English which uses the later French -ise endings. And people complained about that too.
But there's absolutely zero 'classic' software out there for either four joysticks or ULA+ graphics...
All existing software can take advantage of ULAplus without hacking by using palette files. Chaos has been patched to use color cycling animations.
Basically I'd like to have a go at writing for the 'perfectly ordinary' ULA+, but I'm not going to bother if I can only ever see it in an emulator, and I'm getting tired of hearing all about how wonderful it is and still not being able to get a real one.
Not as tired as I am of hearing that ULAplus is only available in emulators. It's been available in clones for five years now. But I take your point that you'd like to use it on original hardware.
Is a ZXI-based joystick system going to be more viable than IN-55 then? I mean, I'd still support IN-55 because of the ability to modify existing interfaces, and because it's still just an 8-bit address so the decoding logic is minimal.
But if you want to go with the ZXI system, I'd suggest reserving address, say, #1F3B now. For a single joystick, you just IN from it and get Kempston-type bits back. This could sit alongside a regular Kempston joystick in a twin-port interface.
For multiple joysticks, you OUT to that address, latch the number (1 bit for two sticks, 2 bits for four sticks, 3 bits for eight sticks, etc.), then an IN returns the result from the joystick of that number - so the scheme is expandable from 1-256 up to 8-switch devices.
Is that more viable? It would require at least nine bits of address decoding (A4 and A8-15), if not all 16, but would never need another definition.
Comments
To cope with that one, it would have to use a pattern like 00110101b (#35 or IN 53) which, since A1 is low and you don't know what the high byte is, clashes with the disk controller on a Spectrum +3. As you know.
That yet another clone machine uses different and crude decoding to everything else that has gone before still doesn't seem to me a reason to make an interface that is 100% incompatible with the majority of genuine Spectrum machines!
What you've listed there is also going to break down in the presence of ZXI port addresses for some of those clones. In fact there's nothing safe - it seems to me pointless trying to find something common as they're all different, and completely incompatible with real Spectrums. If you want to use #FFFE to work with all of them then you'll have to make your own interface, as it simply won't work with original machines.
- IONIAN-GAMES.com -
I don't know HOW or WHY reads of addresses where A0=0 are blocked on all the machines made since Amstrad re-designed the 128K. They didn't consult me at the time! I just know that they are. There's something inside that stops those I/O ports ever being exposed on the edge connector. As far as I know it's common to the +2A, +2B and +3 models. Any joystick interface that tries to imitate keys on the keyboard relies on port #FE, and so doesn't work. That means the official Sinclair 'Interface 2' doesn't work, but then the two joystick ports built in to these machines operate the Sinclair standard anyway, so it would be useless for adding joysticks.
- IONIAN-GAMES.com -
Mark
Repair Guides. Spanish Hardware site.
WoS - can't download? Info here...
former Meulie Spectrum Archive but no longer available :-(
Spectranet: the TNFS directory thread
! 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 in Somerset later in the year :)
So maybe there IS a market there for a Sinclair 1+2 type interface, where you could select which keyboard row you want it to imitate. That should then work with original 48K Spectrums and these clones, at least. You could stack up to four of them then, each on a different row of keys. That gives you 8 joysticks.
Or you get aowen to designate a ZXI port for up to 255 joysticks (see other thread on +2A joysticks) and add them that way.
But there is no solution that's going to work for everything. There never has been, which is why every Spectrum game menu asks you to select your controls!
- IONIAN-GAMES.com -
Specifically it was Richard Altwasser who did the redesign for the +3/+2A, you know, the guy who designed the original Spectrum. :)
- IONIAN-GAMES.com -
oooooh BUUUUUURN :D
Altwasser left Sinclair before the Timex modes were created. Investronica got the 128 they wanted and by the time Amstrad bought the company, even if they'd known about them I doubt they'd have bothered implementing them as there wasn't a market reason to do so by then.
There is only one real Spectrum - is the 48k ZX Spectrum, from SRL. All the rest is the clones. :)
Is there any scheme +3, which includes the circuit connecting edge connectors?
The Spectrum is just a color ZX81 with a dedicated video circuit. And you forgot the 16K ZX Spectrum.
It's barely enhanced at all. It's only 6.8K bigger and most of that is taken up by the color and hi-res routines. In fact it's because it's so close to the original ZX81 ROM that an open source version of SE Basic was possible.
The ZX81 is a slightly enhanced clone of the ZX80 with a better BASIC (although ZX81 BASIC can be made to work in a ZX80 and if you very slightly tweak ZX80 BASIC, it will work in a ZX81!).
The ZX Spectrum (or "ZX82") is a evolution and enhancement of the ZX81, but can run ZX81 BASIC programs (with minor changes) but cannot load ZX81 programs from tape, so could be considered to be related, but not a 100% clone.
In terms of what makes a ZX80 special, it is the overall system and how all the parts work together, not just the ROM program code.
What makes the ZX81 special is the ULA, the ROM program code and how all the parts work together. The same applies to the ZX Spectrum.
Now this is rather off topic, so instead of discussing this, back to the original subject or I will demand to know the question to the Answer to the Ultimate Question of Life, The Universe, and Everything which is 42.
Mark
Repair Guides. Spanish Hardware site.
WoS - can't download? Info here...
former Meulie Spectrum Archive but no longer available :-(
Spectranet: the TNFS directory thread
! 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 in Somerset later in the year :)
I have a SPECTRA, but want a ULA+ drop in replacement too.
But you could also say the same about Kempston joystick interfaces, and I can assure you the original one checks for A5 going low! (Actually I'm surprised that one also checks A6 and A7, according to the schematic - most copies don't. Some of them don't even check it's a READ not a WRITE).
Sorry, can't help you there. Try Google or someone else.
It's only polite to let you go first! :D
Tell me something; this is discussing four-player controls. What's the usual way in Russia of even having a second player on a joystick? Do you use Sinclair protocol joystick interfaces?
- IONIAN-GAMES.com -
Is it because you're fundamentally opposed to extra graphics modes?
Is it because we should all be made to wait until the real ULA+ is available, then gleefully rip open our little rubber pals and re-arrange their insides?
Is it because a non-traditional joystick standard for games affronts the memory of Sinclair machines?
Or have you just got a better idea how any of this can be done?
- IONIAN-GAMES.com -
Occasionally there's a ULA+ enabled game (like Mr Cauldwell's contributions) but none of them are "exlusive to ULA+ enabled Spectrums" and are little more than a recolouring. Four-player games with joystick capabilities are few and far between, and unless more are forthcoming (or others could be hacked to support it) then it'll be quite pointless.
Not to mention the actual logistics of getting four people playing on the same Speccy... Maybe over the internet via emulation, but that would defeat the point of an interface.
And what kind of games would be four players at once?
D.
But there's absolutely zero 'classic' software out there for either four joysticks or ULA+ graphics - I'm not sure what you were expecting? This is entirely to support new projects. And how are such games ever going to be written without the hardware to back it?
The main use I'd see for four player games are at big events, where the Spectrum can then get noticed and used for challenges the way console games like Warlords, Micro Machines, Bomberman, etc. are. The same goes for driving a second display, although that could be used for dev and debugging too. Three displays is maybe pushing it, but any sort of FPS simulator would just look *awesome*. Sure there'd be frame-rate issues, but we're always improving screen updates.
Four players would be a rare old thing to do at home. Unless there was some good bot A.I. in there too. The game should at least be viable with from '2 to 4 players'. Though I quite like the idea of twin-stick games with a second player.
But as for ULA+ games I think you're trying to put the cart before the horse before the same cart, if you see what I mean. It's not really about a multiscreen setup - that's just a spin-off idea. Basically I'd like to have a go at writing for the 'perfectly ordinary' ULA+, but I'm not going to bother if I can only ever see it in an emulator, and I'm getting tired of hearing all about how wonderful it is and still not being able to get a real one. So an external simulation of a ULA+ seems a sensible option given that two people have already worked up the necessary technology.
- IONIAN-GAMES.com -
Well really the ZX81 is an SoC version of the ZX80. All of the discrete logic of the ZX80 is rolled into the ZX81's ULA. But it does have the advantage that the Z80 doesn't have to do quite so much work to drive the display.
Actually it can. There's a Timex program that will load a TS1000 program and actually convert it to Spectrum BASIC. It also runs on the Spectrum.
I write in American English for a living and I'm too old and stupid to easily switch between the two, so I just use American English for everything now. Even when I did use British English I preferred Oxford English which uses the appopriate Greek and Latin style -ize endings, rather than Cambridge English which uses the later French -ise endings. And people complained about that too.
The graphics symbols are on the right keys. SE Basic IV uses a different keyboard layout than the standard Spectrum.
Not as tired as I am of hearing that ULAplus is only available in emulators. It's been available in clones for five years now. But I take your point that you'd like to use it on original hardware.
- IONIAN-GAMES.com -
But if you want to go with the ZXI system, I'd suggest reserving address, say, #1F3B now. For a single joystick, you just IN from it and get Kempston-type bits back. This could sit alongside a regular Kempston joystick in a twin-port interface.
For multiple joysticks, you OUT to that address, latch the number (1 bit for two sticks, 2 bits for four sticks, 3 bits for eight sticks, etc.), then an IN returns the result from the joystick of that number - so the scheme is expandable from 1-256 up to 8-switch devices.
Is that more viable? It would require at least nine bits of address decoding (A4 and A8-15), if not all 16, but would never need another definition.
- IONIAN-GAMES.com -