Jump to content
IGNORED

Use Your 8-Bit as a Keyboard to the Emulator?


Recommended Posts

So many great ideas. The only thing is that they all stray from the initial idea of using the A8 as a serial terminal to the emulator.

 

It's not mutually exclusive. If you get the atari keyboard to act like a PC keyboard then it would work with emulators too. I don't see the point in making it only work within the emulator environment.

Link to comment
Share on other sites

I wrote that R: faq, so I suppose I should address it... ;)

 

Under linux, it would be easy to create a K: patch like the R: patch that reads from /dev/ttyS0 or whatever serial port you want. The emu is setup to patch the OS every video frame. Make the K: patch write to all the shadow registers correctly.

 

On the real atari, you would need to create a small program that you load that pipes K: to R: or run a terminal program. Running a terminal program will not allow you to pass the console keys to the EMU, however.

 

But.... if you write your own "Terminal" that pipes K: to R:, you could also read the console keys and create an escape sequence (like 0x1b0x01 for Start, 0x1b0x02 for Select, 0x1b0x03 for Option) to send across the R: that tells the other end (EMU K: patch) to update the console register.

 

 

If possible you'd want the protocol to be similar to the PDA keyboards. They have separate keycodes for key down and key up. That way you can detect multiple keypresses.

Link to comment
Share on other sites

Reset only goes to the relevant Reset lines on 6502, Antic etc.

 

Start/Option/Select are independant and have their own dedicated pins on GTIA. Help is just part of the normal key matrix (to Pokey).

 

The on/off description sounds like some sort of grounding issue?

 

You're right, I said POKEY but should have said GTIA. Apparently, when the Hagstrom is without power, some lines become grounded. That may explain why video is affected. Now your comment gives me an idea: maybe my "PC--1200xl" switch is in the wrong place. Instead of isolating the Hagstrom from the PC in ATARI mode, the switch should isolate the Hagstrom from the GTIA. I'll try that tonight.

Link to comment
Share on other sites

I'd advise to leave the Reset key out of the equation - since it's connected to all variety of chips in the Atari, there's potential for trouble there.

 

I think the GTIA inputs probably do get grounded when the keys are pressed - like the joysticks, ie they return a logic 0 to the relevant hardware registers.

But still, I guess you'd lose a lot of functionality without them, on a 1200XL they'd do nicely as substitutes for Alt, and the Windows keys.

Link to comment
Share on other sites

So many great ideas. The only thing is that they all stray from the initial idea of using the A8 as a serial terminal to the emulator.

 

It's not mutually exclusive. If you get the atari keyboard to act like a PC keyboard then it would work with emulators too. I don't see the point in making it only work within the emulator environment.

 

I agree... all you need is a driver telling the PC how to read data from the A8 keyboard.

Link to comment
Share on other sites

Personally, I don't really see the point of the entire exercise beyond being some gimmick with novelty value that wears off within 5 minutes.

 

You may as well just put a video capture card in the PC and run the real Atari through that - the end-user experience would be almost identical.

 

And, having a terminal environment on a real machine acting as keyboard on the emulated machine, to be done properly, would probably need the emulator itself to be extensively modified.

 

Driver telling the PC how to treat data from the real Atari? Well, you already have things like DirectpadPro which can do that sort of thing, along with some of the other ideas that have sensibly been presented, and rejected by some for rediculous reasons.

Link to comment
Share on other sites

I'd advise to leave the Reset key out of the equation - since it's connected to all variety of chips in the Atari, there's potential for trouble there.

 

I think the GTIA inputs probably do get grounded when the keys are pressed - like the joysticks, ie they return a logic 0 to the relevant hardware registers.

But still, I guess you'd lose a lot of functionality without them, on a 1200XL they'd do nicely as substitutes for Alt, and the Windows keys.

That's one of the reasons for using a detached A8 keyboard instead of a whole A8 - don't emulators already emulate the A8's custom chips? Just provide them with the input signals they need.

 

Personally, I don't really see the point of the entire exercise beyond being some gimmick with novelty value that wears off within 5 minutes.

 

You may as well just put a video capture card in the PC and run the real Atari through that - the end-user experience would be almost identical.

In fact, I've done that - the only reason the A8 isn't currently connected to the capture card is because I connected the DVD player instead. Now that the DVD player isn't working, I could connect the A8 again...

And, having a terminal environment on a real machine acting as keyboard on the emulated machine, to be done properly, would probably need the emulator itself to be extensively modified.

 

