Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to index page
Thread view  Board view
Japheth

Homepage

Germany (South),
09.08.2010, 07:18
 

CuteMouse v2.1b4 - some fixes (Announce)

CuteMouse v2.1b4 was converted by E. Auer to JWasm syntax in 2008. This version is slightly outdated now and, worse, won't assemble with newer versions of JWasm ( there was a patch posted in the FreeDOS mailing list, but this didn't cure all issues ).

Here's a fixed version:

http://www.japheth.de/Download/DOS/ctm21b4.zip

The source has been adjusted so it can be assembled by both JWasm and Masm. Also, TLINK has been replaced by OW WLINK if Masm is used - with JWasm, no linker is needed.

However, as for JWasm, usage of v2.04 is needed. In previous versions the ALIGN directive isn't handled exactly the way Masm does it, resulting in a .COM file which doesn't start at 100h.

---
MS-DOS forever!

swf

E-mail

Canada,
09.08.2010, 17:33

@ Japheth
 

CuteMouse v2.1b4 - some fixes

Thanks for this update Japheth
I have a request, can you please put on your to do list a conversion of Cute mouse to a JLM so that it could have a smaller DOS footprint. Yes I understand that this is a complex request but it would be a nice addition.
Best regards, Stephen.

Japheth

Homepage

Germany (South),
10.08.2010, 06:54

@ swf
 

CuteMouse v2.1b4 - some fixes

> Yes I understand that this is a complex request but it would be a nice addition.

It's probably too much work - just for gaining 3 kB extra memory.

DOSLFN might be a better candidate - but there's the problem that it's not even reliable to use in its current state.

---
MS-DOS forever!

Arjay

10.08.2010, 09:34
(edited by Arjay, 10.08.2010, 12:04)

@ swf
 

CuteMouse v2.1b4 - support for 2 mice? OptiMAME/OptiMouse

> Thanks for this update Japheth
Indeed thanks Japheth.

> I have a request,
Likewise, I remembered there was modified branch of CuteMouse called OptiMAME aka OptiMouse aka "MAME extended mouse driver" by arcadecontrols.com's DOS cabinet guru Andy Geez (aka Andrew Lewis) which was based on CuteMouse v1.6 source and supported 2 mice for DOS MAME.

I stumbled across Optimouse one day years ago and used it to added experimental 2nd mouse support to one of my own DOS programs. How to re-use it outside of MAME wasn't documented but it was possible to quickly work this out by simply looking at the OptiMouse source code. In brief it worked by extending Cutemouse's Int 33h handler slightly as I have partly show below:


;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
;                               INT 33 handler
;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ

handler         proc    far
                cmp     ax,1fh                  ; needed for unloading to work correctly
                je      @@do

                cmp     ax,100                  ; calls >=100 are secondary mouse driver
                jb      @olddriver              ; hack to make it call the existing driver

                sub     ax,100                  ; call to secondary driver

                cmp     ax,26h                  ; is it implemented?
                ja      @checkother             ; jump if not

@@do:

.
.

@olddriver:
;------------ Old handler

                IFz     <cs:word ptr oldint33[2]>,@iret ; is there another
                                                        ; INT 33 handler?
                jmp     cs:oldint33             ; call it if there is


Note: This is an rewritten post as I had trouble relocating OptiMouse as it has now been removed from the MAME site, see comments on Optimouse link above. Nor is there any clear mention of Optimouse on either the MAME previous version docs or old releases) pages. [EDIT] seems Windows MAME now uses cpnmouse? [/EDIT]

Still I have re-located Optimouse now and since this mod is very simple, I am wondering if you would thus be happy to include this useful mod into your new updated CuteMouse driver? (perhaps via an option?) that way dual mouse support for other DOS apps can be better supported going forward! Thanks!

See also this page for further information on app usage.
Also note in source "null proc" and a few other changes for other controllers.

bretjohn

Homepage E-mail

Rio Rancho, NM,
10.08.2010, 18:35

@ Arjay
 

CuteMouse v2.1b4 - support for 2 mice? OptiMAME/OptiMouse

