Hot answers tagged

60

As Wilson points out in his answer, it has to do with how the CIA chips interact with the keyboard and the joystick ports, and the confusion that can arise trying to determine where input is being received from. Compute!'s Mapping the Commodore 64 has an excellent write-up here explaining how the "Complex Interface Adapter" (CIA#1) deals with scanning the ...


56

SCSI, I think, is a serial interface. No, it isn't. SCSI das defined as a parallel interface for high speed data transfer. Though there are modern incarnations using serial transfer, while being compatible on a logical level, which might add confusion. A standard serial port on PCs used a 9-pin DSub connector where a parallel port used a 25-pin connector. ...


24

Because of the way that the joystick port 1 is mapped to the same hardware as the keyboard, from the software's point of view it's impossible to tell if you're wiggling the joystick or typing something on the keyboard. So many games used port 2 instead.


24

Early Wang basic computers used a backplane keyboard with an enormous bespoke parallel interface to the detached style keyboard device. Wang's 2200 and 2600 BASIC-only minicomputers were available with the 2215 BASIC keyword KBD, the 2222 alphanumeric typewriter KBD, and the 2223 upper/lower case BASIC keyword KBD. None of these keyboards contained a key ...


23

Of the variants produced in a relatively large series - let me remind you about the keyboard connection on the Commodore 128D - it was connected using a 25-pin interface, 23 lines of which directly represented the matrix of keys.


19

They are not really inductors. They are EMI noise filters for suppressing electromagnetic interference that conduct out of the unit via the wires. These kind of EMI filters usually have two ferrite beads and a capacitor in a T configuration, to filter both incoming and outgoing interference. The type of the filter is ZJS5101-02 according to ST manuals. ...


19

On standard PCs, the main CPU and PS/2 controller use a handshake mechanism in the status register at port 0x64: Main CPU wants to read (probably because it received a keyboard interrupt): Read port 0x64 until bit 0 is set (peripheral has something) Read port 0x60 (contains the data byte from PS/2 port). This read also re-sets bit 0 in the status register ...


17

The so-called "1MHz bus" is not actually a separate bus. It is just the set of devices which were too slow to run at the full 2MHz in the original BBC Micro, and which therefore incur a clock-stretched cycle when accessed. These include most of the SHEILA ($FExx) devices, except for the Econet, floppy, Tube, VIDPROC, and memory mapping registers. ...


15

No, it can not be used to sample audio. As the link you provided says, in 12-bit mode it takes 10 milliseconds to convert a sample, and even in 8-bit mode it takes 4 milliseconds. That results into maximum sampling rate of 250 Hz, which is useless for sampling audio. The low sampling rate indicates the analog input is meant for slowly changing signals, like ...


15

There are versions of the Atari 520ST, and perhaps the 1040ST, that differ in having many discrete inductors attached at the I/O port lines for serial, parallel and floppy ports. Essentially all later ST have them. The first picture shows a C070115 Rev. 2 ST board wich is about the oldest in general availability. The second is a C070243 Rev. C which is the ...


15

There is not only one place in memory, and it is not even memory. The port 0x60 is an IO port in the CPU IO address space for accessing the keyboard controller data port. It is used to access a lot of stuff but only one byte at a time. And the bytes that keyboard sends are not by default directly available for reception in an identical fashion, because the ...


14

The documentation for IBM's original Game Control Adapter has some details that will be of use. Even though you're using a SoundBlaster card instead, it should still be compatible with the IBM original. While the documentation doesn't specify maximum currents for any pins, it does have a logic diagram: It can be seen that on the original gameport, the ...


11

The two consoles do have different controller ports. The NES Classic Edition is not directly compatible with original NES controllers, but it does work with the Wii Classic Controller. The original NES uses a 7-pin connector: The NES Classic Edition does not:


10

Trying to get more into the specifics of the BBC connection, there is a substantial hint in the user guide: However only 5 bits of the [user] port, and CB1, CB2 are used: This leaves bits 1,3 and 4 available for other uses. Which is backed up by the schematic provided by Simon Inns in the doco for SmallyMouse2; comparing that to the user port's pinout ...


10

That would be USB, Audio out, Microphone in, FireWire. And PCMCIA slot above the two connectors. And there is a connector for a docking station at the bottom.