Driver telling the PC how to treat data from the real Atari? Well, you already have things like DirectpadPro which can do that sort of thing, along with some of the other ideas that have sensibly been presented, and rejected by some for rediculous reasons.

Hmmm, I'd like to hear more about that...

Edited by machf
Link to comment
Share on other sites

Soooo, basically what all of you are saying is that no one here knows how to write a device driver for a 29 year old computer. I bet you all would try harder if you were attempting to redirect your output to a 29 year old woman, though.

 

ROFL.

 

= )

 

 

I'm totally not against the hardware solution. This was just an idea for an interim solution on my part, to feed my sloth & keep me from having to solder 75+ keys to a PC's USB keyboard's logic board.

 

In the mean time, I'm still looking up device handler creation how-tos, because I'd like the option of having an Atari serial terminal handler, as described.

 

To do the hardware keyboard, it would have to be done right, and this means including a CX-85 Numeric Keypad. It would all be wired direct, to the guts of a PC keyboard, and put into a pretty Minwaxed wooden case. I designed a mockup prototype, which you will find in the attachment.

 

I'd like your input on key layout, the design so far is pretty much complete, but the final version will have PC function keys on the top, and will have some kind of solution for the other PC keys, maybe on the top, as well. I'll have to toy with it, from a usability standpoint.

 

It may as well have an LPTjoy built in, too.

 

This will be a full USB replacement keyboard for any PC.

 

I'm going to build two for myself, and if anyone's interested, I may build more. Between parts & the time needed to make the cases & solder the terminals, they may be pricey, though, but that's futurestuff.

 

Enjoy, and let me hear your thoughts about having something like this on your desk.

 

 

L8R.

post-7682-1213737205_thumb.jpg

Link to comment
Share on other sites

Soooo, basically what all of you are saying is that no one here knows how to write a device driver for a 29 year old computer. I bet you all would try harder if you were attempting to redirect your output to a 29 year old woman, though.

 

ROFL.

 

= )

 

 

I'm totally not against the hardware solution. This was just an idea for an interim solution on my part, to feed my sloth & keep me from having to solder 75+ keys to a PC's USB keyboard's logic board.

 

In the mean time, I'm still looking up device handler creation how-tos, because I'd like the option of having an Atari serial terminal handler, as described.

 

To do the hardware keyboard, it would have to be done right, and this means including a CX-85 Numeric Keypad. It would all be wired direct, to the guts of a PC keyboard, and put into a pretty Minwaxed wooden case. I designed a mockup prototype, which you will find in the attachment.

 

I'd like your input on key layout, the design so far is pretty much complete, but the final version will have PC function keys on the top, and will have some kind of solution for the other PC keys, maybe on the top, as well. I'll have to toy with it, from a usability standpoint.

 

It may as well have an LPTjoy built in, too.

 

This will be a full USB replacement keyboard for any PC.

 

I'm going to build two for myself, and if anyone's interested, I may build more. Between parts & the time needed to make the cases & solder the terminals, they may be pricey, though, but that's futurestuff.

 

Enjoy, and let me hear your thoughts about having something like this on your desk.

 

 

L8R.

 

Not to disparage your idea, but why reinvent the wheel. With my programmable keyboard encoder approach, you can leave everything in it's Atari computer case (including the numeric keypad) and have the Atari look as well as feel for your keyboard. The bugs I made reference to with my system exist only because I am using my 1200xl as a remote PC keyboard AND as a fully functioning 1200xl. As simply a remote PC keyboard, it works flawlessly.

Link to comment
Share on other sites

Nice. How about matching an 83-key keyboard design? Since even with the CX-85, the Atari is still several keys away from a 101/102-key one...

 

Anyway, here's the layout of a US 101-key one:

101keykbid1.th.png

 

You'll notice that the key matrix actually is designed for 126 (possibly even 130), but not all are used, with some keys taking up the space corresponding to neighboring points in the matrix. As long as you can have a similar matrix with the Atari keyboard(s) regarding the number of rows and columns of the matrix (looks like 8 rows, 16 columns - so that means the matrix was designed for up to 128 keys; the A8s have an 8x8 matrix, plus additional keys), it doesn't really matter where each character is located - you can tell both Windows and DOS what keypresses correspond to which characters as if you were using a keyboard from a different language.

kbdlogicqr7.th.png

Link to comment
Share on other sites