> ... which was based on CuteMouse v1.6 source and supported 2 mice for DOS
> MAME.

When you say "support 2 mice", what exactly do you mean?

Are you talking about two separate and independent mouse cursors and, possibly, different button characteristics for each? This might be handy, for instance, in a situation where you have two separate monitors (a graphics monitor and a text monitor, which was a pretty common setup in the early days of CAD), as opposed to an "extended desktop" scenario like modern GUI OS's use.

Or, are you talking about a single mouse cursor, but having the ability to easily switch between different mice (right- and left-handed, mouse and trackball, "student" mouse and "teacher" mouse, "real" mouse and "remote control" (virtual/network) mouse, etc.).

The first is much more complicated, and an "extended" INT 33h API as you suggest is required. The second can already be done with my USBMOUSE program, and doesn't require any changes at all to CTMOUSE. USBMOUSE lets you use up to 8 USB mice and a PS/2 mouse at the same time. The "combining" of the mice occurs at the BIOS level (the level below where CTMOUSE operates).

Arjay

10.08.2010, 18:53

@ bretjohn
 

CuteMouse v2.1b4 - support for 2 mice? OptiMAME/OptiMouse

> When you say "support 2 mice", what exactly do you mean?
Good question.

> Are you talking about two separate and independent mouse cursors and,
> possibly, different button characteristics for each?
I was referring to supporting the use of 2 mice at the same time with independent characteristics which from memory (1999!) is how OptiMAME worked.

> This might be handy, for instance, in a situation where you have
> two separate monitors (a graphics monitor and a text monitor,
> which was a pretty common setup in the early days of CAD),
Yup. And by debuggers/BBS software which is how I used to use them myself.

> Or, are you talking about a single mouse cursor,
The former.

> The first is much more complicated, and an "extended" INT 33h API as you
> suggest is required.
Y, I'm was suggesting implementing OptiMAME's method into the main CuteMouse.

> The second can already be done with my USBMOUSE program,
Ok thanks for the heads up of that functionality.

ecm

Homepage E-mail

Düsseldorf, Germany,
10.08.2010, 19:04

@ Arjay
 

support for 2 mice?

> > Are you talking about two separate and independent mouse cursors and,
> > possibly, different button characteristics for each?
> I was referring to supporting the use of 2 mice at the same time with
> independent characteristics which from memory (1999!) is how OptiMAME
> worked.

Off topic: Does someone know about a program to use 2 mice this way on modern Windows NT versions?

Not so off topic: At least with Windows, you have to consider how to handle the "keyboard cursor" as well. That is, you can use one of your mice to direct your keyboard input to a particular window or form, but you can't use the mice fully independently if all your keyboard input goes to one form/window at a time. Indeed it would be better to have a second set of both input devices and then be able to direct the secondary keyboard using the secondary mouse. This would at least require a special handler/driver for the keyboard though, and probably intrinsic knowledge of or support by the user interface too.

BTW, something not off topic at all: Adding 100h to make secondary mouse calls is a nice hack, but not that great if you intend to use three mice.

---
l

Arjay

10.08.2010, 19:32

@ ecm
 

support for 2 mice? 3 mice etc. CPNMOUSE for Windows

> Off topic: Does someone know about a program to use 2 mice this way on
> modern Windows NT versions?
Well if you don't care about multiple cursors, just plug them in ! Re multiple cursors I briefly referenced one such program in my earlier post :) http://cpnmouse.sourceforge.net/

> BTW, something not off topic at all: Adding 100h to make secondary mouse
> calls is a nice hack, but not that great if you intend to use three mice.
heh. I have used 3 mice on a PC but not running DOS. I can see the uses for 2 mice under DOS, e.g. VGA Y-cable etc but 3 mice? Still why restrict on numbers, I do however think it would be good to include the 100h method as this was supported elsewhere (i.e. for backwards compatibility reasons).

ecm

Homepage E-mail

Düsseldorf, Germany,
10.08.2010, 19:38

@ Arjay
 

support for 2 mice? 3 mice etc. CPNMOUSE for Windows

> Well if you don't care about multiple cursors, just plug them in !

