Author
| How to use IO ports on MSX Personal Computers?
|
Yukio msx professional Posts: 778 | Posted: December 17 2007, 18:53   |
How to use a external MODEM, control a Robot or other electronic features!?
If there is a very specific address port for each function ... Would it be possible to program the computer to accept input data from a device connected to a RS232C cartridge? Like a Touchmaster Graphics Tablet.
Maybe some driver for a MODEM? MODEM drivers would be for multi player games.
|
|
Metalion online msx freak Posts: 215 | Posted: December 17 2007, 20:19   |
Here is the full I/O ports listing extracted from the MSX2 Technical Handbook 
Hope this can help you.
00H to 3FH user defined
40H to 7FH reserved
80H to 87H for RS-232C
80H 8251 data
81H 8251 status/command
82H status read/interrupt mask
83H unused
84H 8253
85H 8253
86H 8253
87H 8253
88H to 8BH VDP (9938) I/O port for MSX1 adaptor
This is V9938 I/O for MSX1. To access VDP directly,
examine 06H and 07H of MAIN-ROM to confirm the port
address
8CH to 8DH for the modem
8EH to 8FH reserved
90H to 91H printer port
90H bit 0: strobe output (write)
bit 1: status input (read)
91H data to be printed
92H to 97H reserved
98H to 9BH for MSX2 VDP (V9938)
98H VRAM access
99H command register access
9AH palette register access (write only)
9BH register pointer (write only)
9CH to 9FH reserved
A0H to A3H sound generator (AY-3-8910)
A0H address latch
A1H data read
A2H data write
A4H to A7H reserved
A8H to ABH parallel port (8255)
A8H port A
A9H port B
AAH port C
ABH mode set
ACH to AFH MSX engine (one chip MSX I/O)
B0H to B3H expansion memory (SONY specification) (8255)
A8H port A, address (A0 to A7)
A9H port B, address (A8 to A10, A13 to A15), control R/"
AAH port C, address (A11 to A12), data (D0 - D7)
ABH mode set
B4H to B5H CLOCK-IC (RP-5C01)
B4H address latch
B5H data
B6H to B7H reserved
B8H to BBH lightpen control (SANYO specification)
B8H read/write
B9H read/write
BAH read/write
BBH write only
BCH to BFH VHD control (JVC) (8255)
BCH port A
BDH port B
BEH port C
C0H to C1H MSX-Audio
C2H to C7H reserved
C8H to CFH MSX interface
D0H to D7H floppy disk controller (FDC)
The floppy disk controller can be interrupted by an
external signal. Interrupt is possible only when the
FDC is accessed. Thus, the system can treat different
FDC interfaces.
D8 to D9H kanji ROM (TOSHIBA specification)
D8H b5-b0 lower address (write only)
D9H b5-b0 upper address (write)
b7-b0 data (read)
DAH to DBH for future kanji expansion
DCH to F4H reserved
F5H system control (write only)
setting bit to 1 enables available I/O devices
b0 kanji ROM
b1 reserved for kanji
b2 MSX-AUDIO
b3 superimpose
b4 MSX interface
b5 RS-232C
b6 lightpen
b7 CLOCK-IC (only on MSX2)
Bits to void the conflict between internal I/O
devices or those connected by cartridge. The bits
can disable the internal devices. When BIOS is initialised,
internal devices are valid if no external devices are
connected. Applications may not write to or read from here.
F8H colour bus I/O
F7H A/V control
b0 audio R mixing ON (write)
b1 audio L mixing OFF (write)
b2 select video input 21p RGB (write)
b3 detect video input no input (read)
b4 AV control TV (write)
b5 Ym control TV (write)
b6 inverse of bit 4 of VDP register 9 (write)
b7 inverse of bit 5 of VDP register 9 (write)
F8H to FBH reserved
FCH to FFH memory mapper |
|
manuel msx guru Posts: 3380 | Posted: December 17 2007, 21:16   |
|
|
Yukio msx professional Posts: 778 | Posted: December 17 2007, 23:25   |
Probably, most of the hardware that wasn't well documented into some magazines.Others could be used with generic hardware from other popular machines. After all, it would be possible to connect external devices. Imagine, a SERIAL Interface (1-bit) that could be used into most machines (including ROBOTS / DROIDS) and old (vintage) computing system!
I don't think that there was MSX tablets on most countries, even some Personal Computer robots that used a parallel (8-bit wide) connector were programmable on MSX or IBM-PC . There was generic instruction on how to do parallel connection into some models.
I believe that Serial Connection (External RS-232C) would be compatible too, only a little slower. After all, I still own that old feeling, that if something can correct fit a hole or connector it "should work" with proper drivers or a single "BASIC" program, ASSEMBLER would be even better!
This and the fact that it was documented into some books and magazines ...
|
|
cax
 msx professional Posts: 1011 | Posted: December 17 2007, 23:59   |
Yukio, there exist cartridges with serial interface on them, which you can use as you wish.
Also Yamaha YIS503-IIR KYBT all came with serial network interface using speeds up to 9600 bps.
Also Yamaha YIS503-IIIR KYBT2 all came with network interface that used some kind of RS232C at 38400 bps (both used DIN5 connector though).
AFAIK robo-arms for MSX had standard cartridge interface connector.
Or you were talking about something else ?
|
|
Yukio msx professional Posts: 778 | Posted: December 18 2007, 03:39   |
The 'homemade' ones, (projects for kits, do it yourself) from the electronic magazines. Their use one motor for each movement, connection is regular 8-bit Parallel (printer) connector. Expert from Gradiente has a Parallel (Printer) port and a "Ext Port".
The old electronic projects ( Revista Saber Eletrônica) were published into paper magazines ...
|
|
Yukio msx professional Posts: 778 | Posted: December 18 2007, 05:29   |
With a Parallel port, it is possible to use 8-bit.
If someone use only on-off, it is possible to encode a driver that get input from the DB-9 (Atari Joystick port) and output to the printer port (8-bit output) DB-25. For two controllers:
xxxxyyyy
X being the directions of the first controller and Y being the directions of the second controller. It could be possible to use only one joystick if someone wanted to use the buttons (like open and close 'hand') too, this would leave space for more two functions on the second slot.
Well, it is possible to encode something that would use more than just one function per bit, like 255 features. Ok, just one function per wire seems to be simpler for starters ...
After all, a programmable Z80 with some I/O connection is a electronic (digital) microcomputer .
A good way to find motors and radio controller would be disassembling some toys like cars or getting some construction kits that comes with engines. Hacking the remote control, it is possible to connect the MSX output direct into the remote.
|
|
|
|
|