Not to disparage your idea, but why reinvent the wheel. With my programmable keyboard encoder approach, you can leave everything in it's Atari computer case (including the numeric keypad) and have the Atari look as well as feel for your keyboard. The bugs I made reference to with my system exist only because I am using my 1200xl as a remote PC keyboard AND as a fully functioning 1200xl. As simply a remote PC keyboard, it works flawlessly.

 

If it was important enough to maintain the native 1200XL functionality, sure. Personally, I'm after the 1200XL key FEEL more than anything else. I'd pay good money for a detachable PC keyboard which was comprised of a cannibalized 1200XL keyboard side by side with a CX-85 that I could sit on my lap. The mock looked cool but that one is an 800 keyboard, not the 1200XL one. The 1200XL has the extra F1-4 and help keys which would map better to the PC. It also has the LEDs that could be used with caps lock and NUM lock.

Link to comment
Share on other sites

XEP80 type emulation would be a worthy cause, I think.

 

Also, I should have mentioned, there's already a hardware device out there which can let you control the real Atari keyboard and joysticks via PC, although the keyboard part requires a driver on the A8 side.

 

It often shows up on eBay - it's also compatible with the Amiga and a couple of other systems, IIRC.

 

 

As for doing funky stuff on the emulator - consider the "ENTER" command. Essentially what it does is tell the Atari to get it's input from a file rather than the E: device.

 

Aside from entering programs, it does have some flexibility to do other things.

 

In regards to that ebay item you mentioned, the auction ends today: http://cgi.ebay.com/ws/eBayISAPI.dll?ViewI...em=320262511361

 

It does the 1040ST keyboard using parallel port (no drivers required). It does the PS/2 keyboard using parallel port (no drivers required). It does the Amiga keyboard (no drivers required). It does the Atari 400/800/XL console keys (no driver required), but for the rest of the Atari 400/800/XL analog keyboard, it uses a 256-byte driver that runs during VBI and uses the 764 method as RyBags already hinted at.

 

I'm sure you can drive the PS/2 keyboard connector flawlessly from the Atari joystick port if you built your own custom cable as Yorgle was explaining. I was able to simulate the PS/2 keyboard flawlessly from another PC using DOS version of MPDOS. Windows had some problems as certain keys like CTRL-ALT-DEL require switching to RING 0.

 

Then again, using an Atari keyboard on a PC on an emulator is like playing with fake jewelry-- the reverse is better (as far as Atari low-level programming fans go).

Link to comment
Share on other sites

Yep, that's the one. I've seen them a number of times so maybe he makes them in batches and puts them up.

 

Surely there must be some doco around on how the PS-2 protocol works.

 

ed - and Google delivers, first hit:

 

http://www.computer-engineering.org/ps2protocol/

 

Well, after a quick read, one setback already. It uses 1x "0" start bit, 8x data, 1x parity, 1x"1" stop bits. So, using SIO is out as it doesn't have support for parity.

Then there's the bus control. The PC pulls the clock line low as a signal it wants to send a command.

 

Luckily, the clock itself is generated by the peripheral, and must be in the 10-16.7 KHz range. That equates to a little under one scanline of "Atari time" at the higher speed.

 

So, it could be done. Either a mix of WSYNC and cycle counting, or Pokey Timers.

Edited by Rybags
Link to comment
Share on other sites

XEP80 type emulation would be a worthy cause, I think.

 

Also, I should have mentioned, there's already a hardware device out there which can let you control the real Atari keyboard and joysticks via PC, although the keyboard part requires a driver on the A8 side.

 

It often shows up on eBay - it's also compatible with the Amiga and a couple of other systems, IIRC.

 

 

As for doing funky stuff on the emulator - consider the "ENTER" command. Essentially what it does is tell the Atari to get it's input from a file rather than the E: device.

 

Aside from entering programs, it does have some flexibility to do other things.

 

In regards to that ebay item you mentioned, the auction ends today: http://cgi.ebay.com/ws/eBayISAPI.dll?ViewI...em=320262511361

 

It does the 1040ST keyboard using parallel port (no drivers required). It does the PS/2 keyboard using parallel port (no drivers required). It does the Amiga keyboard (no drivers required). It does the Atari 400/800/XL console keys (no driver required), but for the rest of the Atari 400/800/XL analog keyboard, it uses a 256-byte driver that runs during VBI and uses the 764 method as RyBags already hinted at.

 