Well as I said I would like to have multiple cursors. That is what you talked about, isn't it?

> Re
> multiple cursors I briefly referenced one such program in my earlier post
> :)

Oh I read the RSS of it where you had not yet edited your post :-P Thank you anyway, I will look into it.

> I can see the uses for 2 mice [...] but 3 mice?

Just imagine something. Maybe three screens? Who knows. I don't like unnecessarily restricting new interfaces. Restricting implementations? Okay, but please make your interface able to be re-used later.

> I do however think it would be good to include the 100h method
> as this was supported elsewhere (i.e. for backwards compatibility reasons).

Good call.

---
l

Arjay

10.08.2010, 19:53

@ ecm
 

support for 2 mice? 3 mice etc. CPNMOUSE for Windows

> Oh I read the RSS of it where you had not yet edited your post :-P
Heh. So did you get the all the edits before or after I had relocated it? ;-P

> Just imagine something. Maybe three screens?
Heh, I think in multiple.

> Okay, but please make your interface able to be re-used later.
I agree and to be honest my post was more to reference the prior idea under DOS and to see if Jaspeth would be kind enough to include something similar. He's busy enough as it is, so I'm not expecting anything from anyone but thought I would at least share the basic idea and try to track down the modified CTMOUSE version which I had seen (which did eventually after a few edits as you know ;)]

> > as this was supported elsewhere (i.e. for backwards compatibility reasons).
> Good call.
Thanks. So it sounds like the idea might be a legacy MAME mode with a newer better future proof mode. e.g. for projects like http://advancemame.sourceforge.net/ who appear to continue to use DOS unlike MAME. Note: I don't actually use MAME in any form myself but tend to think improving things for all DOS users. I can see the usefulness of multiple cursor support etc under DOS as it would seem you / Bret can, I'll be honest though and can't say I have an immediate need for this myself tho.

bretjohn

Homepage E-mail

Rio Rancho, NM,
10.08.2010, 20:20

@ Arjay
 

support for 2 mice? 3 mice etc. CPNMOUSE for Windows

> I can see the usefulness of multiple cursor support etc under DOS as it would
> seem you / Bret can, I'll be honest though and can't say I have an
> immediate need for this myself tho.

I don't have an immediate (or even anticipated) need myself, either. Just trying to improve the experience for all DOS users.

I'm personally not sure I would like the idea of independent mice (including multiple mouse cursors) or independent keyboards (including keyboard cursors), if for no other reason than the amount of physical space required on the desk/table. I think the "virtual desktop" idea is better, but maybe that's just because it's something I'm already familiar with. If it ever got that far, it should probably be a user-selectable choice.

I really doubt that DOS (at the native OS level) will ever directly support multiple monitors, anyway -- DOS's current support of video output is, to put it politely, limited. Support of multiple monitors will probably always be an application-specific issue, not an OS issue.

ecm

Homepage E-mail

Düsseldorf, Germany,
10.08.2010, 20:35

@ bretjohn
 

support for 2 mice? 3 mice etc. CPNMOUSE for Windows

> I'm personally not sure I would like the idea of independent mice
> (including multiple mouse cursors) or independent keyboards (including
> keyboard cursors), if for no other reason than the amount of physical space
> required on the desk/table.

In case you're interested, my need would be to use one computer simultaneously with two users. I already have two screens, so this special mouse/keyboard driver would effectively split up the whole interface as if the two sets of screen/mouse/keyboard were two terminals. But without most of the software support and hardware required for a real terminal server. Anyway, even two mouse cursors without the keyboard splitting are useful for our need.

> I really doubt that DOS (at the native OS level) will ever directly support
> multiple monitors, anyway -- DOS's current support of video output is, to
> put it politely, limited.

For DOS, there's one screen and one keyboard. That's it. Anything beyond that (you see, even a single mouse) must be managed by additional drivers.

---
l

Arjay

10.08.2010, 20:57

@ ecm
 

support for 2 mice? 3 mice etc. CPNMOUSE for Windows

> For DOS, there's one screen and one keyboard. That's it.

