Jump to content
MHaensel

Model I typing speed

Recommended Posts

On an emulated Model I in trs80gp, keyboard response is slow. Level I basic goes maybe 2 keys per second before letters get dropped. Level II basic is a little better. Level II DOS is fine up to about 40 wpm, but if I go faster it still drops characters.

 

Is the emulator being faithful to the original? Is a real model I like this?

Share this post


Link to post
Share on other sites

I've wondered about this myself.  Level I will definitely have a limited typing speed as the ROM doesn't implement "N-key rollover".  Which means that a key won't be recognized if another key is held down at the same time.  And when one is typing quickly the key presses definitely overlap.

 

Comparing against my Model I the keyboard input seems to be about the same as trs80gp.  Might be a little clunkier but feels like it roughly the same.  Level II is definitely substantially better than Level I which seems different from what you're reporting.

 

I'm trying this out on Windows.  What platform do you run the emulator on?

Share this post


Link to post
Share on other sites
Posted (edited)

I just fired up my physical model 1 with lvl2 and I typed as fast as i could and never dropped a key

 

Edited by rietveld

Share this post


Link to post
Share on other sites

There's definitely something going on here, the trick is to quantify it and eliminate the bug.  "Typing fast" is a little hard to judge and whether or not keys are dropped depends on the skill of the typist.

 

I found this sequence highlights the differences:

Hold the 'U" key.

Press 'I' and 'O' simultaneously.

 

In trs80gp the 'O' will almost always be dropped.  But I can confirm the 'O' key is down not only because I'm holding it but also because the software keyboard shows it down (in other words, the emulator has been given all the key switch changes).  There is some need to be careful with that because it doesn't take too many simultaneous key presses for your average PC keyboard to ignore keys.

 

On my Model I in Level II ROM BASIC the 'O' will sometimes drop but quite rarely.

 

My guess is that the 'O' drops when the 'I' and 'O' are both seen down at the same time by the ROM keyboard scanning routine.  It'll see the 'I', send it for output and be done.  But it has recorded 'O' as being down so it ignores it on the next pass thinking it has been processed.

 

If the keyboard is scanned more than 60 times a second then on a real machine the difference between the 'I' and 'O' press times will need to be very small.

 

But since trs80gp only updates the keyboard once per frame it is easier to make the keys appear to press simultaneously.  It is possible that somewhere along the line from keyboard to the emulator the timing of key presses becomes even more quantized.

 

I'll have to see if there is better timing available or if there's some way to separate the key presses in time without fudging things too much.

Share this post


Link to post
Share on other sites
2 hours ago, George Phillips said:

There's definitely something going on here, the trick is to quantify it and eliminate the bug.  "Typing fast" is a little hard to judge and whether or not keys are dropped depends on the skill of the typist.

 

I found this sequence highlights the differences:

Hold the 'U" key.

Press 'I' and 'O' simultaneously.

 

In trs80gp the 'O' will almost always be dropped.  But I can confirm the 'O' key is down not only because I'm holding it but also because the software keyboard shows it down (in other words, the emulator has been given all the key switch changes).  There is some need to be careful with that because it doesn't take too many simultaneous key presses for your average PC keyboard to ignore keys.

 

On my Model I in Level II ROM BASIC the 'O' will sometimes drop but quite rarely.

 

My guess is that the 'O' drops when the 'I' and 'O' are both seen down at the same time by the ROM keyboard scanning routine.  It'll see the 'I', send it for output and be done.  But it has recorded 'O' as being down so it ignores it on the next pass thinking it has been processed.

 

If the keyboard is scanned more than 60 times a second then on a real machine the difference between the 'I' and 'O' press times will need to be very small.

 

But since trs80gp only updates the keyboard once per frame it is easier to make the keys appear to press simultaneously.  It is possible that somewhere along the line from keyboard to the emulator the timing of key presses becomes even more quantized.

 

I'll have to see if there is better timing available or if there's some way to separate the key presses in time without fudging things too much.

when i hold the U then press IO i get UIOIOIOIOIOIO i did this all the way down the screen without a miss in the pattern 

Share this post


Link to post
Share on other sites

I dont think it should matter but I am using a Model 1 with internal 48k mod and lowercase mod

Share this post


Link to post
Share on other sites

Interesting! I'm running the emulator on Windows.

 

Here's a way to recreate what I'm doing:

  1. Open trs80gp as a Level I model I.
  2. Open the soft keyboard.
  3. Drag the soft keyboard to one side, use it to monitor which keys are being pressed on the host keyboard.
  4. Click to put the focus on trs80gp.
  5. Tap "R" repeatedly as fast as you can.
  6. Hit enter to go to the next line.
  7. Tap "RU" repeatedly. Start slow and speed up until the Model I starts dropping characters.
  8. Hit enter to go to the next line.
  9. Tap "RUN" about the same speed. The Model I has serious trouble.
  10. Slow down tapping "RUN" until the Model I keeps up.

The rollover thing was a smart idea, but I don't think that's causing the problem. I don't see much difference if I'm very careful to press keys separately, or if I drag my fingers to intentionally induce rollover. Of course, there's several layers of software between my laptop keyboard and the emulated Model I . . .

Share this post


Link to post
Share on other sites
9 hours ago, MHaensel said:

Interesting! I'm running the emulator on Windows.

 

Here's a way to recreate what I'm doing:

  1. Open trs80gp as a Level I model I.
  2. Open the soft keyboard.
  3. Drag the soft keyboard to one side, use it to monitor which keys are being pressed on the host keyboard.
  4. Click to put the focus on trs80gp.
  5. Tap "R" repeatedly as fast as you can.
  6. Hit enter to go to the next line.
  7. Tap "RU" repeatedly. Start slow and speed up until the Model I starts dropping characters.
  8. Hit enter to go to the next line.
  9. Tap "RUN" about the same speed. The Model I has serious trouble.
  10. Slow down tapping "RUN" until the Model I keeps up.

The rollover thing was a smart idea, but I don't think that's causing the problem. I don't see much difference if I'm very careful to press keys separately, or if I drag my fingers to intentionally induce rollover. Of course, there's several layers of software between my laptop keyboard and the emulated Model I . . .

i dont have a model 1 emulator setup on my pc right now

 

Share this post


Link to post
Share on other sites

I think the question is, do you see the same thing on your Model I? Do you have to tap keys for "RUN" much slower than "RU" when repeated?

 

Also, congrats on having a real Model I!

Share this post


Link to post
Share on other sites

@GeorgePhillips thanks for the real-life test. It's not a big problem, I mostly paste code in from a Windows text editor.

Share this post


Link to post
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...