New answers tagged

15 votes

How did Joysticks with more than 4 buttons and all those extra features work on a Game Port?

There are multiple different ways that are possible, so many of the things you listed have been used, in addition to others. Your first question is, how did they do this. Specifically, the Microsoft ...
user avatar
  • 17.9k
23 votes

How did Joysticks with more than 4 buttons and all those extra features work on a Game Port?

I know of a minimum of two implementations of this that, as far as I know, were done independently. Gravis's GrIP protocol, which is used in the gameport version of the Gravis Gamepad Pro. Wikipedia ...
user avatar
  • 4,563
19 votes
Accepted

What is this early 3D platformer?

That is a very early 3D DOS exploration game from 1990 called Alpha Waves, also released as Continuum. Also available on the Atari ST and Amiga.
user avatar
  • 10.1k
2 votes

Was it ever possible to access the full EGA color space in 200-line modes?

As Justme notes, this is a feature of the monitor. The details are described in the manual for the IBM 5154, IBM Enhanced Color Display. Page 1 notes the two modes, The IBM Enhanced Color Display is ...
user avatar
  • 21.9k
1 vote

Chaining IRQs in x86 ROM code

Alternative method: Store an EAh opcode (jmp far immediate) in front of the doubleword holding your downlink. When setting up the interrupt handler use mov byte [INT_08_OLD - 1], 0EAh. To chain, do ...
user avatar
  • 488
3 votes

Chaining IRQs in x86 ROM code

Here's the full interrupt handler of my example, except for the business logic of actually handling the count. INT_08_OLD is assumed to be an offset in segment 40h. I'm writing in NASM syntax. ...
user avatar
  • 488
-1 votes

Chaining IRQs in x86 ROM code

I might misunderstand the issue to be solved, but as far as I can tell the desired delay (sleep) function is supposed to stop a synchronous foreground process during execution. Right? Is there ...
user avatar
  • 173k
0 votes

Chaining IRQs in x86 ROM code

For hooking the INT 08h, I did something like this: ; ------------ int08install PROC FAR C PUBLIC USES es di, p:FAR PTR ; -----------------------------------------------------------------...
user avatar
  • 170
1 vote

Chaining IRQs in x86 ROM code

One solution would be to not use JMP to old vector, but CALL. Another solution is to use INT and store old vector to interrupt table. NewVector: PUSH DS PUSH AX MOV AX, 40h MOV DS, AX ; do stuff here ...
user avatar
  • 17.9k

Top 50 recent answers are included