Kempston - Why dont games make it default?

General software. From trouble with the Banyan Tree to OCP Art Studio, post any general software chat here. Could include game challenges...
Post Reply
segasonicfan
Drutt
Posts: 11
Joined: Fri Aug 04, 2023 7:56 am

Kempston - Why dont games make it default?

Post by segasonicfan »

Getting into speccy as a n00b here I must say I'm surprised at how much effort is involved in using the Kempston mode. Many games default to keyboard and even require keyboard presses to get past certain screens in Kempston mode! My TV gaming setup doesn't have a big desk for the keyboard / system, it sits on the floor while i game. Does anyone else find this annoying, having to get out of the chair to press one key? Lol.

Also, how the heck can I get Kempston working for Castlevania: SI? I swear it used to work fine but it's not in the options and doesn't work anymore. My poor brain forgot.

Thanks all!
User avatar
stupidget
Dynamite Dan
Posts: 1644
Joined: Wed Jan 24, 2018 2:09 pm
Location: Sunny Wolverhampton

Re: Kempston - Why dont games make it default?

Post by stupidget »

I'd say that most games default to Keyboard, because the majority of people who owned a speccy in the early 80's didn't have a joystick. When I had my speccy from '83 to '89 I used keyboard controls on every single game. Even when I had a +2 that came with that awful Spectrum joystick I still used the keyboard.
AndyC
Dynamite Dan
Posts: 1409
Joined: Mon Nov 13, 2017 5:12 am

Re: Kempston - Why dont games make it default?

Post by AndyC »

Because no Speccy ever had a Kempston interface by default. The only machines which had a joystick interface at all were the Amstrad made 128's and they used the Sinclair interface standard.

On top of that Kempston was more fussy than other joystick interfaces, so you either had to write special detection code for it or make the user actively select it otherwise you'd get values that made it seem like joystick presses were happening when there was no interface plugged in. Hence most games not bothering making it so you could just press fire to start etc.
User avatar
Alessandro
Dynamite Dan
Posts: 1910
Joined: Wed Nov 15, 2017 11:10 am
Location: Messina, Italy
Contact:

Re: Kempston - Why dont games make it default?

Post by Alessandro »

What for? There are lots of people here who cut their teeth on the keyboard, including yours truly :)
segasonicfan
Drutt
Posts: 11
Joined: Fri Aug 04, 2023 7:56 am

Re: Kempston - Why dont games make it default?

Post by segasonicfan »

AndyC wrote: Fri Aug 04, 2023 8:38 am On top of that Kempston was more fussy than other joystick interfaces, so you either had to write special detection code for it or make the user actively select it otherwise you'd get values that made it seem like joystick presses were happening when there was no interface plugged in. Hence most games not bothering making it so you could just press fire to start etc.
ah, interesting...was this maybe due to the floating bus issue I read about?
Alessandro wrote: Fri Aug 04, 2023 8:39 amWhat for?
Mentioned in my OP, I want to sit in a chair with a controller and play like a game console...without getting up for keystrokes on occassion. My +2A with all the adapters is *beefy*, it has to sit on the floor, and is hard to reach...
Nienn Heskil
Microbot
Posts: 134
Joined: Tue Jun 09, 2020 6:14 am
Contact:

Re: Kempston - Why dont games make it default?

Post by Nienn Heskil »

Well, 5 buttons didn't get old for a while, but then it kinda did, and there you goo

>asdasd 8 button interfaces no-one is using cuz muh 80's
dfzx
Manic Miner
Posts: 683
Joined: Mon Nov 13, 2017 6:55 pm
Location: New Forest, UK
Contact:

Re: Kempston - Why dont games make it default?

Post by dfzx »

segasonicfan wrote: Fri Aug 04, 2023 8:57 am Mentioned in my OP, I want to sit in a chair with a controller and play like a game console...without getting up for keystrokes on occassion. My +2A with all the adapters is *beefy*, it has to sit on the floor, and is hard to reach...
Get yourself a 12" portable TV, like many of us had back in the day, and put that on the far side of the room. Voila! You'll find the problem of not being able to reach the keyboard goes away! :lol:
Derek Fountain, author of the ZX Spectrum C Programmer's Getting Started Guide and various open source games, hardware and other projects, including an IF1 and ZX Microdrive emulator.
voxeltower
Drutt
Posts: 24
Joined: Wed Oct 21, 2020 12:00 pm

Re: Kempston - Why dont games make it default?

Post by voxeltower »

As AndyC has told you, the kempston interface reads random values when it is not connected, so it cannot be set to default as it would seem that a player is moving the joystick.
Although it is possible to detect those random values when starting the game and if found, disable reading for that joystick all the time, I have done it in speccy soccer and it seems to work fine.
But I guess this would not be easy to see and test in the 80's and that's why they force you to select kempston in the main menu.
User avatar
flatduckrecords
Manic Miner
Posts: 787
Joined: Thu May 07, 2020 11:47 am
Location: Oban, Scotland
Contact:

Re: Kempston - Why dont games make it default?

