Brendan Robert

Search this site

Contact

Recent site activity

Configuration

The primary way to configure JACE is via the config window, available by pressing the F4 key.  From here you can see the entire emulator structure on the left.  By clicking on one of the emulator objects, you can alter its properties.  For example, if you click on "Computer (Apple //e)" you can change what "cards" are inserted into each slot.  When you click Apply, the emulator processes all of your changes and updates the config screen, as well as the internals of the emulator while it's running!  If you switch cards, you must click Apply before the cards themselves will be configurable in the config window.

Remember, any changes you make to the configuration have to be applied before they can take effect.  So, for example, if you are using the cheat feature with Prince of Persia you may want to consider leaving the configuration window open so you can quickly make changes and apply them without getting too distracted from your... ahem... fun.  

Another very common scenario is inserting disk images.  By clicking on "Disk ][ Controller (Slot 6)" you can select what disk images you want to use for Drive 1 and Drive 2.  If you have a Disk ][ Controller inserted into slot 6, you can also use F1 and F2 to swap disks without opening the configuration screen.  Likewise, if you have a Mass Storage device (for hard drive or 800kb floppy emulation) in slot 7, you can swap S7 disk 1 by pressing F3.  Lastly, if you press F5, you can load a binary file and execute it directly.  It must be named as such: "filename#06xxxx" where xxxx is the hexadecimal location in memory to load and start the program. 

If you save changes in the configuration screen, the emulator will start with the same settings (including disk images) the next time you launch the program.  However, if you use hot-keys to change disk images those settings will not be saved.

Command-line usage:
You can also configure JACE from the commandline using the following syntax:
java -jar jace.jar -option value -option value ... where option is any of the following options (it is NOT case sensitive, by the way) and value fits the criteria described in the value column below. T/F values are assumed to be true if left blank, and also true/false are not case sensitive values either.  The option MUST start with the hyphen (dash) character otherwise JACE will think you've misplaced a value argument.  The following is an example of how to start the 3-disk version of Prince of Persia using joystick emulation (arrow keys) and the "hog" feature so that PoP doesn't misinterpret arrow keys as CTRL+J and CTRL+K.

java -jar jace.jar -computer.s6card disk -s6.d1 ~/Documents/pop1.dsk -s6.d2 ~/Documents/pop3.dsk -joy0.enabled -joy0.usekeys -joy0.hog

Option Value
cfg.saveAutomatically t/f (I don't think the emulator pays attention to this value yet)
sX.dY Disk image (full path name) to insert into disk drive at slot X drive Y (e.g. s6.d1) -- this assumes you have either a Disk ][ Controller or a Mass Storage Controller in that slot first -- use Computer.s#card BEFORE this option!
sX.sizeFor RamFactor cards, this can set the size of the ram card in MB.  Recommendation: 8192 or 16384 
sX.boostSpeedt/f (If true, the emulator will go unclocked to max speed when ramfactor is in use.)
computer.s#card
(where # is 1-7)
Card to be inserted in desired slot.  Can be full class name or part of the friendly name.  For example "disk" will evaluate as Disk ][ Controller and "mass" will be interpreted as "Mass Storage Device".  SSC, Mouse, RamFactor and Mockingboard probably also work as expected.
computer.cheat Cheat module to activate.  Like card selection, you can get away with partial matches.  This will enable Prince of Persia cheats: -computer.cheat prince  You still have to enable individual cheats from the config screen (I haven't added short names for them but it is entirely possible for the cheats to be enabled via commandline, I just haven't looked @ the names yet.)
computer.hints t/f (If false, you disable the startup screen)
computer.useConsoleProbe t/f (If true, stdin console probe is enabled to trap keys from STDIN and pass them as key input)
computer.debugRom t/f (If true, the ][DB debugger rom will be used instead of the standard enhanced //e rom)
computer.video Video renderer class to use, can also use partial matches such as "dhgr" and "ntsc" (ntsc is the default and looks much nicer)
cpu.breakOnBadOpcode  t/f
cpu.trace t/f (warning: very slow emulation if enabled)
cpu.traceSize A number.  This does NOT depend on cpu.trace being enabled, by the way.
joy#.centerMouse
(where # is 0 or 1)
t/f
joy#.enabled t/f
joy#.hog t/f (recommendation: set to true if using keys)
joy#.useKeys t/f
mb.cyclesPerSecond A number, preferably a very large one in the millions.  Best to leave this alone (see also: max speed)
mb.speaker t/f
mb.maxspeed t/f (Emulator will still slow down for speaker emulation)
mixer.bits A number, preferably some multiple of 8
mixer.freq A large number such as 44100 or 48000
mixer.preferredMixer name Name of JavaSound mixer device to use (varies by platform).  Again, partial names are ok.
spk.idle A number which should be in the tens of thousands or much greater.
spk.vol A number in the hundreds or thousands
vid.video7 t/f (valid only if using the NTSC renderer -- highly recommended if you want readable text)
vid.textPaletteIf true, a composite palette will be used that makes text easier to read.  If false, colors will be more solid.
vid.hblankOffsetX A number (best not to touch this)
vid.hblankOffsetY A number (best not to touch this)
vid.waitsPerCycle A number (again, don't touch these three as they control VBLANK timing and probably won't do you much good to mess with)

Comments