I'm sure you can drive the PS/2 keyboard connector flawlessly from the Atari joystick port if you built your own custom cable as Yorgle was explaining. I was able to simulate the PS/2 keyboard flawlessly from another PC using DOS version of MPDOS. Windows had some problems as certain keys like CTRL-ALT-DEL require switching to RING 0.

 

Then again, using an Atari keyboard on a PC on an emulator is like playing with fake jewelry-- the reverse is better (as far as Atari low-level programming fans go).

 

I'm confused. Isn't the goal here to use an ATARI keyboard as a primary keyboard for a PC? This device seems to be the other way around, i.e., allowing PC keyboard, mouse, etc. to be used for an ATARI. Did I miss something in the description?

Link to comment
Share on other sites

The discussion seems to have branched out, so multiple options have been discussed.

 

The MPDOS gizmo with all the cables (and PC-side software) allows a PC to directly/indirectly control device inputs of the A8 or various other systems (some with, some without extra software).

 

 

As for the other way around - largely unexplored territory there, and there's a number of options being discussed.

Link to comment
Share on other sites

The engineering, ergonomic, & manufacturing quality standards of the keyboard on the 800 are excellent. Very few other keyboards come close.

 

You have to remember that a lot of the engineers working at Atari initially had made their way from Englebart's team at Stanford/SRI/BBN to Xerox PARC, then to Atari. Atari had some of the best human/computer interface usability standards because of it.

 

If you also consider the R&D involved in their coin-op division, specifically Tempest, Missile Command, Centipede, & Battlezone, and countless others, they were using interface metaphors that hadn't been seen elsewhere, they were truly in a class by themselves at that time. They were the future, and frankly the future never caught up with 1979-1982 Atari.

 

After the 1200XL came out, the company's focus changed.

 

A lot of people really like the 1200XL's keyboard. I like it better than any of the later XLs & XEs, but it should be noted that this keyboard marked the introduction of mylar into the design. The 800 had physical spring mechanisms.

 

The keystroke length, springiness of the key return, fully & markedly concave keycaps, key height, keyboard height, key weight, key-spacing, space to the spacebar, type of smooth plastic used, non-clankiness (very quiet), everything down to the psychological effects of the color-scheme were all characteristics that set the 800 keyboard apart from others.

 

When it was developed, Atari spent enormous sums on Basic R&D. I would imagine that the early SRI & PARC computers had similar keyboards, since the tech migrated from SRI. Really, at that time, Atari was PARC, but with more money to pay employees.

 

The 800 keyboard has the same feel as the Roland Alpha Juno 2/JX-10 Synth keyboards. Some like it, some hate it. All I know is that those are the two best keyboards that I've ever used. I can type/play faster on those two than anything made since.

 

Today's keyboards are mass-produced variants of the IBM keyboard. They all suck equally. The people at SRI were using systems that were so far ahead of their time that it makes your head spin. What was IBM doing in 1968... certainly not this!

 

This is why I'd like an 800 keyboard again. It was made by people who cared about usability.

 

 

Anyway, I'm going to make it so it works with USB because PS/2 won't be on future systems, and if I'm going to go through all of the effort involved in mating an Atari keyboard to a logic board, I want it to be my personal keyboard that I can migrate to future systems.

 

I've been experimenting with the placement of the function keys in the mock-up. I'm going to go with the old Sun keyboard style, with vertical keyrows all the way to the left. The 101 key look doesn't mesh at all with the beauty of the 800 layout.

 

Enjoy "The Mother of All Demos" videos, they are a real Reality Check!

 

 

L8R.

Edited by UNIXcoffee928
Link to comment
Share on other sites

I've been experimenting with the placement of the function keys in the mock-up. I'm going to go with the old Sun keyboard style, with vertical keyrows all the way to the left. The 101 key look doesn't mesh at all with the beauty of the 800 layout.

So, it's going to look more like an 83-key keyboard after all...

Link to comment
Share on other sites

A lot of people really like the 1200XL's keyboard. I like it better than any of the later XLs & XEs, but it should be noted that this keyboard marked the introduction of mylar into the design. The 800 had physical spring mechanisms.

 

I've never personally owned an 800 but from memory it felt quite similar to the 1200. Maybe the 1200 springs were a little looser. It has a pretty light touch. I'm not sure how the mylar makes much of a difference on the 1200. It's already stood the test of time. I've never had a key 'wear out' on the 1200XL.

 