Firstly as above don't forget MDA which as mentioned earlier. e.g. Turbo Debugger supported 2 monitors at the same time.

> Anything beyond
> that (you see, even a single mouse) must be managed by additional drivers.

Secondly this statement is false (or it depends how you look at things), e.g. when writing BBS software/doors people often used to think in this manner:

Int 10h, Int 16h = input/output method 1
Int 21h = input/output method 2

e.g. code snippet from my megapage BBS door which used ANSI (for color only but didn't actually need it) and didn't require any other drivers at all:


Procedure DoubleWrite(Text2Write:String);

Begin
  If USEANSI then
    Begin
      If SYSOP_is_Chatting then
        Begin
          If Last_Colour=SYSOP_Textcolour then
            Begin
            End
          else
            Begin
              ANSI_Textcolour(SYSOP_Textcolour);
              Textcolor(SYSOP_Textcolour);
            End;
          Last_Colour:=SYSOP_Textcolour;
        End
      else
        Begin
          If Last_Colour=USER_Textcolour then
            Begin
            End
          else
            Begin
              ANSI_Textcolour(USER_Textcolour);
              Textcolor(USER_Textcolour);
            End;
          Last_Colour:=USER_Textcolour;
        End;
    End;
  DisplayString(Text2Write);
  Write(Text2Write);
End;

ecm

Homepage E-mail

Düsseldorf, Germany,
10.08.2010, 21:04

@ Arjay
 

support for 2 mice? 3 mice etc. CPNMOUSE for Windows

> e.g. Turbo Debugger supported 2 monitors at the same time.

Application-level support is cheating though :-P I.e. that's not what we meant.

> Secondly it depends how
> you look at things, e.g. when writing BBS software/doors people often used
> to think in this manner:
>
> Int 10h, Int 16h = input/output method 1
> Int 21h = input/output method 2

This is interesting, although of course it isn't really support by DOS. The explanation, which took me a while, is that you're supposed to redirect the input and output of the application using DOS, so that some of the input and output will work with the redirected keyboard/screen, but some other input and output will work with the default devices used by the BIOS interfaces (Int10/Int16).

---
l

bretjohn

Homepage E-mail

Rio Rancho, NM,
10.08.2010, 21:07

@ ecm
 

support for 2 mice? 3 mice etc. CPNMOUSE for Windows

> In case you're interested, my need would be to use one computer
> simultaneously with two users. I already have two screens, so this special
> mouse/keyboard driver would effectively split up the whole interface as if
> the two sets of screen/mouse/keyboard were two terminals. But without most
> of the software support and hardware required for a real terminal server.
> Anyway, even two mouse cursors without the keyboard splitting are
> useful for our need.

I'm confused about what you're doing. Are you actually running two separate applications on the same computer at the same time, each on a separate monitor? Or is it just one application (something like a teacher/student session), where the same thing appears on both monitors, and you want the "teacher" to have a separate mouse cursor to point with but not necessarily actually do anything (including moving the "students" mouse cursor)?

ecm

Homepage E-mail

Düsseldorf, Germany,
10.08.2010, 21:15

@ bretjohn
 

support for 2 mice? 3 mice etc. CPNMOUSE for Windows

Yes, it's just two separate applications. So you might say I just want a cheap terminal server :P

---
l

Arjay

10.08.2010, 20:48

@ bretjohn
 

support for 2 mice? 3 mice etc. CPNMOUSE for Windows

> I really doubt that DOS (at the native OS level) will ever directly support
> multiple monitors, anyway
I think it is better to say multiple VGA monitors since obviously it has for years if you use a mono monitor and VGA at the same time. Unfortunately the lack of availability of modern MDA cards etc didn't exactly make things easy.

FYI: A number of my recent (as yet unreleased) updates have actually be coded on a multiple headed box using a VGA Y-cable etc. One screen on the desk and one screen next to a TV.

ecm

Homepage E-mail

Düsseldorf, Germany,
10.08.2010, 20:51

@ Arjay
 

support for 2 mice? 3 mice etc. CPNMOUSE for Windows

> I think it is better to say multiple VGA monitors since obviously it has
> for years if you use a mono monitor and VGA at the same time.

But how would DOS use both monitors at the same time, with different content? I'm not aware of any functionality like that.

---
l

ecm

Homepage E-mail

Düsseldorf, Germany,
10.08.2010, 20:30
(edited by cm, 10.08.2010, 20:48)

@ Arjay
 

support for 2 mice? 3 mice etc. CPNMOUSE for Windows

> > Oh I read the RSS of it where you had not yet edited your post :-P
> Heh. So did you get the all the edits before or after I had relocated it?
> ;-P

What. Oh I take it, RSS has another meaning I can't think of right now. EDIT: Wait did you mean "re-locate"?

> I can see the usefulness of multiple cursor support etc under DOS as it would
> seem you / Bret can, I'll be honest though and can't say I have an
> immediate need for this myself tho.

I'll be honest and say that actually I have a use for multiple cursors under Windows, and thus was interested enough in the concept to post. But even though I don't need it for DOS, I can always imagine someone might have a use for it.

---
l

marcov

11.08.2010, 15:48
(edited by marcov, 12.08.2010, 11:11)

@ Arjay
 

support for 2 mice? 3 mice etc. CPNMOUSE for Windows

> heh. I have used 3 mice on a PC but not running DOS. I can see the uses
> for 2 mice under DOS, e.g. VGA Y-cable etc but 3 mice? Still why restrict
> on numbers, I do however think it would be good to include the 100h method
> as this was supported elsewhere (i.e. for backwards compatibility reasons).

Actually X (the Linux/FreeBSD GUI system) got support for unlimited mice and keyboards.

The reason was the explosion of cheap videocards that have _many_ video (monitor) connectors, which allows, combined with mice and kbd (via USB quite many can be connected on std hw) to a multiple terminal situation on one system.

Like the mainframes of old, but with a Eur 500 Dell computer and two Eur 100 videocards you can connect many.

It's a solution for preemptive multitasking systems though.

Arjay

10.08.2010, 20:10

@ ecm
 

RS232 to keyboard / interesting keyboard hardware interfaces

> This would at least require a special
> handler/driver for the keyboard though, and probably intrinsic knowledge of
> or support by the user interface too.
In terms of hardware it is worth noting keyboard barcode scanners, e.g. wedge scanners. For example I have a 2 * RS232 to keyboard converters (as well as a few barcode scanners) which are useful for taking the RS232 input from one PC and stuffing it into the input of another PC. Can't remember if I mentioned them on this forum but Keelog have also released several "open source" hardware keyboard loggers, e.g. http://www.keelog.com/diy.html along with various technical information on keyboards which they have collected.

See also: Electronics-lab blog: RS232 to PS/2 Interface / RS232 to SPI interface / RS232 to I2C interface

Interesting in the sense that often it is natural to think in terms of software for a solution when there is also some interesting hardware available as well.

ecm

Homepage E-mail

Düsseldorf, Germany,
10.08.2010, 20:38

@ Arjay
 

RS232 to keyboard / interesting keyboard hardware interfaces

> Interesting in the sense that often it is natural to think in terms of
> software for a solution when there is also some interesting hardware
> available as well.

Either I don't get what the hardware you mentioned does or you don't get what I want to accomplish. Pretty sure my goal would be impossible to do without software support, and is very much a software-only thing anyway.

---
l

Arjay

10.08.2010, 20:51

@ ecm
 

RS232 to keyboard / interesting keyboard hardware interfaces

> Either I don't get what the hardware you mentioned does or you don't get
> what I want to accomplish.
My links were for the general info for anyone interested. However to be honest re-reading your post I noted your requirements of 2 users on the same PC.

> Pretty sure my goal would be impossible to do
> without software support, and is very much a software-only thing anyway.
There was a HW board that supported what you are talking about but under Windows and I seem to remember similar under DOS, e.g. in the days of 3270 cards etc. I re-found the Windows one earlier via a forum post but didn't think it would have been of interest to folks here (seemed discontinued anyway).

ecm

Homepage E-mail

Düsseldorf, Germany,
10.08.2010, 20:57

@ Arjay
 

RS232 to keyboard / interesting keyboard hardware interfaces

> There was a HW board that supported what you are talking about but under
> Windows and I seem to remember similar under DOS, e.g. in the days of 3270
> cards etc. I re-found the Windows one earlier via a forum post but didn't
> think it would have been of interest to folks here (seemed discontinued
> anyway).

Then the software/driver of that board probably is important for how it works. I assume that the board was made only because mainboards have only one PS/2 keyboard plug anyway. (I.e. the board/hardware isn't required for connecting two USB keyboards with the same machine.)

But how could it possibly support the same functionality in DOS? By default, there's only one "window" (i.e. full screen) and only one "form" (the prompt, which takes all the keyboard input). This means the driver would have to work with specific applications only, because the concept of windows and input forms doesn't even exist within the plain DOS user interface!

---
l

Arjay

10.08.2010, 21:11

@ ecm
 

RS232 to keyboard / interesting keyboard hardware interfaces

> I assume that the board was made only because mainboards have only
> one PS/2 keyboard plug anyway.
As the keyboard is a serial protocol it can be interfaced easily elsewhere and just needs an application to support it (not necessarily with a driver).

> (I.e. the board/hardware isn't required for connecting two USB keyboards
> with the same machine.)
I would imagine this depends on how the PC's BIOS provides legacy USB support.

> This means the driver would have to work with specific applications only,
>
> But how could it possibly support the same functionality in DOS? By
> default, there's only one "window" (i.e. full screen) and only one "form"
> because the concept of windows and input forms doesn't even exist
> within the plain DOS user interface!
See above for code snippet example of one of my dual write routines (input routine was similar) which I use to use on the board to support multiple output (as well as input) from 2 users on the same PC, e.g. BBS chat by using RS232 with ANSI (in 80x24 colour) whilst doing exactly the same in 80x25 locally. See any DOS BBS door on Simtel/elsewhere for other examples. There was also a program (TSR?) called "doorway" I think to allow people to convert most DOS programs to be dual headed BBS doors over serial, e.g. command.com

Arjay

10.08.2010, 21:20

@ Arjay
 

RS232 to keyboard / interesting keyboard hardware interfaces

> There was also a program (TSR?) called "doorway" I think to
> allow people to convert most DOS programs to be dual headed BBS doors over
> serial, e.g. command.com

Simtel: drwy231.zip 230K DoorWay: Run any pgm as BBS door, drop to DOS 04-Apr-96

However that version came out after I had already started to shut my BBS down (that version talks about a Win95 fix whatever Win95 is....). I also don't remember doorway being shareware. As it is around 15+ years since I last looked at it I can't be sure that it is exactly the same program, but certainly it looks like it is. I do seem to remember using a non-shareware version though (which probably exists then became shareware). Certainly I know it is likely to be on one of my full height SCSI driver/floppy backups in storage.

ecm

Homepage E-mail

Düsseldorf, Germany,
10.08.2010, 21:22

@ Arjay
 

RS232 to keyboard / interesting keyboard hardware interfaces

> As the keyboard is a serial protocol it can be interfaced easily elsewhere
> and just needs an application to support it (not necessarily with a
> driver).

Okay, but you need special hardware (e.g. a converter) for that, to connect two keyboards to the same PS/2 keyboard port. (Also, this will just "merge" the input of all keyboards.)

> I would imagine this depends on how the PC's BIOS provides legacy USB
> support.

Yes. With Bret's USB keyboard driver all the keyboard input will be "merged", but other drivers might only recognize the first keyboard. Windows' drivers probably "merge" two, but I don't remember whether I actually tried that.

> > This means the driver would have to work with specific applications
> [...]

Ah, so this trick was made an ad-hoc interface by people :-)

> There was also a program (TSR?) called "doorway" I think to
> allow people to convert most DOS programs to be dual headed BBS doors over
> serial, e.g. command.com

You would then have the option to run the modified program either with the one input method or the other, and switch between the two, right?

---
l

Arjay

10.08.2010, 21:39

@ ecm
 

RS232 to keyboard / interesting keyboard hardware interfaces

> Okay, but you need special hardware (e.g. a converter) for that, to connect
> two keyboards to the same PS/2 keyboard port.
Well although I've never tried I would imagine possibly not. e.g. if you have a PC with USB and a PS/2 then I would imagine you could use the BIOS to do the legacy USB stuff and talk to the PS/2 keyboard processor directly.
Someone else with better knowledge of this area care to comment? Possible?

Slightly off topic it is also worth noting the existance of USB debug ports, e.g. with a Net20DC USB 2.0 Debug Cable.

> (Also, this will just "merge"
> the input of all keyboards.)
I would imagine there is a way around this under DOS.


> Yes. With Bret's USB keyboard driver all the keyboard input will be
> "merged",
Ok, that's with his driver. But it doesn't mean things have to be that way.

> Windows' drivers probably "merge" two, but I don't remember whether I
> actually tried that.
Depends on the driver.

> Ah, so this trick was made an ad-hoc interface by people :-)
Correct :)

