ArKanoid game pad spec

Door st1mpy

Paladin (900)

afbeelding van st1mpy

08-01-2010, 11:48

I think the Arkanoid game pad moves your character side to side by rotating the knob. Can someone tell us how it works pls?
If you move it quickly it moves your character quicker?
And what is the range of the movement of the knob? (Does it stop after moving it for 90 degrees both ways for example? Or can you rotate it infinitely in both directions?)

Aangemeld of registreer om reacties te plaatsen

Van hap

Paragon (2042)

afbeelding van hap

08-01-2010, 15:10

180 degrees, positional.
Yes, it's for moving the rectangle (I know it's meant to be a spaceshipTongue). Rotating the knob faster moves it faster, same distance for both.

Van SLotman

Paragon (1242)

afbeelding van SLotman

09-01-2010, 00:25

From MSX Tech Handbook:

BIOS routines for accessing the paddle are described below.


* GTPDL (00DEH/MAIN) .................. read paddle information

Input:		A <-- paddle number (1 to 12)
Output: 	A <-- turning angle (0 to 255)
Function:	examines the status of the paddle specified in the A register
		and returns the result in the A register.


5.4 Use of Touch Panel, Light Pen, Mouse, and Track Ball

The touch panel, light pen, mouse, and track ball (cat) are accessible using 
the same BIOS routine. This routine is described below.


* GTPAD (00DBH/MAIN) .................. access to various I/O devices

Input:		A <-- device ID (0 to 19)
Output: 	A <-- objective information
Function:	obtains various information as shown in Table 5.5 according
		to the value specified in the A register. This is the same
		as the PAD function of BASIC. "XXX1" in the table means the
		"XXX" device connected to the universal I/O interface 1;
		"XXX2" means the one connected to the universal I/O interface
		#2.


   Table 5.5  GTPAD BIOS Function

--------------------------------------------------------------------------
|  Device ID  |  Device specified  |	     Information returned	 |
--------------+--------------------+-------------------------------------|
|      0      | 		   |  0FFH when touching panel surface,  |
|	      | 		   |  00H when not			 |
|-------------| 		   |-------------------------------------|
|      1      | 		   |  X-coordinate (0 to 255)		 |
|-------------|   Touch panel 1    |-------------------------------------|
|      2      | 		   |  Y-coordinate (0 to 255)		 |
|-------------| 		   |-------------------------------------|
|      3      | 		   |  0FFH when button is pressed,	 |
|	      | 		   |  00H when not			 |
|-------------+--------------------+-------------------------------------|
|      4      | 		   |					 |
|-------------| 		   |					 |
|      5      | 		   |					 |
|-------------|   Touch panel 2    |  Same as above			 |
|      6      | 		   |					 |
|-------------| 		   |					 |
|      7      | 		   |					 |
|-------------+--------------------+-------------------------------------|
|      8      | 		   |  0FFH: valid data, 		 |
|	      | 		   |  00H: invalid data 		 |
|-------------| 		   |-------------------------------------|
|      9      | 		   |  X-coordinate (0 to 255)		 |
|-------------|   Light pen	   |-------------------------------------|
|     10      | 		   |  Y-coordinate (0 to 255)		 |
|-------------| 		   |-------------------------------------|
|     11      | 		   |  0FFH when switch is pressed,	 |
|	      | 		   |  00H when not			 |
|-------------+--------------------+-------------------------------------|
|     12      | 		   |  Always 0FFH			 |
|	      | 		   |  (used to request for input)	 |
|-------------| 		   |-------------------------------------|
|     13      |   Mouse 1 or	   |  X-coordinate (0 to 255)		 |
|-------------|   track ball 1	   |-------------------------------------|
|     14      | 		   |  Y-coordinate (0 to 255)		 |
|-------------| 		   |-------------------------------------|
|     15      | 		   |  Always 00H			 |
|	      | 		   |  (no meaning)			 |
|-------------+--------------------+-------------------------------------|
|     16      | 		   |					 |
|-------------| 		   |					 |
|     17      |   Mouse 2 or	   |					 |
|-------------|   track ball 2	   |  Same as above			 |
|     18      | 		   |					 |
|-------------| 		   |					 |
|     19      | 		   |					 |
--------------------------------------------------------------------------

Note 1: Though information of the coordinate of the light pen (A = 9, 10) and
	the switch (A = 11) are read at the same time when BIOS is called
	with A = 8, other values are valid only when the result is 0FFH.
	In the case that the result of BIOS which is called with A = 8 is
	00H, the coordinate values and the status of the switch contained
	after that are meaningless.
Note 2: Mouse and track ball are automatically distinguished.
Note 3: To obtain the coordinate value of the mouse or the track ball, do the
	input request call (A = 12 or A = 16), then execute the call to
	obtain the coordinate value actually. In this case, the interval of
	these two calls must be minimized as possible. Too much interval
	between the input request and the coordinate input causes the
	obtained data to be unreliable.
Note 4: To obtain the status of the trigger button of the mouse or the
	trigger button of the track ball, use GTTRIG (00D8H/MAIN), not GTPAD
	routine.

Van st1mpy

Paladin (900)

afbeelding van st1mpy

09-01-2010, 14:19

thanx, that is very interesting. I was only curious but it would be a nice project to do.

Van hap

Paragon (2042)

afbeelding van hap

09-01-2010, 14:27

those BIOS routines won't work with the Arkanoid pad SLotman

Van larsthe18th

Master (186)

afbeelding van larsthe18th

11-01-2010, 14:14

More info on the Paddle (Vaus) can be found in this topic http://www.msx.org/forumtopic7661.html

Van st1mpy

Paladin (900)

afbeelding van st1mpy

12-01-2010, 01:54

... so many interesting things to do with MSX... and no time to do them... making this Arkanoid paddle looks like a good manageable project.