Jump to content

PS/2 / USB discussion (split from What's the state of play with serial port support?)


Andre
 Share

Recommended Posts

On 8/27/2020 at 7:45 AM, Michael Steil said:

And unless you have disabled the default IRQ handler, you don't need to call $FF53. Also, the reason you have to call $FF56 to get the state is because I want to move away from magic memory locations. Even the VIC-20 had an API to query the size of the screen, but it lacked calls for more advanced functionality. For the X16, I want to expose as much as possible/necessary through calls, so I have more freedom changing the memory layout in the future.

When I read about polling the controllers, I thought that it was sinful moving away from memory-mapped I/O.  But then I remember (once again) a video by 8-bit Show and Tell where the "1nvader" programmer had to do what almost amounts to "de-bouncing" the joystick fire button to avoid false triggerings.

And, I was glancing over Woz' tiny monitor, and I see that in order to print stuff to the Apple's screen, he has to explicitly check the state of the display driver.  Whereas we simply have to jsr $ffd2.

So, bring on the routines.  This is fine.

Edited by rje
  • Like 1
Link to comment
Share on other sites

On 8/27/2020 at 8:45 PM, Michael Steil said:

And unless you have disabled the default IRQ handler, you don't need to call $FF53. Also, the reason you have to call $FF56 to get the state is because I want to move away from magic memory locations. Even the VIC-20 had an API to query the size of the screen, but it lacked calls for more advanced functionality. For the X16, I want to expose as much as possible/necessary through calls, so I have more freedom changing the memory layout in the future.

Though shift / control was always by magic memory locations, even when you called the KERNAL, since SCNKEY put the keyboard scan value in a magic memory location, return shift/control/commodore status in a register and put the key in the keyboard buffer, which was another magic memory location.

It would be lovely if SCNKEY returned full shift/roll-over information with a shift mask and the number of keys in the keyboard event in A, 0 if no key is pressed, b7=Shift b6=Ctrl b5=Cmndr, b0-b2 number of roll-over keys, with the address of the rollover keys (normally 0 or 1) in XY.

Edited by BruceMcF
Link to comment
Share on other sites

  • 2 weeks later...
On 8/27/2020 at 1:43 AM, BruceMcF said:

An opportunity to what, exactly? To have games limited to four directions and one fire button, and lose 5-6 out of 14 GPIO from the User Port?

That's mostly the opportunity to lose game developers for the CX16, because once you've gotten used to developing for a controller with an adequate number of inputs, going back to the Atari joystick with single fire button is very constraining.

Yes, I can understand that. It is just that anything Commodore (or Atari) is so (for me) tightly linked to that type of connector and style of joystick!

But I can see why you would like to have something better. In fact I did that even back in the days; As the Apple II+ (and not the Commodore/Spectrum/Atari) computers where my own machine growing up, I actually prefer/preferred the analogue joystick input those provided (way better than digital only directions). 🙂

  • Like 1
Link to comment
Share on other sites

My favorite joystick was the little one that stuck to the corner of my C64 with double sided tape and let me cursor around my word processor more conveniently than the cursor keys, though from the color it was obviously intended for pseudo mousing around GEOS on a C64C, not navigating TheWriteStuff from Busy Bee software on a first year breadbox.

I never did play a lot of games on it, though I eventually started to get less atrocious at Loderunner.  But I had very few of the commercial games that is the focus of a lot of retro C64 fans. Most of my games were type-in using the error-detecting program from one of the C64 magazines.

Edited by BruceMcF
  • Like 1
  • Haha 1
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.

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.

 Share

×
×
  • Create New...

Important Information

Please review our Terms of Use