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

JACE 3-11-2010 build up on sourceforge

0 views
Skip to first unread message

BLuRry

unread,
Mar 12, 2010, 12:03:42 AM3/12/10
to
https://sourceforge.net/projects/java-ace/files/Builds/jace.jar/download

To execute (uses java 5 or higher), double-click on the JAR file (if
you've registered javaw to open jar files) or from the command prompt:
java -jar jace.jar

You should see it boot right off the bat.

The new stuff:
- You can specify the virtual drive's root path now, press F3 and
select any file in the root (e.g. select PRODOS.SYS), it will auto-
boot to prodos if it detects that the computer is sitting in a floppy
drive read loop
- Disk II emulation now supports 0, 1 and 2 disks. (0 means it
doesn't bomb with errors if something accesses the disk drive with no
disk in it). I tested this with the 3-disk version of Prince of
Persia.
- Change S6 D1 image with F1, change S6 D2 image with F2.
- Code internally supports more disk drives (e.g. you could put two
more in slot 5 or slot 7 if you really really wanted to)
- When the floppy "motor" is on, the emulator jumps to full speed so
disk I/O feels fast
- Floppy writes to NIB, DSK and PO images is now supported and tested
(YAY!), but BACK UP anything you use with this until it's fully battle-
tested and you're comfortable it isn't messing up your data.

TODO:
- Prodos block device (HDV) support. Should be insanely trivial, just
haven't done it yet.
- Real configuration screen
- Write support for virtual prodos drive (this is not easy, and it
won't be any time soon)
- ???

Under the hood I have implemented changes to accommodate support for
reconfiguring the emulator while it is running. That means any class
with configurable variables have said variables marked as
@Configurable. When the config screen changes these variables, all
affected classes will have a reconfigure() method called to respond to
any changes made. This could be any sort of change from speaker
volume to floppy DSK path. So it's not far off in the conceivable
future that this will be done, just needed to get the pre-work out of
the way. The next hairy beast is adding keyboard remapping support.
Haven't gotten through the though process on how to do that yet.

-Brendan

Poake

unread,
Mar 12, 2010, 10:37:06 AM3/12/10
to
All I get are alternate vertical bars of black on white.

Windows 7 64bit. Java 6 update 17.

BLuRry

unread,
Mar 12, 2010, 11:44:31 AM3/12/10
to
On Mar 12, 9:37 am, Poake <beheybir...@gmail.com> wrote:
> All I get are alternate vertical bars of black on white.
>
> Windows 7 64bit. Java 6 update 17.

Anything spit out on the console?

schmidtd

unread,
Mar 12, 2010, 12:28:35 PM3/12/10
to
On Mar 12, 12:03 am, BLuRry <brendan.rob...@gmail.com> wrote:
> https://sourceforge.net/projects/java-ace/files/Builds/jace.jar/download
>
> To execute (uses java 5 or higher), double-click on the JAR file (if
> you've registered javaw to open jar files) or from the command prompt:
> java -jar jace.jar

Once I start JACE, it seems I can select a disk image with F1 or F3;
but it doesn't seem to boot or otherwise respond. I get the initial
"APPLE II" screen, but it never repaints or otherwise responds. Is
there a ctrl-reset key sequence so I can at least get to Applesoft?

This is my JRE:
java version "1.6.0"
Java(TM) SE Runtime Environment (build pwi3260sr7-20091217_01(SR7))
IBM J9 VM (build 2.4, JRE 1.6.0 IBM J9 2.4 Windows XP x86-32
jvmwi3260sr7-200912
14_49398 (JIT enabled, AOT enabled)
J9VM - 20091214_049398
JIT - r9_20091123_13891
GC - 20091111_AA)
JCL - 20091202_01

This is my console output:
Switch TapeOut is a toggle type switch!
Primary Sound Driver:Direct Audio Device: DirectSound Playback
SoundMAX HD Audio:Direct Audio Device: DirectSound Playback
Primary Sound Capture Driver:Direct Audio Device: DirectSound Capture
SoundMAX HD Audio:Direct Audio Device: DirectSound Capture
Java Sound Audio Engine:Software mixer and synthesizer
Port SoundMAX HD Audio:Port Mixer
Finished reading rom with 0 bytes left unread!
Reset called, setting PC to (fffc) = fa62
Mar 12, 2010 12:25:22 PM jace.hardware.CardSSC$1 run
INFO: Socket listening on port 1977

Poake

unread,
Mar 12, 2010, 12:49:58 PM3/12/10
to

I get this:

C:\Download>java -jar jace.jar
Unable to initalize virtual machine
javax.sound.sampled.LineUnavailableException: Line not supported!
at jace.apple2e.Speaker.initAudio(Speaker.java:254)
at jace.apple2e.Speaker.<init>(Speaker.java:102)
at jace.apple2e.Apple2e.<init>(Apple2e.java:47)
at jace.Emulator.<init>(Emulator.java:37)
at jace.Emulator.main(Emulator.java:32)

===Followed by a stream of this:

BRK at $0
Interrupt generated, setting PC to (fffe) = 0
BRK at $0
Interrupt generated, setting PC to (fffe) = 0
BRK at $0
Interrupt generated, setting PC to (fffe) = 0
BRK at $0
Interrupt generated, setting PC to (fffe) = 0
BRK at $0
Interrupt generated, setting PC to (fffe) = 0
BRK at $0
Interrupt generated, setting PC to (fffe) = 0

====

BLuRry

unread,
Mar 12, 2010, 1:15:39 PM3/12/10
to

OK, in your case it is unable to set up sound and that's what is
holding up the works. Once I add configuration you should be able to
disable sound. Java Sound SUCKS because it isn't very smart about how
to work with sound resources, especially in Linux. What OS are you
using?

BLuRry

unread,
Mar 12, 2010, 1:18:05 PM3/12/10
to
On Mar 12, 11:28 am, schmidtd <schmi...@my-deja.com> wrote:
> On Mar 12, 12:03 am, BLuRry <brendan.rob...@gmail.com> wrote:
>
> >https://sourceforge.net/projects/java-ace/files/Builds/jace.jar/download
>
> > To execute (uses java 5 or higher), double-click on the JAR file (if
> > you've registered javaw to open jar files) or from the command prompt:
> > java -jar jace.jar
>
> Once I start JACE, it seems I can select a disk image with F1 or F3;
> but it doesn't seem to boot or otherwise respond.  I get the initial
> "APPLE II" screen, but it never repaints or otherwise responds.  Is
> there a ctrl-reset key sequence so I can at least get to Applesoft?

Yes, the reset key is mapped to page up, pause/break and F12. Apple
keys are mapped to the left/right alt keys. Also, if you press F10
and click "trace" you can see the live disassembly of what the CPU is
doing. That way you can tell if it is in the disk i/o boot code
(c6xx).

>
> This is my JRE:
> java version "1.6.0"
> Java(TM) SE Runtime Environment (build pwi3260sr7-20091217_01(SR7))
> IBM J9 VM (build 2.4, JRE 1.6.0 IBM J9 2.4 Windows XP x86-32
> jvmwi3260sr7-200912
> 14_49398 (JIT enabled, AOT enabled)
> J9VM - 20091214_049398
> JIT  - r9_20091123_13891
> GC   - 20091111_AA)
> JCL  - 20091202_01

Can you try the Sun JVM for comparison?

John B. Matthews

unread,
Mar 12, 2010, 1:28:53 PM3/12/10
to
In article
<dda1247d-f037-4ab2...@d27g2000yqf.googlegroups.com>,
BLuRry <brendan...@gmail.com> wrote:

> The next hairy beast is adding keyboard remapping support.

> Haven't gotten through the tough process on how to do that yet.

It would be an appealing feature. As an example, this game,

<http://robotchase.sourceforge.net/>

has this class

<http://robotchase.sourceforge.net/org/gcs/robot/RCKeys.html>

that extends JDialog to alter a Map of Key

<http://robotchase.svn.sourceforge.net/viewvc/robotchase/trunk/src/org/gc
s/robot/RCKeys.java?revision=56&view=markup>

as seen here

<http://sourceforge.net/dbimage.php?id=171136>

The enum Key is defined here

<http://robotchase.svn.sourceforge.net/viewvc/robotchase/trunk/src/org/gc
s/robot/Key.java?revision=27&view=markup>

and it's used in keyPressed() here

<http://robotchase.svn.sourceforge.net/viewvc/robotchase/trunk/src/org/gc
s/robot/RobotChase.java?revision=64&view=markup>

Ob apple2: this is a port of an Apple II game! :-)

--
John B. Matthews
trashgod at gmail dot com
<http://sites.google.com/site/drjohnbmatthews>

D Finnigan

unread,
Mar 12, 2010, 2:05:49 PM3/12/10
to
BLuRry wrote:
>
> To execute (uses java 5 or higher), double-click on the JAR file (if
> you've registered javaw to open jar files) or from the command prompt:
> java -jar jace.jar
>
> You should see it boot right off the bat.
>

Looks like it works on Mac OS X 10.6.2

schmidtd

unread,
Mar 12, 2010, 2:20:15 PM3/12/10
to
On Mar 12, 1:18 pm, BLuRry <brendan.rob...@gmail.com> wrote:
> On Mar 12, 11:28 am, schmidtd <schmi...@my-deja.com> wrote:
> > Once I start JACE, it seems I can select a disk image with F1 or F3;
> > but it doesn't seem to boot or otherwise respond.  I get the initial
> > "APPLE II" screen, but it never repaints or otherwise responds.  Is
> > there a ctrl-reset key sequence so I can at least get to Applesoft?
>
> Yes, the reset key is mapped to page up, pause/break and F12.  Apple
> keys are mapped to the left/right alt keys.  Also, if you press F10
> and click "trace" you can see the live disassembly of what the CPU is
> doing.  That way you can tell if it is in the disk i/o boot code
> (c6xx).

Ticking the trace box doesn't change the view any - and all registers
are set to zero. Hitting the step button doesn't seem to do anything
either.

> Can you try the Sun JVM for comparison?

This is my Sun JVM - I see the same behavior (this is all on XP SP3):
java version "1.6.0_18"
Java(TM) SE Runtime Environment (build 1.6.0_18-b07)
Java HotSpot(TM) Client VM (build 16.0-b13, mixed mode, sharing)

BLuRry

unread,
Mar 13, 2010, 1:21:27 AM3/13/10
to

Ok, I think I have a fix for the issue -- it's related to the sound
and how it's implemented differently (under the API's hood) in
windows. I was only writing sound out if there was space in the
output line for everything, but apparently this was causing a deadlock
so once sound started playback it would just hang. That being cleared
up I just need to run a few tests (ok, so in reality that means
playback the Ghostbusters intro and/or BallBlazer). I'll post another
build once I ensure it's stable. Sorry about the fire drill, folks!

-Brendan

0 new messages