How to use IO ports on MSX Personal Computers? (Hardware MSX Forum)MSX Resource Center MSXdev 2008 - MSX1 development bonanza!              
              
English Nederlands Español Português Russian         
 News
   Frontpage
  News archive
  News topics

 Resources
   MSX Forum
  Articles
  Reviews
  Fair reports
  Photo shoots
  Fairs and meetings
  Polls
  Links
  Search

 Software
   Downloads
  Webshop

 MRC
   Who we are
  Join our team
  Donate
  Policies
  Contact us
  Link to Us
  Statistics

 Search
 
  

  

 Login
 

Username

Password




Don't you have an account yet? Become an MSX-friend and register an account now!.


 Statistics
 

There are 117 guests and 2 MSX friends online

You are an anonymous user.
 

MSX Forum


MSX Forum

Hardware - How to use IO ports on MSX Personal Computers?

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   
Try this: http://map.tni.nl/resources/msx_io_ports.php

Yukio: why are you writing such weird posts? Are you even aware of what kind of hardware exists for MSX?
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.

 
 







(c) 1994 - 2008 MSX Resource Center Foundation. MSX is a trademark of MSX Licensing Corporation.