Post by flatduckrecords »

segasonicfan wrote: Fri Aug 04, 2023 8:32 am Does anyone else find this annoying, having to get out of the chair to press one key? Lol.
I can sympathise! I felt really smug getting a wireless controller to work…


Don't try this at home. RIP DivMMC.

…until I realised how few of the games that *do* support Kempston still, as you say, need at least one keypress; either the "press space to lob a grenade" in-game variety (two-button joysticks/interfaces being extremely uncommon back then) or (even worse IMO) press-space-to-restart after a game over. Bah! Another crushing defeat *and* you have to get up from couch.


Please excuse the wallpaper, it was a rental place.
AndyC
Dynamite Dan
Posts: 1409
Joined: Mon Nov 13, 2017 5:12 am

Re: Kempston - Why dont games make it default?

Post by AndyC »

segasonicfan wrote: Fri Aug 04, 2023 8:57 am ah, interesting...was this maybe due to the floating bus issue I read about?
Yes. The other joystick standards like Sinclair and Cursor mostly mapped onto keyboard presses and, since the keyboard is always there, weren't subject to the floating bus effect. As mentioned it's possible to kind of detect this and disable Kempston support if it's not attached but almost nothing did back in the day (probably out of fear it would disable it incorrectly for some interfaces and leave joystick support entirely non functional).

With an emulator you can usually just map buttons of a modern controller onto keys of your choice. It would probably be theoretically possible to do something similar with an expansion interface. If such a thing existed and mapped to say Sinclair standard and a few extra keys, the redefine option in most games would let you play entirely from a controller....
User avatar
WhatHoSnorkers
Manic Miner
Posts: 254
Joined: Tue Dec 10, 2019 3:22 pm

Re: Kempston - Why dont games make it default?

Post by WhatHoSnorkers »

As a child we never had a Kempston joystick. I would hate when games would give you a "joystick" option that was actually Kempston as the Spectrum would then go a bit berserk. Useful for playing 2 player games against yourself though...
I have a little YouTube channel of nonsense
https://www.youtube.com/c/JamesOGradyWhatHoSnorkers
User avatar
Joefish
Rick Dangerous
Posts: 2059
Joined: Tue Nov 14, 2017 10:26 am

Re: Kempston - Why dont games make it default?

Post by Joefish »

I seem to remember R-Type would try to automatically detect if a Kempston joystick was connected.

A game can simply wait for you to press one of the various FIRE buttons available and then start the game with that as the control. But if you're checking for FIRE on a Kempston joystick interface and it's not there, then those random results could trigger the game to start uncontrollably. So you first have to do a brief scan for random numbers coming back and if so, disable it.

But Flying Shark does this. And it's got another little quirk in that if you press FIRE on a Sinclair joystick to start the game, it takes that as '0' on the keyboard and at first assumes you want CURSOR keys or a CURSOR joystick. So when you move LEFT/RIGHT (keys 6 & 7) your biplane moves up and down! Only when you press UP (key 9, which isn't one of the CURSOR keys) does it take the hint and switch to Sinclair control. But if you press '5', it swaps back to CURSOR control.
User avatar
TMD2003
Rick Dangerous
Posts: 2045
Joined: Fri Apr 10, 2020 9:23 am
Location: Airstrip One
Contact:

Re: Kempston - Why dont games make it default?

Post by TMD2003 »

WhatHoSnorkers wrote: Fri Aug 04, 2023 11:23 am As a child we never had a Kempston joystick. I would hate when games would give you a "joystick" option that was actually Kempston as the Spectrum would then go a bit berserk. Useful for playing 2 player games against yourself though...
Think yourself lucky the only joystick option wasn't Fuller.
Spectribution: Dr. Jim's Sinclair computing pages.
Features my own programs, modified type-ins, RZXs, character sets & UDGs, and QL type-ins... so far!
User avatar
Joefish
Rick Dangerous
Posts: 2059
Joined: Tue Nov 14, 2017 10:26 am

Re: Kempston - Why dont games make it default?

Post by Joefish »

TMD2003 wrote: Fri Aug 04, 2023 1:48 pmThink yourself lucky the only joystick option wasn't Fuller.
You'd struggle to find a real Fuller interface, but it wasn't quite so random as Kempston. When you read a Kempston joystick, you get '1's for directions and fire, and '0's for no movement. But with Fuller, it's all '1's with '0's when something is actually pressed. That's what you get when you read the keyboard, too. And that way round, it's less prone to giving you random crap if the interface isn't there.
segasonicfan
Drutt
Posts: 11
Joined: Fri Aug 04, 2023 7:56 am

Re: Kempston - Why dont games make it default?

Post by segasonicfan »

AndyC wrote: Fri Aug 04, 2023 10:23 am With an emulator...
gasp what is this ehm yoo lay tor you speak of? a device for the 16-bit computing machines and beyond? I will have none of it!! :D

