Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

JACE has mouse emulation!!!

35 views
Skip to first unread message

BLuRry

unread,
Jan 31, 2012, 1:58:14 AM1/31/12
to
Much thanks to the maintainers of the comp.sys.apple2 FAQ! I was able to implement a mouse device for JACE based solely on information provided in the FAQ and so far it is working well.

Some notes:
-Only "clamping" style mouse emulation is supported well, and it is supported VERY well. It scales the mouse coordinates to the physical mouse, so it works seamlessly with the OS mouse too!
-Interrupts and polling both implemented -- polling seems to work pretty well at least. Interrupts should work also, but I can't tell if I've encountered something that uses interrupts or not... :->
-Resetting the mouse pointer to read relative mouse movement isn't really implemented and could have unknown results. I'm not sure what the effect of this would be but again, it's a matter of finding something that uses the mouse that way. Suggestions?

Anyway, I've tested Apple II Desktop and System 2 and they look GREAT -- especially when the motherboard is set to max speed, unclocking the emulator as fast as it can go.

All this in time for my 35th birthday. I think this is a great birthday present to myself!

-B

BLuRry

unread,
Jan 31, 2012, 2:04:56 AM1/31/12
to
CHIPWITS WORKS! Ok, good enough for me! This RULES!

BLuRry

unread,
Jan 31, 2012, 2:30:57 AM1/31/12
to
But unfortunately Dazzle Draw does not work. But then again neither does Airheart. I can look at this in one of two ways:

1) Interrupts might not be implemented correctly. Not sure what Airheart would use interrupts for though, seems odd.

2) Something with aux page flipping isn't working when it comes to code -- for example maybe it is supposed to flip pages at a certain time but it reads the next opcode from the wrong place. I think I have an idea why this might be: I was kinda lazy about implementing the switches that require 2 consecutive accesses to actually flip over, and they flip over on the first access instead. Now that I'm starting to think about it, I should probably investigate this first especially for airheart!

-B

magnusfalkirk

unread,
Jan 31, 2012, 11:11:34 AM1/31/12
to
On Jan 31, 1:04 am, BLuRry <brendan.rob...@gmail.com> wrote:
> CHIPWITS WORKS!  Ok, good enough for me!  This RULES!

Congrats on implementing the mouse in JACE and Happy 35th Birthday
young'un!

Dean

BLuRry

unread,
Jan 31, 2012, 12:13:55 PM1/31/12
to
Thanks Dean!

Here's a screenshot:

https://sites.google.com/site/brendanrobert/_/rsrc/1327992588666/projects/jace/AppleIIDesktop.png

You can see the apple mouse and the real mouse are synchronized here -- and it works as well as you would expect, too! Unfortunately Dazzle Draw crashes, but I'll work on it now that I have a really good motivator (since other mouse stuff works) I'll have to run a trace to see what the code does before crashing... probably need to beef up the trace output to indicate memory soft switches.

BLuRry

unread,
Jan 31, 2012, 7:13:17 PM1/31/12
to
I just fixed a long-standing bug in the mass storage driver: the status mli call was not implemented. This broke basically any sort of write functions in prodos. Now they work! Yay!

Does anyone know of a good disk management utility for prodos that can perform moves for directories as well as files?

magnusfalkirk

unread,
Jan 31, 2012, 7:44:29 PM1/31/12
to
On Jan 31, 6:13 pm, BLuRry <brendan.rob...@gmail.com> wrote:
> I just fixed a long-standing bug in the mass storage driver: the status mli call was not implemented.   This broke basically any sort of write functions in prodos.   Now they work!  Yay!
>
> Does anyone know of a good disk management utility for prodos that can perform moves for directories as well as files?

Got a problem for you. I just downloaded JACE to my MacBook Pro, but
when I press the function keys at the top of the keyboard they just do
what they are supposed to for the Mac, JACE doesn't see them being
pushed. I've got a copy on the Winblows computer at work and wanted to
try it on the Mac, but with the function keys not doing what they are
supposed to in JACE I can't do anything with the emulator.

Dean

BLuRry

unread,
Jan 31, 2012, 9:40:49 PM1/31/12
to

Antoine Vignau

unread,
Feb 1, 2012, 12:22:06 AM2/1/12
to
On 1 fév, 01:13, BLuRry <brendan.rob...@gmail.com> wrote:
> Does anyone know of a good disk management utility for prodos that can perform moves for directories as well as files?

Finder, Merlin Utilities, Prosel (probably)

Michael J. Mahon