> You would then have the option to run the modified program either with the
> one input method or the other, and switch between the two, right?
Well in the case of megapage and other doors that I wrote (for my own BBS only) I simply just kept polling in a loop to switch between the 2 users ;)

Obviously this all depends on what you are doing. On a related theme I did write a background BBS door as a TSR which basically answered the phone informed the caller I was busy doing something else and hung up. Meanwhile I was happily still using the PC for whatever I was doing. I'm not sure if I included user input (I think I did but it was flaky).

Separately to this discussion I have considered multiple input/output built into a rewritten non-experimental RJDOS (my shell) but to be honest it is not exactly high on my list at the moment (unless I need it for a project).

ecm

Homepage E-mail

Düsseldorf, Germany,
10.08.2010, 21:53

@ Arjay
 

RS232 to keyboard / interesting keyboard hardware interfaces

> Well although I've never tried I would imagine possibly not. e.g. if you
> have a PC with USB and a PS/2 then I would imagine you could use the BIOS
> to do the legacy USB stuff and talk to the PS/2 keyboard processor
> directly.

I meant if you were to connect two PS/2 keyboards to the same PS/2 keyboard port.

> Slightly off topic it is also worth noting the existance of
> USB debug ports,
> e.g. with a Net20DC USB 2.0 Debug
> Cable.