9

Then why did SCSI require so many pins? Differential signaling. The original standard was actually a 25-pin system using an 8-bit parallel signal going in one direction only. There was a separate parity pin, and lots of signal pins for things like device select and flow control. But in many respects it was similar to the DB-25 printer cable, just faster. ...


9

Early micro/home computer used parallel keyboards. These were (usually) called 'ASCII' Keyboards. A good example is the Apple II, which implements a protocol almost exact like you imagined - sans interrupt that is. A key press was presented as 7 data bits with ASCII like encoding plus a flag at bit 7 indicating a key press, cleared whenever the port was read....


8

The Sinclair QL also had two RS232C ports which used an unusual combination of a ASIC (ZX8302) and Intel 8049 to provide two physical ports (with non standard connectors) but could not be used independently. The two ports were nominally for printer and modem use, but during development the built in modem of the QL was dropped, but the case retained the ...


7

In addition to what already was stated, namely: ... how the CIA (Complex Interface Adapter) maps JoyStick - or in general, any - input: The signals a (digital) JoyStick delivers, come in via Pins 1 to 4 (Up, Down, Left, Right) and additionally Pins 6 and 9 for the buttons (Left, Right) - the equivalent values are represented on the charmap by e.g.: SPACE ...


6

back in the (x386) days I was using GAME port as an ADC for home made scanner and other self build HW. As it is usual during development there is occasional set back like short circuit etc. The GAME Ports I was using was always GoldStar chip powered IDE/ports ISA card (they where very common) and a short circuit on the analog pins always burn up +5V power ...


6

The original IBM PC and AT designs allocated 10 bits for I/O addressing, and only decoded address lines A0-A9 for on-board I/O devices. However there was no physical limitation to 10 bits, so a card could use A10-A19 so long as it didn't clash with the aliases of 10 bits cards or motherboard devices. So yes, the game-port card has aliases at 601h etc., ...


6

For a keyboard that includes a shift key to be useful, either the CPU must poll it often enough to observe the state of the shift key whenever another key is pushed, or the keyboard must capture enough information without CPU intervention to know whether a keystroke represents a shifted or unshifted character. In systems that use the former approach, there's ...


6

Porting a game to PAL while making all actions take the same number of frames would cause the game to perform 20% slower than with NTSC. Some games did this, but other games adjusted the amount of distance objects could move per frame or reduced the number of frames required to perform various actions. Although some games could accommodate fractional-pixel ...


4

The LINC (Laboratory Instrument Computer), the first computer I programmed in 1965, had a one-key rollover. When a key was pressed on its Soroban Engineering keyboard, a solenoid locked that key down and all the other keys up, sending a signal to the computer. Whatever computer program was running could then take its time (sometimes a sizable fraction of a ...


4

The NES with its multitap accessory is a potential answer, if you'll accept some logic in the accessory. NES controllers use a 1-bit serial protocol. The host strobes to begin a transfer, causing the joypad to load its current state into a shift register, and the host then clocks in 8 bits, each representing one of the 8 inputs. It's actually the CPU that ...


4

There is no official specs for game port current limit. Some adapters may have resistors, ferrite beads or fuses for current limiting, but usually a short circuit still fries something (except for a polyfuse). I'd say 100mA is a safe limit in any case. The original adapter has 1k pull ups on buttons, so for all four buttons simultaneously pressed, it adds up ...


4

I don't know the specific details, but in general the mouse uses standard quadrature encoders so for each axis you get two data pins that output movement data. While several ways to decode the quadrature data for each edge to achieve maximum resolution, the hardware uses a simplest possible approach with the PIO chip. Basically a pulse on one pin can be used ...


4

A second bite of the cherry: amongst others, the WD177x family are popular floppy controllers that were used in or with a variety of 8-bit machines including the MSX, the Acorn Electron and later models of the BBC Micro, the Oric and the TRS-80. They are serial controllers because floppy drives provide a single data line, which the controller monitors for ...


4

According to this website, https://segaretro.org/Tomb_Raider "The European Saturn version also have minor differences to level layouts (specifically some secret areas) because it was rushed to launch three months before the PlayStation version. This was fixed in the North American and Japanese versions." Maybe these differences are what you ...


Only top voted, non community-wiki answers of a minimum length are eligible