unread,
Feb 1, 2012, 12:58:06 AM2/1/12
to
That would be Cat Doctor.

In 8-bit ProSel, the file M)ove operation is on Cat Doctor's second command
page, reached by pressing Tab.

-michael - NadaNet 3.1 and AppleCrate II: http://home.comcast.net/~mjmahon

ict@ccess

unread,
Feb 1, 2012, 1:01:58 AM2/1/12
to

> Does anyone know of a good disk management utility for prodos that can perform moves for directories as well as files?

Repro directory in Nibble Vol 9 N0 5 May 1988

magnusfalkirk

unread,
Feb 1, 2012, 2:10:09 PM2/1/12
to
On Jan 31, 8:40 pm, BLuRry <brendan.rob...@gmail.com> wrote:
> Does this information help at all?
>
> http://rationalpi.wordpress.com/2007/01/31/using-f-keys-in-mac-os-x/

I'll have to check that out tonight, thanks for the link!

Dean

magnusfalkirk

unread,
Feb 2, 2012, 6:28:52 PM2/2/12
to
The link you gave me helped very much. After reading that page I was
able to get JACE running on my Macbook Pro, so thanks again!

Dean

Oliver Schmidt

unread,
Feb 4, 2012, 2:33:45 PM2/4/12
to
Hi,

> Interrupts should work also, but I can't tell if I've encountered something that uses interrupts or not...  :->

The mouse driver of the cc65 Apple II C library uses the VBL interrupt
and draws a mouse pointer on the text screen from within the interrupt
handler. There are two ways test that code:

- The cc65 docs contain a set of sample programs. On of them is called
mousedemo. However you'd need to build it yourself using cc65 from the
source.
- The interactive Contiki programs (i.e. the web browser) use that
mouse driver. Get Contiki here: http://a2retrosystems.com/contiki.html

You might want to make sure, that Apple GEOS works - it uses
interrupts for sure. Get it from <the usual suspect site>.

Regards,
Oliver

BLuRry

unread,
Feb 4, 2012, 10:04:17 PM2/4/12
to
DazzleDraw uses interrupts, and I found that I was interpreting the interrupt flag backwards! So now interrupts work and so does DazzleDraw! I tested v1.2. GEOS reports it cannot find an interrupt source, which is rather odd but i suppose it is looking for more ID bytes than the ones I implemented. I think if I can get GEOS to work then basic support will be good to go.

I also figured out what was causing Airheart to crash when starting the game but now it crashes later on when pressing the fire button while in the game. Not sure why though.

Side note: Z-Basic seems to be scanning S6 for a disk when starting up, is there a version that is hard drive compatible? Or maybe a better basic? (I remember liking Apex a lot as a kid)

BLuRry

unread,
Feb 4, 2012, 11:28:52 PM2/4/12
to
Got GEOS 1.2 working... kind of. I was missing an additional ID byte but thanks to the //c and //gs reference manuals I was able piece together some clues on that.

In GEOS, the mouse keeps jumping back to the upper-left a lot. Also, it sets the clamping to 0-7FFF on both axis but only uses screen coordinate ranges (560x192) so I had to hard code the clamp set logic to catch that and change the clamping max of [7fff,7fff] to [560,192] and now the mouse stays a lot more predictable.

It's enough to show that the VBL interrupt is calling correctly, but still not good for everyday use -- not yet anyway.

Also, GEOS and some other software I've tried seems to think they should be in slot 6, even when booted off a hard drive in slot 7. Any ideas?

Sean Fahey

unread,
Feb 6, 2012, 9:21:37 AM2/6/12
to
What version of ZBasic do you have?

BLuRry

unread,
Feb 6, 2012, 10:18:32 AM2/6/12
to
4.21, I believe.

BluPhoenyx

unread,
Feb 9, 2012, 12:56:24 PM2/9/12
to
On 02/04/2012 09:04 PM, BLuRry wrote:
> Side note: Z-Basic seems to be scanning S6 for a disk when starting up, is there a version that is hard drive compatible? Or maybe a better basic? (I remember liking Apex a lot as a kid)

ZBasic is looking for a ramdisk to use. The version you have should work
fine from an HD. I don't know if you can disable the scan though.

Cheers,
Mike T

BLuRry

unread,
Feb 9, 2012, 2:37:11 PM2/9/12
to
Ah! For whatever reason I don't have a ramdisk when it starts, so that could be the issue, though when I move the mass storage controller from slot 7 to slot 6, it works fine. Odd. I need to make a slinkyram card implementation, not like it would be as hard as mouse emulation. :-)
0 new messages