Though I can tell you that with USB, you won't be able to connect two (physical) devices to the same port ;-)

> > (Also, this will just "merge"
> > the input of all keyboards.)
> I would imagine there is a way around this under DOS.
>
> > Yes. With Bret's USB keyboard driver all the keyboard input will be
> > "merged",
> Ok, that's with his driver. But it doesn't mean things have to be that
> way.

Yes and yes. Especially interesting in that combination: Bret could change his driver accordingly. (E.g. to simulate a COM3 which actually is just some USB keyboard. (And output goes to the default screen. Or NUL. Or somewhere else.))

> > Windows' drivers probably "merge" two, but I don't remember whether I
> > actually tried that.
> Depends on the driver.

Uh yeah that's what I talked about before ;-) Whether two keyboards will merge input or not depends on the software/drivers. What happens to which input if they don't merge depends on the software/drivers too.

> Separately to this discussion I have considered multiple input/output built
> into a rewritten non-experimental RJDOS (my shell) but to be honest it is
> not exactly high on my list at the moment (unless I need it for a project).

I considered it for the debugger, but to debug DOS you can't use DOS itself for input or output. So that the redirection wouldn't work any more while debugging DOS. Or you would have to implement it yourself using Int14. That's more complicated than your two-way method. EDIT: Well actually you could use that but it would require the debugger to know when the driver (e.g. DOORWAY) will redirect its Int21 calls and when they would be reflected to DOS instead. Or something like that. Complicated as well.