I find it fascinating how many hardware issues and technical challenges Speccy has. All overshadowed by the love and devotion of its fans. Endearing, really <3
firelord
Manic Miner
Posts: 557
Joined: Wed Nov 03, 2021 10:57 am
Location: Greece - Thessaloniki

Re: Kempston - Why dont games make it default?

Post by firelord »

Never had a joystick on zx. If by mistake I enabled it, I had random movements in the game.

I prefered keyboard and I remember that the interface+joystick were expensive.
User avatar
HEXdidnt
Manic Miner
Posts: 224
Joined: Thu Mar 09, 2023 2:40 pm
Location: Harrow, London, UK
Contact:

Re: Kempston - Why dont games make it default?

Post by HEXdidnt »

As far as I can remember, the only joystick interface I had initially was the AGF programmable interface, that assigned joystick controls to the keyboard via pairs of crocodile clips arranged on a rack. While it was, theoretically, great to be able to assign any combination of keys to the joystick - thus simplifying some of the wonkier keyboard controls, before redefining keys was a common option - it was unreliable, and some combinations just didn't work. As a result, I slowly drifted back to using the keyboard for pretty much everything.

We eventually got a Multiface One, which had a built-in joystick port, but by that point, I'd only use joysticks for games that required a lot of 'waggling', to save wear and tear on the keyboard membrane.
...Dropping litter in the zen garden of your mind

The Hub of all things HEXdidn't... | HEXdidn't... on YouTube ...on ZXArt ...on deviantart
jimmy
Drutt
Posts: 36
Joined: Sun Nov 24, 2019 9:06 pm

Re: Kempston - Why dont games make it default?

Post by jimmy »

Joefish wrote: Fri Aug 04, 2023 2:20 pm You'd struggle to find a real Fuller interface, but it wasn't quite so random as Kempston. When you read a Kempston joystick, you get '1's for directions and fire, and '0's for no movement. But with Fuller, it's all '1's with '0's when something is actually pressed. That's what you get when you read the keyboard, too. And that way round, it's less prone to giving you random crap if the interface isn't there.
Imagine tried that with Arcadia, but your spaceship would occasionally move / fire by itself - so I don't think it's safe to read the Fuller port when it's not attached.
Trying to reliably autodetect a Fuller joystick has proved difficult - what works in an emulator doesn't work on my real hardware. In my case, the unused bits float so you can't even rely on 255 meaning idle / not plugged in. I think it would be more reliable to look for the Fuller AY sound chip!

Trying to stay 'on topic' - just because a Kempston interface is present, doesn't mean you want to play a game with a Kempston joystick. Several non-joystick interfaces came with a Kempston joystick port, but there'd be no joystick plugged into it. Some early games (eg: DJL's Froggy) came in 2 versions - keyboard only and joystick only.
User avatar
spider
Dynamite Dan
Posts: 1099
Joined: Wed May 01, 2019 10:59 am
Location: Derby, UK
Contact:

Re: Kempston - Why dont games make it default?

Post by spider »

I only got a QS with Kempston about 3 or 4 years into my Speccy ownership and then I rarely bothered with it as the type of games I played seemed better on a keyboard somehow.

These days I do have an older MegaDrive type of 'pad' which works well, or did the last time I tried it. :)
User avatar
PQR
Manic Miner
Posts: 241
Joined: Sat May 12, 2018 11:35 am
Contact:

Re: Kempston - Why dont games make it default?

Post by PQR »

Joefish wrote: Fri Aug 04, 2023 12:45 pm But Flying Shark does this. And it's got another little quirk in that if you press FIRE on a Sinclair joystick to start the game, it takes that as '0' on the keyboard and at first assumes you want CURSOR keys or a CURSOR joystick. So when you move LEFT/RIGHT (keys 6 & 7) your biplane moves up and down! Only when you press UP (key 9, which isn't one of the CURSOR keys) does it take the hint and switch to Sinclair control. But if you press '5', it swaps back to CURSOR control.
IIRC the same quirk is present in Zynaps. Given that both Flying Shard and Zynaps have been coded by Dominic Robinson it makes sense.
User avatar
1024MAK
Bugaboo
Posts: 3123
Joined: Wed Nov 15, 2017 2:52 pm
Location: Sunny Somerset in the U.K. in Europe

Re: Kempston - Why dont games make it default?

Post by 1024MAK »

The following applies to the 16K, 48K and + models. There are some differences for the 128K models.

The floating bus means that any value can appear on a I/O port address (not including ULA addresses which is any even address) when read if there is no hardware attached that responds to that I/O port read. The databus normally floats to 255 (0xFF) due to pull-up resistors. But when the ULA reads screen data from RAM, the Z80 may read that databus value...

Here's a BASIC program to try...

Code: Select all

10 INPUT "Port Number ";a
20 PRINT AT 0,0;"Port ";a,
30 FOR c=1 TO 10
40 PRINT AT c,0;IN a,
50 NEXT c
60 IF INKEY$="" THEN GO TO 30
70 GO TO 10
Mark
:!: Standby alert :!:
“There are four lights!”
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :dance
Looking forward to summer later in the year.
Post Reply