Atari 800 Core - keyboard free operation - Start, Select, Option on Joystick

https://github.com/MiSTer-devel/Main_MiSTer/wiki

Moderators: Mug UK, Zorro 2, spiny, Greenious, Sorgelig, Moderator Team

Locked
User avatar
ono
Atariator
Atariator
Posts: 20
Joined: Sun Aug 18, 2019 11:22 am
Location: Switzerland
Contact:

Atari 800 Core - keyboard free operation - Start, Select, Option on Joystick

Post by ono »

Hello everyone,
This is my first real post here. I own MiSTer since last Friday when I received last piece - IO board and SD RAM from RetroShop.pt (thanks to Ricardo's excellent almost 24h/7d responding and fast shipping). DE10-Nano and other parts essentially came same week few days before.

Back to the point, my main intention is to play 8-bit Atari games that I used to play when I was 6-10yr old. But I have no Atari anymore, before moving to my current location I donated my Atari 130XE and floppy drive to my alma mater for archiving and preservation purposes. Now couple of years later I want to play with my 7yr old son some of the oldies. First tried playing on NVIDIA shield with RetroArch, but somehow I felt either I am getting old or the thing is now responsive as it should be, e.g. Pedro from Monezuma's Revenge is not jumping exactly when I press the button. :wink:

Now I am on MiSTer and yes it is super responsive, much better, WiFi access to upload the games and OSD menu is great, except one thing... I need to keep my keyboard attached and being around just for the sake of Option+Reset to load the game and Start, Select, Option to start it. This is quite cumbersome :cry: , and comparing to C64 core (my wife was from Commodore camp :lol:) where you simply select PRG and it loads it, it is far more complicated.

Therefore I wonder if it would be hard to implement following additions to Atari 800 core:
  1. Load Program (XEX) menu item [similar to C64's PRG] that maps Atari XEX to drive and reboots the system without Basic, something that has to be done now in few steps using F8+F10 in the end. There's "Fire 2 on joystick acts as an OPTION key while reboot." mentioned in the README but this does not bring me to keyboard free operation. This would apply just for XEX which is executable, not a disk image, and similarly as CRT it would load it right away.
  2. Add Start, Select, Option mapping for Atari joystick. Many (most?) 8-bit Atari games expect at least Start to be pressed, where Option or Select are also often used to select number of players etc. Yes I can map Joystick buttons to keyboard, but this mapping remains until I reload the core. In the end having keyboard around is necessity.
I know this core is maybe not that popular, but I think it deserves some more love and these above would improve the game load workflow soooo much.

P. S. Also wanted to ask without creating new thread about Fast SIO - how does it work? What does Fast-0 .. Fast-6 means? Which one is fastest Fast-6 or Fast-0? And it would be nice to have explicit switch in menu rather this Ctrl+Shift+N/H combo.
Grown up playing/learning to program Atari 130XE. FM synth and tech nerd. | github.com/nanoant
Sorgelig
Ultimate Atarian
Ultimate Atarian
Posts: 6348
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: Atari 800 Core - keyboard free operation - Start, Select, Option on Joystick

Post by Sorgelig »

Atari 800 is computer, not Console. It expects the keyboard. Even games may need keyboard interaction.
It's not about love or not. It's nature of this core. There is Atari 5200 which is Atari 800 based console - it doesn't need keyboard.
I don't remember which Fast-x is faster. It's easy to find out by loading a big game.
User avatar
ono
Atariator
Atariator
Posts: 20
Joined: Sun Aug 18, 2019 11:22 am
Location: Switzerland
Contact:

Re: Atari 800 Core - keyboard free operation - Start, Select, Option on Joystick

Post by ono »

Sorgelig wrote:Atari 800 is computer, not Console. It expects the keyboard. Even games may need keyboard interaction.
It's not about love or not. It's nature of this core.
That's kind of a bit harsh response. If I've said anything offensive then please take my apologies. Maybe this was about my "bold" text :(
Sorgelig wrote:There is Atari 5200 which is Atari 800 based console - it doesn't need keyboard.
I know that 5200 is almost same hardware but it cannot run straight Atari 800 programs. I come from Poland where 800/XL/65 Atari's were very popular and there are many games that were exclusive to these computers (not released on consoles) - still have original floppies bought by my petty cash when I was ~8-10yr. But these cannot be run on 5200 core.

Besides that, yes I completely agree, Atari 800/XL/65/130/XE were all computers, but correct me if I am wrong, they were used mostly for playing games. And AFAIK MiSTer users are mostly into playing retro games. Moreover, it is not just a coincidence that Start/Select/Option/Reset are often referred as "console keys", and it was I believe economy driven decision to put them on main box rather than on the controller. This made the controllers much cheaper and easy to build. I remember some old Atari magazine that provided the recipe how to build Atari joystick from few jar bottle caps and some wires. 8)

And going back to the subject, all I was humbly suggesting was to let the user permanently map "console keys" to the joystick to make the 8-bit Atari (not console) games playing experience couch friendlier. Then keyboard would be only necessary when playing text games, or programming (which I also intend to do and I have learnt how to program on Atari 8-bit) or using DOS. :roll:

Nevertheless, it is maybe good time to learn coding FPGA and extend Atari 800 core, but I am not there ready to take the challenge. With your impressive skills I guess it would not be that hard to implement such a feature.
Sorgelig wrote:I don't remember which Fast-x is faster. It's easy to find out by loading a big game.
I tried that, hardly see any difference, that's why I was asking. But maybe I tested it incorrectly. Also not sure if I can switch to Fast mode during load, but on the other hand it looks like it goes to Standard mode on every F10 cold-restart. But I can dig through the code to find out anyways.
Grown up playing/learning to program Atari 130XE. FM synth and tech nerd. | github.com/nanoant
User avatar
Newsdee
Atari God
Atari God
Posts: 1561
Joined: Fri Sep 19, 2014 8:40 am

Re: Atari 800 Core - keyboard free operation - Start, Select, Option on Joystick

Post by Newsdee »

I just use a tiny wieless RF keyboard, it's as easy as picking up a second controller to push start.

I understand the 5200 had more buttons and a keypad, though. You can't easily replicate that with a modern gamepad, I suppose.
Lightwave
Atari maniac
Atari maniac
Posts: 91
Joined: Sun Dec 16, 2018 8:18 pm

Re: Atari 800 Core - keyboard free operation - Start, Select, Option on Joystick

Post by Lightwave »

ono wrote:
Sorgelig wrote:Atari 800 is computer, not Console. It expects the keyboard. Even games may need keyboard interaction.
It's not about love or not. It's nature of this core.
That's kind of a bit harsh response. If I've said anything offensive then please take my apologies. Maybe this was about my "bold" text :(
Don't let Sorgelig scare you away; consider it extreme practicality rather than harshness :)

In fairness, the main vision of this project is to replicate old hardware accurately. It makes sense that a computer core (especially for a system that had its keyboard physically integrated) would assume a keyboard.

Realize that at this point, convenience features will always come second. You might think your request is a small thing, but consider the sheer amount of existing cores that need to be bugfixed and maintained, not to mention features that need to be developed for new cores (i.e. new memory module development for Neo-Geo means not just hardware design and code integration, but also testing ALL existing cores).

Since the developers doing this work are providing their efforts for free (not just free, open-sourcing everything) in their spare time, you can imagine that time availability for non-essential features is in the negative, and probably will be for some time. Understand that while many people want this to be some kind of improved Retropie with a lot of fancy extra features, MiSTer is not really that project.

(Now I will say that I've seen Sorgelig dismiss feature requests in the past, only to sneak them in with a future update at some point. So it seems he will consider ideas fairly, where they make sense.)
Sorgelig
Ultimate Atarian
Ultimate Atarian
Posts: 6348
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: Atari 800 Core - keyboard free operation - Start, Select, Option on Joystick

Post by Sorgelig »

Thanks Lightwave for understanding the matter and explain it to others!
Some users think i'm simply sit and wait for requests.
Also i'm not always share some particular visions.
Generally, if it's computer core then keyboard is required.
User avatar
ono
Atariator
Atariator
Posts: 20
Joined: Sun Aug 18, 2019 11:22 am
Location: Switzerland
Contact:

Re: Atari 800 Core - keyboard free operation - Start, Select, Option on Joystick

Post by ono »

Lightwave wrote:Realize that at this point, convenience features will always come second. You might think your request is a small thing, but consider the sheer amount of existing cores that need to be bugfixed and maintained, not to mention features that need to be developed for new cores (i.e. new memory module development for Neo-Geo means not just hardware design and code integration, but also testing ALL existing cores).
No, you got me wrong, I was not assuming anything whether it is small or not. I just used very casual tone, maybe too casual then. Still I was just asking if it is small (aka hard to implement), as I thought that is primary purpose of this forum - place for discussion. I was not directing my question to anyone, neither expecting answer from any particular person. But cetainly I agree that Sorgelig has best experience to provide fair answer.

Unfortunately, what I got as an answer was a statement that doing any mapping of keyboard keys on computer core is against certain vision of the author. Fair enough, but how could I know that? Correct me if I am wrong, but this is not stated in Wiki. I tried to provide convincing argument in my response. If it is not convincing, it is okay. We just talk here.

But please, I humbly ask you to spare me the lessons about the software maintenance, bugs, testing, etc.. I know enough of that, as I do that for a living.
Lightwave wrote:Since the developers doing this work are providing their efforts for free (not just free, open-sourcing everything) in their spare time, you can imagine that time availability for non-essential features is in the negative, and probably will be for some time. Understand that while many people want this to be some kind of improved Retropie with a lot of fancy extra features, MiSTer is not really that project.
I was not demanding, I wasn't even directly asking to have the feature done. I was asking if it is hard to implement, plus some mumbling about giving "more love to Atari" -because I love 8-bit Ataris :wink:.

Just to be clear, I knew very well from the beginning that this is not commercial project, therefore 1st thing I made when I joined the forum was a reasonable donation to the primary author of the project. Yet I don't expect anything in return, I am impressed by this project, so it deserves some gratitude - period.

Nevertheless if posting a question that may look like a feature suggestion is too much, then fine, I will not ask such things anymore.

Finally, no hard feelings, but please consider being less hermetic, and maybe a tiny little bit more sympathetic for newcomers such as myself, without making any assumptions :) Good night.
Grown up playing/learning to program Atari 130XE. FM synth and tech nerd. | github.com/nanoant
Lightwave
Atari maniac
Atari maniac
Posts: 91
Joined: Sun Dec 16, 2018 8:18 pm

Re: Atari 800 Core - keyboard free operation - Start, Select, Option on Joystick

Post by Lightwave »

I’m just an enthusiast the same as yourself, and have no relation to this project otherwise, so whatever I say is just my personal opinion :)

From what I have seen anyone is welcome to discuss features, but there is a strong, let’s say, “open source” attitude here, meaning “you are welcome to do it yourself”. This project is still under heavy development and is very much for people who want to get in and tinker and get their hands dirty and configure and test and figure things out. I wouldn’t take it personally if your idea isn’t picked up for now.

P.S. There is a “Classic Gaming” Discord chat that apparently has a large group of MiSTer users, it may have a more friendly/helpful feel than the MiSTer forum (haven’t tried it yet myself).
Sorgelig
Ultimate Atarian
Ultimate Atarian
Posts: 6348
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: Atari 800 Core - keyboard free operation - Start, Select, Option on Joystick

Post by Sorgelig »

My answer was pretty much polite and generic describing why it needs the keyboard.
I just see unusual overreaction from ono.
User avatar
ono
Atariator
Atariator
Posts: 20
Joined: Sun Aug 18, 2019 11:22 am
Location: Switzerland
Contact:

Re: Atari 800 Core - keyboard free operation - Start, Select, Option on Joystick

Post by ono »

Lightwave wrote:(...) P.S. There is a “Classic Gaming” Discord chat that apparently has a large group of MiSTer users, it may have a more friendly/helpful feel than the MiSTer forum (haven’t tried it yet myself).
I really appreciate your kind response. I will look there too, thanks. Also, there's Facebook group I have recently joined too. It seems to be created by Sorgelig, so I need to watch my tongue. :lol:
Sorgelig wrote:My answer was pretty much polite and generic describing why it needs the keyboard. I just see unusual overreaction from ono.
If "overreaction" means emotions then I was not emotional. I have absolutely no bad feelings, whatsoever. I am just a bit stubborn though, not giving up easily. :shrug: And just to tease you a little bit more - you may look (or even try to correct) "console" definition at https://en.wikipedia.org/wiki/Video_game_console which states it is a "computer device", while you seem to treat a "computer" and a "console" as exclusive (disjoint) entities.

Summarizing our discussion: (me): can we map Atari 800 console keys (as Start/Shift/Option/Reset function keys are often [incorrectly?] called) on the gamepad? (you): no, because it is a "computer" not "console".

I hope you see little contradiction there :wink: Anyways, please don't take it as a criticism, I really respect your work and I really enjoy using MiSTer. Cheers.
Grown up playing/learning to program Atari 130XE. FM synth and tech nerd. | github.com/nanoant
foft
Atari freak
Atari freak
Posts: 61
Joined: Fri Mar 14, 2014 6:19 pm

Re: Atari 800 Core - keyboard free operation - Start, Select, Option on Joystick

Post by foft »

For the mcc guys I implemented support for the torrid joypad, with start, select, option, reset and menus mapped to buttons. This is still in the main core firmware. Note that this is not used on the mister since it has a common menu handling and usb setup. I just mention it since it has been done elsewhere and works pretty well.

Regarding drive speed you need a patched os to use it most effectively. Some software also has its own support. https://www.horus.com/~hias/atari/#hipatch
I think the speeds are pokey divisor, lower = faster. Some software is incompatible with very low divisors eg Sparta dos.
Locked

Return to “MiSTer”