I've been experimenting with the placement of the function keys in the mock-up. I'm going to go with the old Sun keyboard style, with vertical keyrows all the way to the left. The 101 key look doesn't mesh at all with the beauty of the 800 layout.

 

What are you going to use for the function keys, then? Maybe just use two keypads, one to the left and one to the right?

Link to comment
Share on other sites

Ok, after a lot of experimentation, I've come up with a PC layout that seems decent.

 

Function keys are to the left, Sun style, the rest is a mashup of Atari & 101 style.

 

the depth is less than a 101, but it is a bit wide. I'm not entirely happy with the ALT & Windows keys being by the spacebar, but they fit.

 

I'm going to keep optimizing this a bit before I have a final design. I like the stark simplicity of the first mockup, however, to be realistic, a modern keyboard needs the modern keys, if it's going to completely replace a PC keyboard.

 

So this is one way that it could look, but I'm going to keep tweaking it.

 

 

Anyone have good links for prices on replacement 800 & CX-85 keyboards? The best prices that I've found are $20.00 for the 800 & $6.00 for the CX-85.

 

 

Let me know what you think about the length of this keyboard. Is an extra 3.5 inches, width-wise, really a big deal?

 

 

L8R.

post-7682-1213817133_thumb.jpg

Link to comment
Share on other sites

You could also use a serial IO wedge software package to redirect serial input from the PC com port to any application:

 

http://www.billproduction.com/

 

I have not tried it, but you could turn on the 8bit with a terminal program, and 850 interface connected to the PC via a null modem cable and control any application... in theory....

 

This is the way it should be: Atari in control of the PC! ;)

 

 

screenshot_lite.jpg

Edited by Cybernoid
Link to comment
Share on other sites

I still think an 83-key keyboard could do it...

 

83keykbya8.th.png

 

Even the CTRL key lies on the same place, and the + and - keys on the number pad are the same size as the CX-85's.

 

About those ALT & WIndows keys... don't forget the right CTRL key too, if you're going with that 101-key-style layout there's still enough space for it next to them.

Link to comment
Share on other sites

You could also use a serial IO wedge software package to redirect serial input from the PC com port to any application:

 

http://www.billproduction.com/

 

I have not tried it, but you could turn on the 8bit with a terminal program, and 850 interface connected to the PC via a null modem cable and control any application... in theory....

 

This is the way it should be: Atari in control of the PC! ;)

 

 

screenshot_lite.jpg

 

Forgive my ignorance, but do I understand this idea correctly...? The IO wedge would tell a specific PC application, e.g., an A8 emulator, a wordprocessor, etc., to take it's keyboard inputs from the COM port instead of the pc keyboard? Could the IO wedge be set up so that ALL pc applications would automatically look to the COM port (i.e., the Atari/850) for keyboard input? If so, that sounds exactly like what I was trying to accomplish with my programmable encoder approach. And hey, I just picked up an 850 off ebay for $9.00...

Link to comment
Share on other sites

Here's another approach. Use 1200 style function keys, and put the rest of the PC keys on the top row. This shortens the keyboard to a decent size. Sheet metal could be used for the case, here it is in black. You can stain wood black, and it looks nice too, just use India ink. & coat it with clear acrylic. I think that chromed plastic automotive siding could make nice XL-ish keycaps for the top row.

post-7682-1213831527_thumb.jpg

Link to comment
Share on other sites

You could also use a serial IO wedge software package to redirect serial input from the PC com port to any application:

 

http://www.billproduction.com/

 

I have not tried it, but you could turn on the 8bit with a terminal program, and 850 interface connected to the PC via a null modem cable and control any application... in theory....

 

This is the way it should be: Atari in control of the PC! ;)

 

Forgive my ignorance, but do I understand this idea correctly...? The IO wedge would tell a specific PC application, e.g., an A8 emulator, a wordprocessor, etc., to take it's keyboard inputs from the COM port instead of the pc keyboard? Could the IO wedge be set up so that ALL pc applications would automatically look to the COM port (i.e., the Atari/850) for keyboard input? If so, that sounds exactly like what I was trying to accomplish with my programmable encoder approach. And hey, I just picked up an 850 off ebay for $9.00...

 

 

 

Yeah, I think so, I downloaded the software and will play around with it. I will let you know what I find out.

 

I think you can configure it to take input from Com ports or TCP/IP sockets and redirect to any PC application. Pretty cool!

 

Hell of a back door into someone's computer though! :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...