New answers tagged ibm-pc
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 ...
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 ...
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.
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 ...
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 ...
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.
...
-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 ...
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
; -----------------------------------------------------------------...
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
...
Top 50 recent answers are included
Related Tags
ibm-pc × 216hardware × 33
history × 31
ms-dos × 28
bios × 20
floppy-disk × 12
keyboards × 12
gaming × 12
hard-disk × 11
graphics × 10
memory × 10
video × 9
boot × 9
memory-layout × 8
x86 × 8
software × 7
ibm × 7
sound × 7
motherboard × 6
amiga × 5
emulation × 5
identify-this-game × 5
80286 × 5
80386 × 5
old-hardware-adaptation × 5