jace
jace copied to clipboard
Update the documentation
There are so many features but they're not easy to use or well-documented. Right now the only way to discover some features is to browse the configuration and see the keybindings to various esoteric commands/actions. Isn't there a way to at least list these somewhere?
Recommend just putting them in README.MD
# Keys
Ctrl-Shift-A Toggle Aspect Ratio between 1x, 1.5x, and 2x.
Delete Reset
Ctrl-Delete Ctrl-Reset
# Command Line Options
-s6.d1 path/foo.DSK Auto-mount disk image `path/foo.DSK` at startup to drive 1
-s6.d2 path/bar.DSK Auto-mount disk image `path/bar.DSK` at startup to drive 2
-computer.s6card disk Assign Slot 6 to Disk Drive
etc.
Part of the problem is that the docs are on the old site:
https://sites.google.com/site/brendanrobert/projects/jace
| 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.size | For RamFactor cards, this can set the size of the ram card in MB. Recommendation: 8192 or 16384 |
| sX.boostSpeed | t/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.textPalette | If 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) |
This is true -- actually now that you've seen the code you'll probably notice there's a lot of verbosity in the annotations so that I can generate living documentation instead of maintaining old crud. Most of the old stuff is still there though; I didn't change the configuration detect logic just slapped a new JavaFX UI on it.
That being said, it might make sense to have some kind of pre-processing spit out a markdown file for usage that allows documentation to be checked in with the code. I'll get to it but I have some tricky bugs to kill first.
hey it's worth noting I recently fixed it so you can use -s7.d1 to insert 2mg/hdv images from command line now.