---
l

bretjohn

Homepage E-mail

Rio Rancho, NM,
10.08.2010, 22:35

@ ecm
 

RS232 to keyboard / interesting keyboard hardware interfaces

> Yes and yes. Especially interesting in that combination: Bret could change
> his driver accordingly. (E.g. to simulate a COM3 which actually is just
> some USB keyboard. (And output goes to the default screen. Or NUL. Or
> somewhere else.))

It's actually more complicated than that. What DOS expects to see are ASCII characters, not the scan codes that PS/2 keyboards generate or USB codes that USB keyboards generate. Although a PS/2 port is serial and similar in many ways to a standard COM port, the "characters" that are sent across the wires are not anything that DOS can understand natively. They must first be "translated", either by the BIOS or a country/language-specific keyboard driver.

IOW, the "keyboard translation driver" (BIOS or KEYB.COM or whatever) would have to send its output to COM3 -- it wouldn't do any good for USBKEYB to do it. To have two separate keyboards for DOS, you would need a version of KEYB.COM (or some equivalent) that accepted multiple inputs and generated multiple outputs.

bretjohn

Homepage E-mail

Rio Rancho, NM,
10.08.2010, 22:08

@ Arjay
 

RS232 to keyboard / interesting keyboard hardware interfaces

> > Windows' drivers probably "merge" two, but I don't remember whether I
> > actually tried that.
> Depends on the driver.

