Anticipate The New Video Here


Lafazar said:
And a very simple 5th possibility would be to use the touchscreen only in a relative manner. I.e. you set the pen down and move it up, the mouse moves up, no matter where you set the pen down. As long as you remember to set the pen down where the mouse is, you can control the mouse cursor quite well like this. A set of sliders at the edge of the screen (Amiga is 4:3, Pandora is widescreen) could be used to quickly change the relative speed and acceleration of the touchscreen coordinates versus the mouse coordinates.

Well, that's what's currently happening and those possibilities are mentioned are to fix that ;)
 
Last edited:
The mouse is just read as a joystick.

I can't think of any easy way to trick it. No magic coords in memory. It might just have to use the nubs.
 
A touchscreen portable Amiga is a pretty tantalizing concept. I'm going to hold on to the idea that some enterprising young developer is going to figure this out.

Full hardware integration with all the bells and whistles as kmob has suggested would be incredible. We'd be fusing the two machines!
 
Save mouse location (of the amiga) and save click location. Calculate the difference in height and width and insert that as mouse input and move the mouse at max speed.


Seems the best way to solve it to me (if the calculating doesnt take to long.

Using nubs as a mouse sounds good to me :)


Seems good to me to, but why not use a touchscreen when you got one?
 
Using nubs for Amiga mouse would be good overall, but ruin my lemmings fun :(
 
Mithrildor said:
Save mouse location (of the amiga) and save click location. Calculate the difference in height and width and insert that as mouse input and move the mouse at max speed.

Insert it where? The mouse does not have coords in memory in a standard place as far as I know, the mouse port is just read as a joystick.
 
Last edited by a moderator:
craigix said:
Did any games really use the 320*200 res? I thought they all used at least 320*220? Unless the games auto adjusted for the US market? I'm trying to remember if the Amiga had borders on games. Been a long time since I used a real one!

A quick google seems to confirm it, 320*240 seems to be the main Amiga game resolution.
About 50% of all Amiga games used 320x200. That's 16:10-format (if pixels are square), meaning widescreen and thus ideal for our Pandora's 5:3 (15:9)-screen:

w8qn9v.png



About 20% of Amiga games used the full 320x256 resolution (some as Pinball Fantasies used even more like 320x262 with overscan). That's a 5:4-format which is almost square. Still will look good on the Pandora's huge screen (of course with black borders on the sides):

oglvr5.png



The remaining 30% used a resolution between 320x200 and 320x256.
For example Turrican uses 320x215, Turrican II uses 320x216 and Arcade Pool uses 320x240.
 
Last edited by a moderator:
craigix said:
Mithrildor said:
Save mouse location (of the amiga) and save click location. Calculate the difference in height and width and insert that as mouse input and move the mouse at max speed.

Insert it where? The mouse does not have coords in memory in a standard place as far as I know, the mouse port is just read as a joystick.
The difference from the previous recorded X to the new X = some period of time to send the "joystick left/right" signal. Ditto for the Y delta in the up/down direction.
Of course, what period of time does it require to remain perfectly synced? And what happens if the application in question resets the mouse cursor to center, or anywhere else for that matter? What about bounds, in the event there is some game or program where the mouse cursor was trapped within a smaller window rather than the entire screen?
If it were anything like DOS it'd be pretty easy: just update the interrupt and you can handle all those things within the driver, but I don't think the Amiga handled the mouse the same way.
Maybe some sort of per-application hack can be worked out, like a config file which contains pointer data where the mouse information can be read from. Then if you tap the touchpad, it sends the joystick left/righ/up/down while constantly reading back that pointer until it matches where it thinks it should be.
 
Last edited by a moderator:
What happens if you use xsetmode to set the touchscreen to absolute first?

from here:
Code:
6.6 xsetmode - changing absolute / relative mode

With xsetmode you can change the mode of a device between absolute and relative.

Example:
xsetmode GraphireMouse ABSOLUTE .
 
How did real amigas work with touchscreens and even graphic tablets? I am positive WinUAE works with touchscreen and will experiment on my touchscreen laptop tonight when I get home.
 
WizardStan said:
craigix said:
Mithrildor said:
Save mouse location (of the amiga) and save click location. Calculate the difference in height and width and insert that as mouse input and move the mouse at max speed.

Insert it where? The mouse does not have coords in memory in a standard place as far as I know, the mouse port is just read as a joystick.
The difference from the previous recorded X to the new X = some period of time to send the "joystick left/right" signal. Ditto for the Y delta in the up/down direction.
Of course, what period of time does it require to remain perfectly synced? And what happens if the application in question resets the mouse cursor to center, or anywhere else for that matter? What about bounds, in the event there is some game or program where the mouse cursor was trapped within a smaller window rather than the entire screen?
If it were anything like DOS it'd be pretty easy: just update the interrupt and you can handle all those things within the driver, but I don't think the Amiga handled the mouse the same way.
Maybe some sort of per-application hack can be worked out, like a config file which contains pointer data where the mouse information can be read from. Then if you tap the touchpad, it sends the joystick left/righ/up/down while constantly reading back that pointer until it matches where it thinks it should be.

But what 'x' there isn't an x - there is just up/down/left/right. There is no way to know where the mouse is at any time, thus no way of knowing where to move it from. Plus different games will use different speeds or ways of reading the port which will further complicate it.

The standard OS might have a default x,y in memory - but almost nothing uses the OS.
 
Last edited by a moderator:
craigix said:
But what 'x' there isn't an x - there is just up/down/left/right. There is no way to know where the mouse is at any time, thus no way of knowing where to move it from. Plus different games will use different speeds or ways of reading the port which will further complicate it.

The standard OS might have a default x,y in memory - but almost nothing uses the OS.
The bit of code in the emulator that translates the touchscreens x/y and passes up/down/left/right to the Amiga binary that is running would have an 'x' and 'y': the last position you tapped.
Which is why I suggested that config file of hacks. Stick things like delta speeds into that. Unless the Amiga did have a standard mouse interrupt thing, then no hacking required. I can't seem to find any such information on the software end. On the hardware end, I feel I'm now capable of building one from scratch at least.
 
Last edited by a moderator:
One idea i just thought ive to gain a point of reference for the pointer, is to offset the pointer enough to reset it to 0,0. Then when the touchscreen is activated the absolute values can be used as offsets to move the cursor to the same position. It probably wouldnt work for dragging but it could work for tap and click.
 
craigix said:
Mithrildor said:
Save mouse location (of the amiga) and save click location. Calculate the difference in height and width and insert that as mouse input and move the mouse at max speed.

Insert it where? The mouse does not have coords in memory in a standard place as far as I know, the mouse port is just read as a joystick.

Yes but it must be saved somewhere to draw it on the screen. You know when you press up, increment screen y coordinate of pointer right?
 
Last edited by a moderator:
well an update on uae4all, controls are fixed, scaling is added, and I found it just happens the nub can move the cursor (since uae4all opens 2 joysticks if possible)
 
Pickle said:
well an update on uae4all, controls are fixed, scaling is added, and I found it just happens the nub can move the cursor (since uae4all opens 2 joysticks if possible)

Would be nice to eventually see touch screen support for the cursor.. but analogue control from the nubs are just fine to begin with.
 
Last edited by a moderator:
Gruso said:
You might have noticed that the last 20 posts discuss the touch screen issue in detail.
I read them, why I said eventually. I'm pretty sure someone could figure it out down the road.
 
Last edited by a moderator:
Back
Top