Actually, not. Windows only has one keyboard and one mouse, and all of the physical (and virtual) devices are "merged". A specific application can bypass the standard Windows drivers and use Raw input, where it will accept input from only one specific device. Christian's concept of two mouse cursors for Windows certainly seems possible, but I've never seen an application that does it (it definitely would be non-standard).

Arjay

16.08.2010, 13:23

@ Arjay
 

Free util that supports dual Monitors under MS-DOS/FREEDOS

> > This might be handy, for instance, in a situation where you have
> > two separate monitors (a graphics monitor and a text monitor,
> > which was a pretty common setup in the early days of CAD),
> Yup. And by debuggers/BBS software which is how I used to use them
> myself.

The above discussion reminded me that I still own MDA / HGC hardware. So I thought I would have a further look to see what modern support exists now for MDA+VGA dual systems.

I came across this little gem earlier which doesn't appear to have been referenced on BTTR: System utility for dual monitors under MSDOS and FREEDOS by Lawrence E. Boothby of http://www.asm32.com/

Obviously would be interesting to combine with other ideas discussed already, e.g. imagine an updated Cutemouse supporting 2 mice pointers one on a MDA screen and one on a VGA screen with a 2nd PC keyboard hooked up via a project like the one Two Line Mini-Terminal etc.

Arjay

16.08.2010, 14:19

@ Arjay
 

dual PS2 keyboards (shared output) under MS-DOS/FREEDOS

For anyone following this discussion. Below is the wiring information for connecting two keyboards to 1 PC - be aware that output will be "shared":

Keyboard (F)      Computer (M)      Keyboard #2 (F)
------------      ------------      ---------------
pin function      pin function      pin function

  1=data ---------- 1=data ---------- 1=data
  2 n.c. ---------- 2 --------------- 2 n.c.
  3=gnd ----------- 3=gnd ----------- 3=gnd
  4=+5v ----------- 4=+5v ----------- 4=+5v
  5=clock --------- 5=clock --------- 5=clock
  6 n.c. ---------- 6 --------------- 6 n.c.


Please see Dave Burton's page which is the source of the above for more information.

Arjay

10.08.2010, 11:08

@ swf
 

CuteMouse v2.1b4 - some fixes

> I have a request, can you please put on your to do list a
> Cute mouse to a JLM so that it could have a smaller DOS footprint.
Is this related to the same issue you mention here?

Arjay

10.08.2010, 13:13

@ Japheth
 

CuteMouse v2.1b4 - an interesting idea from Vintage Computer

> CuteMouse v2.1b4 was converted by E. Auer to JWasm syntax in 2008.

An interesting idea on the vintage-computer.com forums that came back when I was trying to search for Optimouse (without remembering what it was called!):

modify CuteMouse to "convert" PS/2 mouse data to serial format

I'm NOT suggesting anyone picks this up but I could see what digger meant and thought I'd at least re-mention the idea here.

Back to index page
Thread view  Board view
22632 Postings in 2109 Threads, 402 registered users, 383 users online (0 registered, 383 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum