From 965e62f97cef3346c783f9c231436b04bbb20cfa Mon Sep 17 00:00:00 2001 From: David Schmidt Date: Wed, 14 Apr 2010 16:22:12 +0000 Subject: [PATCH] Move more documentation to web --- CHANGES.txt | 467 -------- GSport.html | 39 + README.a2.compatibility.txt | 123 -- README.compile.txt | 118 -- README.ethernet.txt | 74 -- README.kegs.txt | 1061 ------------------ README.linux.partitions.txt | 252 ----- README.mac.txt | 41 - README.win32.txt | 52 - doc/web/buildpost.bat | 3 +- doc/web/buildpost.sh | 3 +- doc/web/removeMaven.re | 6 +- doc/web/src/site/apt/developing.apt | 56 +- doc/web/src/site/apt/history.apt | 19 + doc/web/src/site/apt/index.apt | 11 +- doc/web/src/site/resources/images/gsport.png | Bin 0 -> 25945 bytes doc/web/src/site/site.xml | 1 + 17 files changed, 103 insertions(+), 2223 deletions(-) delete mode 100644 CHANGES.txt create mode 100644 GSport.html delete mode 100644 README.a2.compatibility.txt delete mode 100644 README.compile.txt delete mode 100644 README.ethernet.txt delete mode 100644 README.kegs.txt delete mode 100644 README.linux.partitions.txt delete mode 100644 README.mac.txt delete mode 100644 README.win32.txt create mode 100644 doc/web/src/site/apt/history.apt create mode 100644 doc/web/src/site/resources/images/gsport.png diff --git a/CHANGES.txt b/CHANGES.txt deleted file mode 100644 index 9a884b9..0000000 --- a/CHANGES.txt +++ /dev/null @@ -1,467 +0,0 @@ - -Changes in KEGS v0.91 since v0.90 (12/06/04) -- Fixed serious bug in engine_c.c that could cause Finder file copies to - silently corrupt data. -- Virtual Modem support--modem appears on serial port, allows outgoing - and incoming connections. -- Sockets (and Virtual Modem) supported on Windows. -- Fixed various reset bugs (where pressing Ctrl-Reset would cause infinite - beeps, etc). -- Allow user to select ROM file from config panel if not found. -- Improved Mac OS X interface: Full Screen support and error dialogs. -- Better floppy support by always having 5.25" read nearest track regardless - of head position (supports Last Gladiator game bad crack by - emulating other emulators). - -Changes in KEGS v0.90 since v0.89 (10/19/04) -- Make Keypad Joystick the default joystick emulation -- Fix timezone calculation on Mac OS X for central time zone. -- Fix handling of long paths in config panel, reported by David Scruffham. -- Always call joystick_init at startup. -- Fix F2 keymappings for X Windows, to fix some issue reported by - David Wilson. -- Fixed some documentation issues reported by David Wilson. -- Fixed a bug in joystick_driver.c reported by Doug Mitton. -- Add README.a2.compatibility to discuss known issues with programs. - -Changes in KEGS v0.89 since v0.88 (10/17/04) -- Make old mouse button presses disappear after .5 seconds. -- Add Keypad Joystick, along with configuration menu choices to enable it. - The keypad numbers move the joystick to the indicated direction, - with chording allowing in-between values. - The keypad '0' is button 0 and keypad '1' is button 1. -- Also add jostick scaling factor and trim adjustment. -- Allow user to increase keyboard and mouse scan rate to 240Hz from 60Hz - for some better game response. - -Changes in KEGS v0.88 since v0.87 (10/13/04) -- Add configuration setting to debug halt on code red halts. Also add - configuration mode (on by default) to shadow text page 2 on ROM 01, - which is an enhancement over a real IIgs. -- Handle mac binary header on images. Handle compressed .po images. -- Fix refresh rate to 59.923Hz from 60Hz so that exactly 17030 1MHz cycles - pass in one screen refresh period. -- Enhance trace-to-file function to also write out data values stored using - the Data_log info. -- Debugger adds memory move and memory compare functions. -- Support "floating bus" where reading certain $C0xx locations returns the - current video data. This allows Bob Bishop's split-screen demos to - run and enables Drol's between-level animations to work fully. - -Changes in KEGS v0.87 since v0.86 (10/05/04) -- Remove all of Jonathan Kalbfeld's and Gilles Tschopp's contributions. - All of Solaris audio is removed. -- Fix config screen not drawing correctly if emulator was currently displaying - video page 2. -- Fix STP instruction. -- Fix mouse-joystick which was halving the Y dimension. - -Changes in KEGS v0.86 since v0.85 (03/23/04) -- Add patch for Solaris sound by Jonathan Kalbfeld. -- Fix so that F4 enters config panel even while running Prosel-16 -- Major mouse pointer changes, based on some ideas from Geoff Weiss. - The GSOS mouse now exactly tracks the host pointer automatically. -- Fixed an accidental debug halt when Prosel-16 disables the keyboard/mouse. - -Changes in KEGS v0.85 since v0.84 (01/09/04) -- Fix some minor 65816 bank-crossing bugs. -- Add -noignhalt to allow user to stop on code red halts. -- Fix Win32 capslock problem as reported by Edward Moore -- Fixed DreamVoir app on the sample image (it was corrupt) - -Changes in KEGS v0.84 since v0.83 (11/21/03) -- Add new speed, 8.0MHz directly using right-clicking or F6. -- Sim speed and Video update interval added to Config panel. -- Various cycle timing bugs in engine_c.c fixed. -- Add Config Panel entry to mask serial output to 7-bit, to enable PR#2 to - work better with an external telnet. -- In Config Panel file selection, typing a letter jumps to the first file - beginning with that letter. -- Fixed various serial socket bugs. Now you can disconnect a telnet session - and start a new one, and a Linux hang is fixed. -- Default GS memory size increased to 8MB. -- Small fix to double-hires color table. -- X windows can now send displays to other-endian X servers. - -Changes in KEGS v0.83 since v0.82 (11/19/03) -- Add Memory Size to config panel, with support for up to 14MB of memory - (Geoff Weiss) -- Add $C04F EMUBYTE support which Bernie II the Rescue defined. (Geoff Weiss) -- Fix $CFFF code red's reported by David Wilson. -- Add smartport $C70A Format routine (David Wilson). - -Changes in KEGS v0.82 since v0.81 (11/06/03) -- Fix superhires display glitch introduced in v0.81. -- Improved border handling--XMAS demo looks great. -- Fix some X build problems introduced in v0.81. - -Changes in KEGS v0.81 since v0.80 (11/04/03) -- Code Red/Yellow warnings about emulation stability -- Windows file browsing fixes -- Built-in C600 ROM for Apple II 5.25" game compatibility -- Turns key repeat back on when exiting from X-windows version -- Windows F8 captures the cursor - -Changes in KEGS v0.80 since v0.71 (10/31/03) -- Configuration Panel means no more hand-editing configuration files -- All emulator state is now saved in "config.kegs" -- 3200 color pictures! Video system much improved for display accuracy. -- F8 Pointer grabbing works on Mac -- ZipGS emulation - -Changes in KEGS v0.71 since v0.70 (11/20/02) -- Improved double-hires colors a lot. -dhr140 is no longer the default -- Airheart relies on the PC going from 0xffff to 0x0000, so I undid the - change from KEGS v0.54 which allowed PC to overflow to 0x10000. - This slows KEGS down by about 5%. -- Fixed X shared memory bug in KEGS v0.70 with fix from Jonathan Stark. - -Changes in KEGS v0.70 since v0.60 (11/18/02) -- New buttons: Middle button is enter-debugger, and right button changes speed -- New function key mapping (see README.kegs) -- Mac OS X port -- Win32 port -- Centralized much of what had been "xdriver.c" code into video.c, to move - true platform-specific stuff into the various *driver.c codes. - Kimage struct tracks video display buffers in a dev-independent way. - From video.c, the calls to the platform code start with "x_" mostly. - Code in video.c cleaned up somewhat. - Borders are now always in native buffer format, while text/hires/ - and superhires are in 8-bit buffers and translated to native later. -- Mac and Windows sound are all done in one process--no child sound process. -- Revamped key press handling and mouse clicks--all is now handled in - adb.c for a consistent user interface. Now KEGS implements the - same function keys on all platforms. See README.kegs for fn key maps. -- I copied the debugger help from Frederic Devernay's KEGS-SDL port. -- Fixed an old IWM bug causing bad nibblization due to using uninit vars. -- Gilles Tschopp workaround to use corrupted 2IMG files (from KEGS-OSX). -- Gilles Tschopp provided code to zero //gs memory at startup (from KEGS-OSX) -- Simple code to try to use Mac Diskcopy format disks -- Ignore writes to 0xc0a8 -- Search in $HOME and the launch directory (for mac) for kegs_conf/ROM -- Remove font65.sim file by integrating it into kegsfont.h. -- "-bw" option forces black and white hires mode. - - -Changes in KEGS v0.60 since v0.59 (10/03/00) -- The 16-bit colors were still wrong due to another coding error. It would - be much easier to get this right if I had a 16-bit color display... - A user says it works now. - -Changes in KEGS v0.59 since v0.58 (7/07/00) -- Added support for multiple paths to the default files and also multiple - names for many default files. This should make the .rpm distribution - work better. -- Add another keycode to mean break according to mic@research.nj.nec.com. -- Add support for various ROMs to get plugged into slot 1-7. -- Fix code so that it should compile on 64-bit platforms. - -Changes in KEGS v0.58 since v0.57 (2/08/00) -- Setting the execute bit on the disk image no longer means no-write-thru. - Too many new users were getting confused by this. -- Fixed another bug with Apple //e bank switching created by v0.56 - Reported by phoenyx. -- Add command line option "-v" to turn on some verbose debugging flags. -- Fixed potential core-dump bug with non-8 bit visuals. -- Fixed double-lo-res color problem. -- The X driver should work with any visual depth display now and get the - colors right. Ian Schmidt reported his 16-bit card had bad colors. - -Changes in KEGS v0.57 since v0.56 (12/27/99) -- Another try at making timezone stuff work across all Unix variants. - Let me know if the time in the Apple //gs control panel doesn't - match your real local time. -- Fix a bug created in v0.56 where the fast //e bank switch code had a typo. - This prevented ZBasic from working correctly. - -Changes in KEGS v0.56 since v0.55 (10/31/99) -- Faster Apple //e bank switch emulation. -- Simplified number of global variables for various softswitches. -- Fixed a bug which made 3.5" and 5.25" disk access much slower than necessary. -- Improved scan-line interrupt accuracy (lets MEGADEMO run). -- Improved sound interrupt accuracy (was hoping this would fix some sound - issues, but it doesn't seem to help). -- Add Mode_switch as an alias for the Option key -- I noticed the //gs self-tests were broken again--fixed. - -Changes in KEGS v0.55 since v0.54 (10/19/99) -- In LOG_PC debug aid, add cycles to the trace -- Fix MEGADEMO bug where 3.5" disks weren't properly ejected. Needed to - look at iwm.motor_on35 not iwm.motor_on. -- Temp fix for MEGADEMO to not halt if shadow-in-all-banks is on in $c036. -- Another MEGADEMO fix to not take a scan-line int if the SCB was cleared - right before the raster got to this line. -- Fix bug in smartport.c that was causing core dumps if you tried to init - a disk is s7dx. - -Changes in KEGS v0.54 since v0.53 (10/10/99) -- Add support for Out Of This World's direct reading of ADB RAM loc 0xb to - get key status. This lets shift/control work in OOTW. -- Code simplification to get rid of most set_halt() calls and use halt_printf. -- Speed improvement: track kpc (merged kbank and pc in one 32 bit variable) - which makes the inner loop faster. This does make KEGS not - accurately model a 65816 code crossing bank boundaries, but just - about every other emulator gets it wrong, and the speed improvement - is 5-10%. And I don't know of any code which relies on it - working correctly. -- Fix to allow better GS/OS compatibility: after each smartport call, - set 0x7f8 = 0xc7. -- Fixed ZipGS emulation bug where KEGS was not re-locking Zip at the right - time, which made double-hires not work after booting GS/OS. - -Changes in KEGS v0.53 since v0.52 (8/3/99) -- Move all the "fcycles" timing calculations to use double instead of float. -- Fix display shadowing bug reported by "phoenyx" which caused the text - display to not always be updated correctly with funny bank switching. -- Added the "Home" key as an alias for the '=' on the keypad. -- Changed the way X modifiers are interpreted to increase compatibility of - Caps Lock to more X servers. -- Add -dhr140 option to use old double-hires color mode that results in - exactly 140 horizontal pixels with no bleeding. It's set default - to "on" for now while I work out double-hires colors. -- Started adding some ZipGS compatibility--control panels run, but all - the controls are effectively ignored by KEGS. - -Changes in KEGS v0.52 since v0.51 (6/27/99) -- Small speed-up of interpreter loop to avoid checking the global variable - "halt_sim" after every instruction. -- Smartport fixes to avoid halts when the SCSI CD player NDA is installed. -- Fix to autodetect X visual depth (it didn't work at all in v0.51). -- Fix to HP binary--KEGS v0.51 hit an HP linker bug which caused the - executable to not run correctly. (It didn't obey an assembly- - language alignment command correctly). Re-ordering the object - list works around the problem. - -Changes in KEGS v0.51 since v0.50 (6/1/99) -- Fixed many bugs that crept into scanline interrupts over the last few months. -- RAM size is now settable on the commandline: -mem 0x400000 will use - a 4MB expansion RAM card (giving you 4.25MB of memory with ROM 01). -- VBL time used to be a variable (which was wrong)--it's now always the - same number of cycles. -- Typo preventing joystick_driver.c from compiling fixed. -- Auto senses X visual depth, searching for 8 bit, then 15 bit, then 24, - then 16 bit visuals. Can still override this with commandline. - -Changes in KEGS v0.50 since v0.49 (5/31/99) -- Added Linux joystick support with code provided by Jonathan Stark. - Activate with "-joystick" command line option. -- Small improvements in s7 device handling. If you have no s7 devices or no - bootable devices, KEGS launches Applesoft. -- Bug fix in scan-line interrupts--they were occurring at the wrong time - previously. -- Rewrote double-hires color routines. They're still not quite right, - but it's a lot better than it used to be. - -Changes in KEGS v0.49 since v0.48 (5/3/99) -- Fixed a key-repeat bug in v0.48 caused usually with shift-key sequences. -- Fixed bug where GNO would not work with ROM 03. ROM area at $C071-$C07F - is different from ROM 01. -- Ian Schmidt pointed out a special Ensoniq case where an oscillator in - one-shot mode can cause it's partner to start if it is in swap mode. -- Integrated in Geoff Weiss's Solaris x86 ports. I might have broken it - making a few last-minute changes... - -Changes in KEGS v0.48 since v0.47 (4/13/99) -- Even better ADB key repeat--key rollover works more like a real Apple //gs. -- IWM fix: some "smarport" modes were being activated sometimes during - normal 3.5" accesses, resulting in some games not loading correctly. -- Some fixes to serial port emulation to handle programs writing to - the serial port in MIDI mode when the chars will not be consumed. -- Smartport fix to set zero-page locations $42-$47, needed by some poorly- - written game loaders -- The "oscilloscope" effect in some sound-demos now shows the sounds - being played. - -Changes in KEGS v0.47 since v0.46 (4/7/99) -- ADB fix #1: reading $c010 should give key-down status better -- ADB fix #2: key repeat was stopping if modifier key pressed -- ADB fix #3: The game "Pirates" was crashing on startup due to a small bug. -- Bard's Tale 2 was freezing on startup due to a bug in the WAI instruction. -- Major serial port rewrite. Diversi-Tune now runs and sound OK (but there - are some small problems) and serial port emulation is better. - -Changes in KEGS v0.46 since v0.45 (3/21/99) -- Fix for undefined var in engine_c.c. Oops. -- Fix for old bug in engine_c.c causing KEGS to sometimes misinterpret - instructions which cross page boundaries. Was causing Thexder not - to work, at least. - -Changes in KEGS v0.45 since v0.44 (3/20/99) -- Fix for COP instruction in engine_c.c. Pointed out by Kelvin Sherlock. -- Major fixes to Ensoniq emulation, SynthLab sounds much better. -- Fix to iwm.c to deal with corrupt 2IMG archives a little better. - -Changes in KEGS v0.44 since v0.43 (2/23/99) -- -audio 0 option would often cause programs to hang. Bug was that the - audio rate was defaulting to '0' which confused KEGS. -- Made keycode 0x072 be the XK_Break key for XFree86 - -Changes in KEGS v0.43 since v0.42 (2/19/99) -- Support .nib 5.25" format as read-only -- Faster 3.5" nibblization routines (should make startup faster) -- Fixed a very-old 3.5" disk writing bug that made bit-copiers not work - -Changes in KEGS v0.42 since v0.41 (2/1/99) -- Include to fix Linux compile problem -- Fix relative branch timing bug that was making IWM emulation flaky - (backward branches should count as 3 cycles if to the same page, - and 4 if to a different page in emulation mode. Bug always counted - them as 4) -- Gave up on fast 5.25" writes--KEGS always slows to 1MHz for 5.25" - writes since the timing and kludges just got too annoying. -- add "-arate 22050" option to change audio sample rate on the command-line. - Slower audio rates can hit more audio bugs (I'm working on them). -- fixed little-endian bug in smartport.c and partls.c -- fixed side border redraw bug that would sometimes leave super-hires - images on the right-side border. - -Changes in KEGS v0.41 since v0.40 (1/19/99) -- Fixed bug where fill-line mode would not always redraw the screen correctly -- Changed some // comments to /* */ to help David Wilson's Solaris port -- Fixed little-endian bugs in smartport.c preventing mounting of - parititioned disks. Fix submitted by Jonathan Stark. -- Christopher Neufeld noted that fast space/delete option in the control - panel caused KEGS to hit breakpoints. I fixed this and fast arrows and - fast mouse options (they are now just ignored). -- Solaris port by David Wilson now provides a Makefile_solaris - -Changes in KEGS v0.40 since v0.39 (10/25/98) -- 15 and 24 bit depth displays now supported (though somewhat slower than - 8 bit displays). But Super-hires displays now show 256 - simultaneous colors on a 16- or 24-bit X display. - Select a 15-bit display with the cmd line option "-15" and - a 24-bit display with "-24". Otherwise, KEGS defaults to looking - for an 8-bit display, and fails if it cannot find one. -- Some border fixes--border colors now update correctly when palette - changes occur (like via F10). -- Alias F1 to ESC for OS/2. - -Changes in KEGS v0.39 since v0.38 (9/13/98) -- OS/2 port by Tschopp Gilles - - handle cr&lf better in disk_conf - - Drive letters work and are not confused with partition names, so - s7d1 = D:\images\cd:1 will open partition 1 correctly. - - KEGS no longer uses system() to do file copies, it does it all - using POSIX calls. - - Unix-specific socket calls moved from scc.c to scc_driver.h - - Default X handler re-installed properly now for better debug -- Nasty core dump bug found and fixed by Tschopp Gilles in disk switch code - -Changes in KEGS v0.38 since v0.37 (7/28/98) -- IWM bugs: - - fast_disk_emul off under GS/OS caused I/O errors. - KEGS was always slowing down to 1MHz when 5.25" drive was on, when - it should have been obeying the $C036 register. - - bug in IWM on little-endian processors -- disk ejection should now work, but a beta user claimed some bugs on - x86 Linux. -- 2IMG support, but only lightly tested. -- Removed some internal breaks on access to $C0B0 for tool033. -- Modulae also stumbled into some breakpoints by writing to $C02F, - which does nothing. -- Screen refresh simplified (for me) by redrawing the screen while - raster is on first scan-line, rather than line 200. - However, a side effect is some of the graphics during the XMAS DEMO - look a bit choppier. -- More SCC fixes to avoid breakpoints under GNO. -- Start support for sound under Linux, but it sounds horrible right now. - Any Linux sound gurus want to help out? -- Fixed possible array-overrun bug in video.c around border effects. - Maybe shared memory works under x86 Linux now? -- Made changes for OS/2 port to fopen() text files. From Blue Neon. - - -Changes in KEGS v0.37 since v0.36 (7/13/98) -- Linux PPC port completed and functional. KEGS has been tested to - run quite well and quite fast on a 240MHz 604e running - MkLinux pre-DR3. -- Change LITTLE_ENDIAN define to KEGS_LITTLE_ENDIAN since Linux - always defines LITTLE_ENDIAN as a silly macro. -- Dumb bug in IWM 3.5" routines could cause core dumps if disk arm moved - from outer track to inner track very quickly. -- Deleted some breakpoints that some Second Sight searching code would hit. -- Ignore some SCC reset commands GNO would use that caused KEGS to stop. -- Handle odd partitions better--some //gs formatted Zips had a blocksize - of 0, which defaults to 512 now. -- Handle some keysyms better to avoid MkLinux bug with keysym 0. - -Changes in KEGS v0.36 since v0.35 (5/30/98) - -- Linux x86 port completed and functional with help from Karl Pfleger -- Linux clock fixes--should handle daylight savings better on Linux -- LITTLE_ENDIAN defines -- Start making fixes for NeXTStep due to Eric Sunshine -- Fixed bug in HP asm code with I/O fetches--caused //gs selftests to fail - and a bug in scc.c was also causing self-tests to fail. - -Changes in KEGS v0.35 since v0.34 (5/17/98) - -- engine_c.c fully implemented--KEGS now has a version completely written - in C, and now portable to other Unix machines. -- KEGS got another 5% faster with more tweaks to the asm dispatch loop. - -Changes in KEGS v0.34 since v0.33 - -- KEGS is 10-15% faster due to finally implementing a planned recoding - of the dispatch loop. - -Changes in KEGS v0.33 since v0.32 (5/7/98) - -- Fixed bug in engine_s.s that prevented compiling on pre-10.20 systems. -- ADB mouse interrupts work now. Fixed "bug" where GSHK would think - mouse button was depressed at startup. (GS/OS is looking at mouse - button 1 status, which accidentally was reading as down). -- ADB emulation of read char_sets and read_kbd_layouts now matches a real - //gs. -- optimization to allow dereferencing page_info[] even if BANK_IO is set, - to get a small speed improvement in engines_s:dispatch(). -- SCC logs are 'Z' at the disas prompt. -- Tool decoded is 'T' at the disas prompt. -- SCC changes to support slot 1 == port 6501 and slot 2 == port 6502, - with limited interrupt support. Most serial tasks won't work still, - but some do. PR#1/2 and IN#1/2 work fine. getty under GNO doesn't. -- -audio [0/1] forces audio off/on. This just stops the sound playing-- - internally all Ensoniq interrupts/etc are fully emulated. If display - is not using shared memory (i.e., it's remote), audio defaults to off. - (but can be forced on with -audio 1). -- -display {foo} sends X display to {foo}. - -Changes in KEGS v0.32 since v0.31 (10/23/97) - -- Faster dispatch loop, for a 10-15% overall performance improvement -- Fixed sound bug where Oversampler would make KEGS halt (Oversampler - said turn on 128 oscillators, and KEGS tried to...) -- Fixed bug where KEGS would not work on 24-bit displays due to a typo. -- Added frame skipping support (-skip n) and auto frame skipping if you - are not using shared memory (like displaying KEGS to a remote machine). -- Added -noshm support for forcing off shared memory, so you can see how - much it helps. - -Changes in KEGS v0.31 since v0.30 (9/23/97) - -- New mouse handling--Press F8 to hide X windows cursor and constrain - cursor inside window. Makes using the mouse much easier. - F8 toggles back to normal. -- Add revision to status area. -- Remove "slow memory" calculation. KEGS was emulating slowing down to - 1MHz to write to slow memory (bank $E0 or $E1). But true //gs - accelerators have a smarter trick, so I just removed it from - KEGS. KEGS still slows down for I/O reads and writes. - This eliminates the confusing 40MHz speed numbers you'd sometimes get. - KEGS can also now run faster when it would have slowed down to - 1MHz before. -- Turn off accurate IWM emulation be default, for much faster emulation. - Bit copiers won't work by default now. Toggle accurate IWM - with F7. Accurate IWM forces 1MHz speed for 5.25" and 2.5MHz for - 3.5", but less accurate IWM runs as fast as possible. -- Add optional size to s7dx entries in disk_conf, to allow using /dev/rfloppy. -- Allow mounting partitions by number, instead of just by name, since some - Mac-formatted Zip disks don't have partition names. -- Add -ignbadacc to ignore bad memory accesses. -- Increase MAX_C030_TIMES. Otherwise, fast workstations could generate too - many clicks per VBL, causing an assertion to fail. -- Small speed increase detecting changes in the superhires screen. -- Alt_L is now Open-Apple, and Alt_R is Closed-Apple. -- KEGS now uses just one private colormap, so xwd can get screendumps. - - diff --git a/GSport.html b/GSport.html new file mode 100644 index 0000000..8099074 --- /dev/null +++ b/GSport.html @@ -0,0 +1,39 @@ + + + +GSport Project Page + + + + + + +
+[GSport Home Page] +[SourceForge project page] +
+ +
+

+
+GSport: an Apple II Emulator +
+

+
+ +

+The documentation for the GSport project is maintained on the SourceForge site. +You should have been immediately redirected there; click on the following link +(http://gsport.sourceforge.net) +if not. +

+ +
+ +
+[GSport Home Page] +[SourceForge project page] +
+ + + \ No newline at end of file diff --git a/README.a2.compatibility.txt b/README.a2.compatibility.txt deleted file mode 100644 index 3b667c8..0000000 --- a/README.a2.compatibility.txt +++ /dev/null @@ -1,123 +0,0 @@ -# $Id: README.a2.compatibility,v 1.2 2004/10/18 18:17:21 kentd Exp $ - -Flobynoid: Must disable Fast Disk Emul (hit F7 to toggle it off) since - game's loader relies on the sector order on the disk (reads 8 - sectors from the start without checking headers, assumes every other - physical sector is skipped due to decode delays). - -Bard's Tale II GS: Doesn't recognize any save disk as a ProDOS disk. - It's detecting a "ProDOS" disk by checking for a string on block - 0 at offset 0x15e. GSOS on system 6 has moved the string to 0x162, - so disks inited under GSOS will be detected as "Not a PRODOS disk". - Just make a copy of the Bard's Tale disk image to another file and - then mount that new image and remove all the files using the Finder. - Then rename the volume and you have a working save disk. - -Robotron 2084: -Robot Battle: - These cracks use a "Fastloader" which is buggy. - It tries to JMP $F3D4 and expects to hit an RTS soon. - But on a IIgs it will access some illegal memory causing a code - yellow. You can just ignore the code yellow. - -Beyond Castle Wolfenstein: Make sure your disk is writeable (not compressed!) - -Breakout: Has trouble loading from the cracked copy. - From the BASIC prompt, do: "CALL -151" then "C083 N C083" then - "BLOAD INTBASIC" then run breakout. Then it runs fine. - -Burgertime: This is a bad crack. Loader starts the game by writing - the game entry point into $0036/$0037, and then executing a BRK - instruction. The BRK handler on an old Apple II will try to write - out a message by calling through $0036/$0037, and this will start - the game. But on a IIgs, the ROM sets the $0036/$0037 vectors - back to the default, and so we crash into the monitor instead. - Here's a memory fix and a disk-image fix: From the crack screen, - press Shift-F6 (or middle mouse button) and in the KEGS debugger - window enter: "1d0a:ea 6c 36 0" and then "g". You can make - this fix to the disk image using a sector editor and change - Track $1E sector $09 offset $0A from "60 78 A9 03" to "EA 6C 36 00" - and write it back. - -Caverns of Callisto: Requires old C600 ROM in slot 6 (Slot 6==Your Card). - -Championship Loderunner: Requires disk to be writeable or else it starts - the level and then jumps immediately back to the title page. - -Jeopardy: Disk must be writeable or else it displays "DISK ERROR" and - then crashes into the monitor. - - -Drol: Needs slot 6 set to "Your Card" from the IIgs control panel - (Ctrl-Cmd-ESC, then choose "Slots"). - I found Drol hard, so here are some cheats. First, the standard cheat - for Drol is to have infinite lives, this cheat is to edit the disk - image: - Track $0B, Sector $0A, byte $22 to EA EA - Track $11, Sector $0A, byte $10 to EA EA - Track $17, Sector $09, byte $B2 to EA EA - I didn't create those cheats, I got it from textfiles.com. - My cheats are for the monsters to never kill you--just run right - through them. - While playing Drol, press Shift-F6 (or middle mouse button) to - enter the KEGS debugger, and then: - 0/f28:18 18 # Monsters' missiles won't kill you - 0/e05:90 0c # Monsters won't kill you - Continue emulation by type "g" and then enter. - Other things, like the bird, axes, swords still kill you. - To easily solve the third screen, move your man to the far right - side on the top level, so that you are directly above the woman - on the bottom row. Fly into the air "A" and then get to the KEGS - debugger, and type: - 0/c:4 - and then continue with "g". Now press "Z" and you will go all - the way down and land on the woman and end the level. It's - useful to have made the two above patches so that touching monsters - won't kill you. - Two more patches that only apply to level 3, and so most be made - in memory each time you enter level 3: - 6cf3:18 18 18 # Axes won't kill you - 6f70:38 38 # Swords/arrows won't kill you - The bird and the guy you can't kill will still kill you. These - cheats were enough to make the game easily playable. - In the game, your death is indicated by setting location $001E to - $FF. Setting breakpoints there can let you find other cheats. - -Moon Patrol: Crashes into the monitor after completing checkpoint E. - To fix the Moon Patrol/Dung beetles version, from within KEGS: - BLOAD MOON PATROL - CALL -151 - 1E15:EA - 919G - and it will work fine. - If you have the booting version that just has Moon Patrol on it, - then from any point after the crack screen is shown, enter the - KEGS debugger (Shift-F6 or middle moust button) and then enter: - 0/1e15:ea - g - and then it will play fine. - The bug is that the code executes an instruction with opcode $02, - which is a NOP on 6502, but is a COP instruction to 65816. The - COP instruction acts like BRK and will crash. The patch just - makes it a real NOP. - -Microbe: Crashes upon booting. - Code at $599E tries to pull a return address off of a location - beneath the stack pointer and jump to it, but it doesn't add 1 - correctly so it jumps to $5917 when it meant to jump to $5918. - On a IIgs, this causes a BRK to be executed and the game to crash. - This can be patched in memory in two places: - 0/599e:ba ca 9a 7d 00 01 48 98 7d 01 01 9d 01 01 60 - 0/6f1d:ba ca 9a 7d 00 01 48 98 7d 01 01 9d 01 01 60 - The original byte sequence for both locations is: - 00/599e: ba TSX - 00/599f: 7d ff 00 ADC $00ff,X - 00/59a2: 85 94 STA $94 - 00/59a4: 98 TYA - 00/59a5: 7d 00 01 ADC $0100,X - 00/59a8: 85 95 STA $95 - 00/59aa: 6c 94 00 JMP ($0094) - You can also patch the code onto the disk image. I found - the $599E version on Track $05, Sector $06, Byte $9E. - I found the $6F1D version on the image at Track $0C, Sector $00, - at byte $1D. diff --git a/README.compile.txt b/README.compile.txt deleted file mode 100644 index 098b164..0000000 --- a/README.compile.txt +++ /dev/null @@ -1,118 +0,0 @@ -# $Id: README.compile,v 1.20 2004/10/18 04:05:14 kentd Exp $ - -General build instructions: --------------------------- - -You need to build with a make utility. I've only tested GNU make. -There's a default Makefile, which should work for nearly any environment. -The Makefile includes a file called "vars" which defines the platform- -dependent variables. You need to make vars point to the appropriate -file for your machine. - -This makes my maintenance of the diverse platforms a bit easier. - -WIN32 build instructions: ------------------------- - -See the file README.win32 for build instructions and other information -for Microsoft Windows. - - -Mac OS X build instructions (the default): ------------------------------------------- - -KEGS is easy to compile. Just cd to the src directory and type "make". -KEGS requires perl to be in your path (or just edit the vars file to give -the full path to wherever you installed perl). Perl version 4 or 5 is -fine. - -After the "make" has finished, it will create the application KEGSMAC. - -To run, see README.mac. - -X86 Linux build instructions: ----------------------------- - -Use the vars_x86linux file with: - -rm vars; ln -s vars_x86linux vars -make - -The resulting executable is called "xkegs". - -The build scripts assume perl is in your path. If it is somewhere else, -you need to edit the "PERL = perl" line in the vars file and make it point -to the correct place. - -For audio, KEGS needs access to /dev/dsp. If the permissions do not allow -KEGS to access /dev/dsp, it can fail with a cryptic error message. As root, -just do: "chmod 666 /dev/dsp". - - -PowerPC Linux build instructions: ----------------------------- - -Use the vars_linuxppc vars file by: - -rm vars; ln -s vars_linuxppc vars -make - -The build scripts assume perl is in your path. If it is somewhere else, -you need to edit the "PERL = perl" line in the vars file and make it point -to the correct place. - -Audio is currently disabled by default, but you can try turning it on -by runnning "xkegs -audio 1". It sounds horrible to me, but sounds do -come out. - -Solaris SPARC build instructions: --------------------------------- - -Use the vars_solaris vars file by: - -rm vars; ln -s vars_solaris vars -make - -The build scripts assume perl is in your path. If it is somewhere else, -you need to edit the "PERL = perl" line in the vars file and make it point -to the correct place. - -Audio is currently disabled by default, but you can try turning it on -by runnning "xkegs -audio 1". - -Solaris x86 build instructions: --------------------------------- - -Use the vars_x86solaris vars file by: - -rm vars; ln -s vars_x86solaris vars -make - -The build scripts assume perl is in your path. If it is somewhere else, -you need to edit the "PERL = perl" line in the vars file and make it point -to the correct place. - -Audio is currently disabled by default, but you can try turning it on -by runnning "xkegs -audio 1". - -HP-UX assembly-emulation instructions: -------------------------------------- - -Use the vars_hp vars file by: - -rm vars; ln -s vars_hp vars - -Edit the Makefile, and remove "engine_c.o" from the "OBJECTS1=" line at -the top. Then just type "make". - -This version is quite out of date and most likely does not compile any more. - -Other platform "C" build instructions: -------------------------------------- - -If you are porting to an X-windows and Unix-based machine, it should be -easy. Start with vars_x86linux if you are a little-endian machine, or -vars_linuxppc if you are big endian. Don't define -DKEGS_LITTLE_ENDIAN -unless your processor is little-endian (x86, Alpha). Mac, Sun, MIPS, -HP, Motorola, and IBM are big-endian. - diff --git a/README.ethernet.txt b/README.ethernet.txt deleted file mode 100644 index 372e8a5..0000000 --- a/README.ethernet.txt +++ /dev/null @@ -1,74 +0,0 @@ -Ethernet support HOW-TO ------------------------ - -Acknowledgment: ---------------- - -Uthernet (TFE) support in KEGS was made possible by implementing the GPL source written by Spiro Trikaliotis for the Vice emulator - http://www.viceteam.org/ This version of KEGS contains the latest code from VICE 2.1. - -Details: - -Right now Uthernet emulation only works under Windows. Future support for PCap under OS X and Linux is planned. -In order to use Uthernet emulation, you must install WinPCap ( http://www.WinPcap.org/install/default.htm ) and -have a wired ethernet connecton on the host computer. - - -KEGS Setup: ------------ - -After KEGS starts, press F4 to enter the text based menu and select the "Ethernet Card Configuration" option. - -By default, Uthernet emulation is turned off, enable it by setting "Uthernet Card in Slot 3"to "On". - -Next, select the host interface you wish to use to communicate with the outside world. A list of available -interfaces is provided on screen. For most the default of interface "0" is correct. - -Return back to the main menu and save you configuration for good measure. Due to limitations, you must exit -and restart KEGS for the changes you made to take effect. Next is configuring the Apple IIgs side of things. - -GS/OS Setup: ------------- - -In order to use TCP/IP connectivity under GS/OS, you have to install the latest version of Marinetti and the -Uthernet Link Layer. - -First download and install the latest version of Marinetti 3.0 available at: -http://www.apple2.org/marinetti/Marinetti3.0b1.SHK - -Then install the latest TCPIP INIT available at -http://www.apple2.org/marinetti/TCPIP30b3.SHK - -Just extract and copy the file to the "System.Setup" folder in your GS/OS system folder, overwriting the existing file - -Last, install the latest Uthernet Link Layer (1.0.1b5) available at: -http://www.wannop.info/speccie/uthernetll.bxy - -Just extract and copy the file to the "TCPIP" folder in your GS/OS system folder. - -After copying over all the files, reboot the emulated IIgs. Once at the desktop, bring up the graphical control -panel available in the Apple menu and double click the "TCP/IP" icon. - -Click on "Setup Connection..." Select the "Uthernet" link layer from the drop down and then click "Configure..." - -Set "Lan Slot:" to "3", check off the DHCP option and then click "Save". Click "OK" to leave the setup dialog. - -You should be able to click "Connect to network" and successfully connect to your TCP/IP netowork. - -From this point on, you are free to run any TCP/IP aware GS/OS applications. - -The following applications have been tested and seem to work fine: ------------------------------------------------------------------- - -Spectrum Automated File Exchange 2.1.9 (FTP client, use passive mode) -Telnet application included with Marinetti - -The following applications have been tested and DO NOT work: ------------------------------------------------------------- - -Casper web server: It will not serve web pages. This is likely a limitation of WinPCap. - -A note about 8-bit applications: --------------------------------- - -Uthernet enabled versions of Contiki seem to work fine with KEGS. Other 8-bit software should work fine but -are untested at this time. \ No newline at end of file diff --git a/README.kegs.txt b/README.kegs.txt deleted file mode 100644 index d850a10..0000000 --- a/README.kegs.txt +++ /dev/null @@ -1,1061 +0,0 @@ - -KEGS: Kent's Emulated GS version 0.91 -http://kegs.sourceforge.net/ - -What is this? -------------- - -KEGS is an Apple IIgs emulator for Mac OS X, Linux, and Win32. -The Apple IIgs was the most powerful computer in the Apple II line. -It first was sold in 1986. An Apple IIgs has the capability to run almost all -Apple II, Apple IIe, and Apple IIc programs. - -KEGS supports all Apple IIgs graphics modes (which include all Apple //e -modes), plus plays all Apple IIgs sounds accurately. It supports -serial port emulation through TCP/IP connections, or can use real -serial ports on Windows and Mac OS X. - -The ROMs and GS/OS (the Apple IIgs operating system) are not included -with KEGS since they are not freely distributable. KEGS is a little -user-hostile now, so if something doesn't work, let me know what went -wrong, and I'll try to help you out. See my email address at the end of -this file. - -I'd like to thank Chea Chee Keong who created KEGS32, the first Windows -port of KEGS. That version, which has a better Windows-interface but which -is based on older core code, is at http://www.geocities.com/akilgard/kegs2. - -KEGS features: -------------- - -Fast 65816 emulation: - About 80MHz on a Pentium 4 1.7GHz or a Mac G4 1GHz. -Emulates low-level 5.25" and 3.5" drive accesses (even nibble-copiers work!). -Emulates classic Apple II sound and 32-voice Ensoniq sound. - All sound is played in 16-bit stereo at 48KHz (44100 on a Mac). -Emulates all Apple IIgs and Apple II graphics modes, including border effects. - Can handle display changes at any time (superhires at the top, lores - at the bottom). Always does 60 full screen video updates per second. - Supports 3200-color pictures. -Mouse and joystick support. -Emulated battery RAM remembers control panel settings. -Limited SCC (serial port) emulation to enable PR#1/2 IN#1/2 and Virtual - Modem enables standard Apple terminal programs to telnet to any - internet address (or receive connections from another telnet). - -KEGS by default emulates a 8MB Apple IIgs, but you can change this from -the Configuration Panel. - -KEGS is so accurate, even the built-in ROM selftests pass (you must be in -2.8MHz speed mode to pass the self-tests and you must set the Configuration -Panel entry "Enable Text Page 2 shadow" to "Disabled on ROM 01" for ROM 01). - -Release info: ------------- - -Included files: - CHANGES - Description of changes since last release - README.kegs.txt - you're here - README.compile.txt - Describes how to build KEGS - README.linux.rpm.txt - Describes how to install KEGS's RPM for Linux - README.win32.txt - Win32 special directions - README.mac.txt - Mac OS X special directions - README.a2.compatibility.txt - List of programs which need tweaking - src/INTERNALS.overview - description of how KEGS code works - src/INTERNALS.xdriver - Describes the xdriver.c routines for porting - src/INTERNALS.iwm - Describes the internal 3.5" and 5.25" disk - handling routines - KEGSMAC - the Mac OS X executable - kegswin.exe - the Windows executable - config.kegs - disk image configuration info - to_pro - Hard-to-use ProDOS volume creator - partls - Lists partitions on Apple-partitioned hard - drives or CD-ROMs - src/ - All the source code, with a Makefile - -You need to provide: - - 1) Patience. - 2) a ROM file called "ROM", "ROM.01" or "ROM.03" in the KEGS directory - (or in your home directory). It can be either from a ROM 01 - (131072 bytes long) or from a ROM 03 machine (262144 bytes - long.) - 3) A disk image to boot. This can be either "raw" format or 2IMG. - See discussion below. GS/OS would be best. - -Getting ROMs ------------- - -You need a copy of the memory from fe/0000 - ff/ffff from a ROM 01 GS -or fc/0000 - ff/ffff from a ROM 03 GS, and put that in a file called -"ROM". I'll eventually write detailed instructions on how to do this. - -Running KEGS: ------------- - -The distribution comes with the full source code for all platforms in -the src/ directory, the Windows executable as kegswin.exe, and the Mac OS X -executable as KEGSMAC. - -See the README.compile.txt file for more info about compiling for Linux. - -On all platforms except the Mac, you must start KEGS from a terminal -window. KEGS will open a new window and use the window you started it from -as a "debug" window. - -On a MAC, you need to place the "config.kegs" file someplace where KEGS -can find it. The simplest place is in your home directory, so copy it there -with the Finder (or using the Terminal). You can also make the directory -Library/KEGS from your home directory, and then place config.kegs there -along with the ROM file. You do not need a starting config.kegs file -on a Mac--KEGS will offer to make it for you if it cannot find one. - -Start kegs by Double-clicking the KEGSMAC icon on a MAC, or by running -the executable (kegswin on Windows, and kegs on Linux). KEGSMAC can -be run by the Terminal window on a Mac as well (which enables access to -more debug information) by typing: "./KEGSMAC.app/Contents/MacOS/KEGSMAC". - -Assuming all goes well, KEGS will then boot up but probably not find any -disk images. See below for how to tell KEGS what disk images to use. -Tip: Hitting "F8" locks the mouse in the window (and hides the host cursor) -until you hit "F8" again. - -Configuration Panel: -------------------- - -You enter the Configuration panel by pressing F4 at any time. You tell -KEGS what disk images to use through the Configuration panel. (If KEGS -couldn't find a ROM file, you will be forced into the Configuration -Panel mode until you select a valid ROM file). - -To select a ROM file, select "ROM File Selection" and then select your -ROM file. If you were not forced into the panel at startup, the KEGS -found one and you can skip this step. - -Disk Images ------------ - -The primary use of the Configuration Panel is to select disk images. To -change disk images being used, select "Disk Configuration". Each slot -and drive that can be loaded with an image is listed. "s5d1" means slot -5, drive 1. Slot 5 devices are 3.5" 800K disks, and slot 6 devices are -5.25" 140K disks. Slot 7 devices are virtual hard drives, and can be -any size at all (although ProDOS-formatted images should be less than -32MB). - -Just use the arrow keys to navigate to the device entry to change, and -then select it by pressing Return. A scrollable file selection -interface is presented, letting you locate your image files. To quickly -jump to a particular path, you can press Tab to toggle between entering -a path manually, and using the file selector. Press Return on ".." -entries to go up a directory level. When you find the image you want, -just press Return. - -If the image has partitions that KEGS supports, another selection -dialog will have you select which partition to mount. You will probably -only have partitions on direct devices you mount (or on a Mac, of .dmg -images of CDs). For instance, on a Mac, /dev/disk1 can sometimes be the -CDROM drive. - -KEGS can handle "raw", .dsk, .po, 2IMG, 5.25" ".nib" images, most Mac -Diskcopy images and partitioned images. The .dsk and .po formats you often -find on the web are really "raw" formats, and so they work fine. KEGS uses -the host file permissions to encode the read/write status of the image. -KEGS can open any image file compressed with gzip (with the extension ".gz") -automatically as a read-only disk image. - -An image is the representation of an Apple IIgs disk, but in a file on -your computer. For 3.5" disks, for example, a raw image would be exactly -800K bytes long (819200 bytes). KEGS directs the emulated GS accesses to -the image, and does the correct reads and writes of the Unix file instead. - -To do "useful" things with KEGS, you need to get a bootable disk image. -You can go to http://www.info.apple.com/support/oldersoftwarelist.html and -get Apple IIgs System 6. Unfortunately, Apple now only has .sea files which -are executable files for Macintosh only. You need a macintosh to execute -those programs, which creates Disk Copy image files with no special extensions -(and with spaces in the names). Once you get those files back to your -host machine, you can use them by selecting them from the Configuration Panel. - -You can also get Apple II programs in ".dsk" format from a variety of -sites on the internet, and these should all work on KEGS as well. - -KEGS also supports partitioned devices. For instance, if you have a CD-ROM -on your computer, just pop an Apple II CD in, and KEGS can mount it, if -you have a Unix-based system (Linux, any Unix, and Mac OS X). - -If you're on a Mac, be careful letting KEGS use your HFS partitions-- -GSOS has many HFS bugs when it is writing. Also avoid having KEGS access -an image which have mounted on your Mac at the same time (always unmount -it from your Mac before letting KEGS access it)! - -If you do not have any disk mounted in s7d1, KEGS will jump into the monitor. -To boot slot 6 (or slot 5), use the Apple IIgs Control Panel by pressing -Ctrl-Command-ESC. - -Support for 5.25" nibblized images is read-only for now (since the -format is kinda simplistic, it's tricky for KEGS to write to it since KEGS -has more information than fits in that format). Just select your image, -like "disk.nib" in the kegs_conf file like any .dsk or .po image. - -In addition to changing disks, you can also just "eject" and image by -moving the cursor to select that slot/drive and then press "E". The -emulated IIgs will immediately detect changes to s5d1 and s5d2. - -Care should be taken when changing images in slot 7--KEGS does not notify -GSOS that images have changed (or been ejected), and so it's best to make -changes when GSOS is not running. - - -Key summary: ------------ - -F1: Alias of Command -F2: Alias of Option -F3: Alias of ESC for OS/2 compatibility. -F4: Configuration Panel -F6: Toggle through the 4 speeds: Unlimited, 1MHz, 2.8MHz, 8.0MHz -Shift-F6: Enter KEGS debugger -F7: Toggle fast_disk_emul on/off -F8: Toggle pointer hiding on/off. -F9: Invert the sense of the joystick. -Shift-F9: Swap x and y joystick/paddle axes. -F10: Attempt to change the a2vid_palette (only useful on 256-color displays) -F11: Full screen mode (only on Mac OS X). -F12: Alias of Pause/Break which is treated as Reset - -F2, Alt_R, Meta_r, Menu, Print, Mode_switch, Option: Option key -F1, Alt_L, Meta_L, Cancel, Scroll_lock, Command: Command key -Num_Lock: Keypad "Clear". -F12, Pause, Break: Reset - -"Home": Alias for "=" on the keypad (since my Unix keyboard doesn't have an =). - -Using KEGS: ----------- - -The host computer mouse is the Apple IIgs mouse and joystick by default. -By default, the host pointer is not constrained inside the window and -remains visible. Press F8 to hide the cursor and constrain the mouse. F8 -again toggles out of constrain mode. When the GSOS desktop is running, -KEGS hides the host cursor automatically and enables special tracking -which forces the emulated cursor to follow the host cursor. If this doesn't -work right under some program, just press F8 for better compatibility. - -The middle mouse button or Shift-F6 causes KEGS to stop emulation, and enter -the debugger. You can continue with "g" then return in the debug window. -You can also disassemble memory, etc. The section "Debugging KEGS" -above describes the debugger interface a little more. - -KEGS has no pop-up menus or other interactive interfaces (other than -the debug window, and the occasional error dialogs on Mac OS X). Input to -the debug window is only acted upon when the emulation is stopped -(Shift-F6, middle mouse button, or hitting a breakpoint). - -Quitting KEGS: -------------- - -Just close the main KEGS window, and KEGS will exit cleanly. Or you -can select Quit from the menu. Or enter ctrl-c in the debugger window. -Or press the middle-mouse button in the emulation window, and then type -"q" return in the debug window. - -Command/Option keys: -------------------- - -If you have a keyboard with the special Windows keys, you can -use them as the command/option keys. For those without those keys, -there are several alternatives. - -The following keys are Option (closed-apple) (not all keyboards have all -keys): F2, Meta_R, Alt_R, Cancel, Print_screen, Mode_switch, Option, -or the Windows key just to the right of the spacebar. The following keys are -Command (open-apple): F1, Meta_L, Alt_L, Menu, Scroll_lock, Command, -the Windows key left of the spacebar, and the Windows key on the far right -that looks like a pull-down menu. You can use F1 and F2 if you cannot make -anything else work (especially useful if your OS is intercepting some -Alt or Command key sequences). - -If you can't get any of these to work on your machine, let me know. -Note that X Windows often has other things mapped to Meta- and Alt- -key sequences, so they often don't get passed through to KEGS. So it's -best to use another key instead of Alt or Meta. - -The joystick/paddle buttons are just the Command and Option keys. - - -Reset: ------ - -The reset key is Pause/Break or F12. You must hit it with Ctrl to get it to -take effect (just like a real Apple IIgs). Ctrl-Command-Reset -forces a reboot. Ctrl-Command-Option-Reset enters selftests. -Selftests will pass if you force speed to 2.8MHz using the middle -button or F6 (and also set Enable Text Page 2 shadow = Disabled for ROM 01). -Watch out for ctrl-shift-Break--it will likely kill an X Windows session. -Also note that the Unix olvwm X window manager interprets ctrl-F12 and will -not pass it on to KEGS--you'll need to use Break for reset in that case. - -Full Screen mode (MAC OS X ONLY): ----------------- - -KEGS can run in full screen mode--which is especially useful when letting -small kids use KEGS (but it is not really a lock, so do not let a 2 year -old bang on the keyboard while running KEGS). - -Full Screen mode is toggled with F11 (or Ctrl-F11, since Expose on a Mac -is intercepting F11). If KEGS stops in the debugger for any reason, -full screen mode is toggled off automatically. - - -Joystick Emulation (Mouse, Keypad, or real native joystick): ------------------- - -The default joystick is the mouse position. Upper left is 0,0. Lower right -is 255,255. Press Shift-F9 to swap the X and Y axes. Press F9 to reverse -the sense of both paddles (so 0 becomes 255, etc). Swapping and -reversing are convenient with paddle-based games like "Little Brick Out" -so that the mouse will be moving like the paddle on the screen. "Little -Brick Out" is on the DOS 3.3 master disk. The joystick does not work -properly if the pointer is constrained in the window. - -You can also select from a "Keypad Joystick" or a real joystick from -the Configuration panel. Press return on the "Joystick Configuration" -entry, and then select between Mouse Joystick, Keypad Joystick, or one -of two native joysticks. The Keypad Joystick uses your keypad number -keys as a joystick, where keypad 7 means move to the upper left, and -keypad 3 means move to the lower right. Pressing multiple keys together -averages the results, allowing finer control than just 8 directions. -Also, joystick scaling is selectable here for games which require -a greater range of motion to work correctly, along with trim adjustment -which moves the centering point. Adjusting scaling usually means you -will need to adjust the trim as well. - -The left mouse button is the mouse button for KEGS. The right mouse -button (if you have it) or F6 toggles between four speed modes. Mode 0 -(the default) means run as fast as possible. Mode 1 means run at 1MHz. -Mode 2 means run at 2.8MHz. Mode 3 means run at 8.0MHz (about the speed -of a ZipGS accelerator). Most Apple //e (or earlier) games need to be -run at 1MHz. Many Apple IIgs demos must run at 2.8MHz or they will not -operate correctly. Try running ornery programs at 2.8MHz. 3200 pictures -generally only display correctly at 2.8MHz or sometimes 8.0MHz. - - -Debugging KEGS: --------------- - -KEGS by default now continues emulation even when it detects buggy programs -running. (Now I know why Appleworks GS always seemed to crash!). - -KEGS divides buggy programs into two severities: Code Yellow and Code Red. -The status is displayed in words in the text area under the emulation window. -If nothing's wrong, nothing is printed. - -A Yellow bug is a mild bug where an Apple IIgs program merely read an -invalid location. Although completely harmless, it indicates the potential -for some Apple IIgs program bug which may become more severe shortly. -For instance, closing the "About This Apple IIgs" window in the Finder -causes a code yellow alert, but it seems quite harmless. - -A Code Red bug is a more serious problem. The Apple IIgs program either -tried to write non-existent memory, entered an invalid system state, or -perhaps just tried to use an Apple IIgs feature which KEGS does not implement -yet. Note that entering GSBUG tends to cause a Code Red alert always, so if -you intended to enter it, you can ignore it. My recommendation is to -save work immediately (to new files) and restart KEGS if you get into the -Red mode. - -KEGS also supports breakpoints and watchpoints. In the debug window, you -set a breakpoint at an address by typing the address, followed by a 'B' -(it must be in caps). To set a breakpoint on the interrupt jump point, -type: - -e1/0010B - -The format is "bank/address" then "B", where the B must be in caps and -the address must use lower-case hex. For Apple IIe programs, just use a -bank of 0. - -To list all breakpoints, just type 'B' with no number in front of it. -To delete a breakpoint, enter its address followed by 'D', so - -e1/0010D - -deletes the above breakpoint. The addresses work like the IIgs monitor: -once you change banks, you can use shortcut addresses: - -e1/0010B -14B - -will add breakpoints at e1/0010 and e1/0014. - -This is a "transparent" breakpoint--memory is not changed. But any -read or write to that address will cause KEGS to halt. So you can -set breakpoints on I/O addresses, or ROM, or whatever. Setting a breakpoint -slows KEGS down somewhat, but only on accesses to the 256 byte "page" -the breakpoint is on. Breakpoints are not just instruction breakpoints, -they also cause KEGS to halt on any data access, too (usually called -watchpoints). - -Frederic Devernay has written a nice help screen available in the -debugger when you type "h". - -Useful locations for setting breakpoints: -0/3f0B - Break handler -0/c000B - Keyboard latch, programs read keys from this address - - - -KEGS command-line option summary: --------------------------------- - -There are others, but the Configuration panel provides a better way to -set them so they are no longer listed here. --skip: KEGS will "skip" that many screen redraws between refreshes. - -skip 0 will do 60 frames per second, -skip 1 will do 30 fps, - -skip 5 will do 10 fps. --audio [0/1]: Forces audio [off/on]. By default, audio is on unless - the X display is a remote machine or shared memory is off. - This switch can override the default. -audio 0 causes KEGS to - not fork the background audio process, but Ensoniq emulation - is still 100% accurate, just the sound is not sent to the - workstation speaker. Audio defaults off on Linux for now. --arate {num}: Forces audio sample rate to {num}. 44100 and 48000 are - usual, you can try 22050 to reduce KEGS's overhead. On a reasonably - fast machine (>250MHz or so), you shouldn't need to mess with this. --dhr140: Will use the old Double-hires color algorithm that results in - exactly 140 colors across the screen, as opposed to the blending - being done by default. - -X-Windows/Linux options --15: KEGS will only look for a 15-bit X-Window display. --16: KEGS will only look for a 16-bit X-Window display (not tested, probably - will get red colors wrong). --24: KEGS will only look for a 24-bit X-Window display. --display {machine:0.0}: Same as setting the environment variable DISPLAY. - Sends X display to {machine:0.0}. --noshm: KEGS will not try to used shared memory for the X graphics display. - This will make KEGS much slower on graphics-intensive tasks, - by as much as a factor of 10! By default, -noshm causes an - effective -skip of 3 which is 15 fps. You can override this - default by specifying a -skip explicitly. - - - -Apple IIgs Control Panel: ------------------------- - -You can get to the Apple IIgs control panel (unless some application -has locked it out) using Ctrl-Command-ESC. - - -How to use "to_pro": -------------------- - -This lame utility serves two purposes: It "formats" large disk images, -and lets you move files from Unix into the simulator. It does this -by taking the files you provide, and putting them onto Unix file called -"POOF1" that is an image in ProDOS format. - -So, if you have a wolfdemo.bxy file from an FTP site, you can get it -into the emulator by: - -to_pro -800 wolfdemo.bxy - -which creates an 800K Unix file called "POOF1". POOF1 is now an -image that can be loaded into KEGS, and when you catalog it, it will -have wolfdemo.bxy on it. - -To create a 4MB image: - -to_pro -4096 wolfdemo.bxy - -which puts wolfdemo.bxy on a much larger image. - -I don't know what happens if the file, wolfdemo.bxy, is bigger than -the image...it probably crashes. - -Even if you want to format a "blank" image, you have to put something in it. -Like: - -echo "This is a lame utility" > foo -to_pro -16384 foo - -...creates a 16MB POOF1 with the file foo on it. Just delete foo -from within KEGS. - -See? I told you it was a lame utility! - -to_pro can handle up to 51 files at a time--for example: - -to_pro -32000 *.shk - -...would put all *.shk files in the current Unix directory into a 31.25MB -image called POOF1. - -To_pro tries to truncate Unix filenames to the 15 character ProDOS -limit, and converts all punctuation to dots. I've tested it enough -that it has worked for my purposes. - -The algorithm to_pro uses to create a disk volume is possibly suspect. -I recommend reformatting any images again inside KEGS (using GS/OS, for -instance) just to make sure the directory structure is good. To_pro -is intended to put files into images quickly and easily, and then to -copy the files off of those images onto images formatted from within -KEGS by an Apple IIgs OS. - -Since ProDOS cannot handle > 32MB images, make sure you run to_pro with -arguments under 32767. I personally haven't tried a partition bigger -than 30000K (about 2.5MB short of the maximum). Well, you can use bigger -images if you format them HFS, but I don't trust the GS/OS HFS driver. - -To_pro automatically sets the ProDOS filetype of files ending in ".shk" -to $E0. - -Details on config.kegs and disk images --------------------------------------- - -The file "config.kegs" describes the images KEGS will use. Although you -can edit the file manually, in general you can use the Configuration Panel -to make all the changes you need. This information is for reference. - -KEGS by default will boot s7d1 (unless you've changed that using the -Apple IIgs control panel), so you should put an image in that slot. - -KEGS, by default, runs the IWM (3.5" and 5.25" disks) emulation in an -"approximate" mode, called "fast_disk_emul". In this mode, KEGS -emulates the hardware "faster" than real, meaning the data the code -being emulated expects is made available much faster than on a real -Apple IIgs, providing a nice speed boost. For instance, the 5.25" -drives run 10x the real speed usually. Almost everything will work -except for nibble copiers, which don't like the data coming this fast. -(Meaning, unless you're using a nibble copier, you shouldn't run into an -issue. All games/demos/etc run fine in this mode). To make nibble -copiers work, Press F7. - -KEGS can read in the ".nib" nibblized disk format, but as read-only mode. If -the emulated image is no longer ProDOS or DOS 3.3 standard, KEGS will -automatically treat the image as "Not-write-through-to-Image" from then -on. This mode means KEGS will continue to emulate the disk properly in -memory, but it cannot encode the changes in the standard .dsk or .nib -image format. It prints a message saying it has done so. However, -the "disk" in emulation is fully useable as long as KEGS is running. A -standard reformatting will not cause an image to flip to not-write- -through-to-Image, but running things like a "drive-speed" test will cause -further changes not to propagate to the Unix file. You will need -to "eject" the image and re-insert it before writes will take effect. - -In full accuracy mode (i.e., not fast_disk_emul), 5.25" drive accesses -force KEGS to run at 1MHz, and 3.5" drive accesses force KEGS to run at -2.5MHz. - -KEGS Timing: ------------ - -KEGS supports running at four speeds: 1MHz, 2.8MHz, 8.0MHz, and Unlimited. -Pressing the middle mouse button cycles between these modes. The 1MHz -and 2.8MHz speeds force KEGS to run at exactly those speeds, providing -accurate reproduction of a real Apple IIgs. - -KEGS will always run at 1MHz at least. If it is unable to keep up, -it will extend the emulated time to maintain the illusion of running -at 1MHz. That is, it may do just 40 screen refreshes per real second, -instead of the usual 60. This happens rarely. - -If you force KEGS to run at 1MHz, it will strive to run at exactly -1MHz (well, really 1.024MHz). If it is running faster (almost always), -it will pause briefly several times a second to maintain the 1MHz speed. It -does this in a friendly way that makes time available to other tasks. -This makes older Apple II games very playable just like a -real Apple IIgs on slow speed. KEGS is running at exactly the same -speed as an Apple //e when in 1MHz mode. The 1MHz mode you set -through the right mouse button overrides the "fast" mode you can access -through the control panel. But, 3.5" accesses will "speed up" to 2.8MHz -to enable that code to operate correctly while the 3.5" disk is being -accessed. - -If you force KEGS to run at 2.8MHz, KEGS tries to run at exactly 2.8MHz. But -like a real unaccelerated Apple IIgs, if you set the control panel to -"slow", it will really be running at 1MHz. Accesses to 5.25" disk -automatically slow down to 1MHz, when running the IWM in accurate -mode (F7). KEGS may not be able to keep up with some programs running -at 2.8MHz due to video and sound overheads on lower-end machines. If -that happens, it effectively runs slower by extending the emulated -"second", like in the 1MHz mode. You can tell this is happening -when Eff MHz in the status area falls below 2.5MHz. If KEGS is running -faster than 2.8MHz, it takes small pauses to slow down, just like in -1MHz. Many Apple IIgs demos must be run at 2.8MHz. The built-in -selftests (cmd-option-ctrl-Reset) must run at 2.8MHz. Many Apple IIgs -action games are more playable at 2.8MHz. - -The 8.0MHz setting means follow the ZipGS-selected speed, but don't go -faster than 8.0MHz. If your host computer cannot keep up, then the -emulated second will be extended. You can use the ZipGS control panel, -or ZIPPY.GS on the sample disk image to set the emulated ZipGS speed to -anything from 1MHz to 8MHz in .5MHz increments. - -The Unlimited setting means run as fast as possible, whatever speed that -is (but always above 1MHz). Eff MHz gives you the current Apple IIgs -equivalent speed. Many games will be unplayable at the unlimited -setting. Setting the IIgs control panel speed to "slow" will slow down -to 1MHz. - -Sound output has an important relationship to KEGS timing. KEGS must -play one second of sound per second of emulated time. Normally, this -works out exactly right. But as noted above, if KEGS can't maintain the -needed speed, it extends the emulated second. If it extends the second -to 1.4 real seconds, that means KEGS only produces 1.0 second of sound -data every 1.4 seconds--the sound breaks up! - -In all cases, 1MHz to KEGS is 1.024MHz. And 2.8MHz to KEGS is 2.56MHz -(trying to approximate the slowdown causes by memory refresh on a real -Apple IIgs). It's just easier to say 1MHz and 2.8MHz. - - -KEGS SAMPLE_DISK: ----------------- - -I'm providing a sample disk of freely available utilities/programs to -demonstrate a little of what KEGS can do. I'm also including my simple -changes to a benchmark called "SPEEDTEST" to make it run under ProDOS and -time itself automatically. The SAMPLE_DISK is not bootable since I'm -not sure if I can distribute PRODOS (the OS). - - - SPEEDTEST: - --------- - -In the folder "SPEEDTEST", there are two BASIC programs. OLD.SPEEDTEST -is the old, unmodified DOS 3.3 emulator benchmark by Clayten Hamacher. -It does not run properly under ProDOS 8. My modified version is -SPEED.PRO, meaning converted to ProDOS. I made few modifications, other -than to make the benchmarks time themselves. - -To run, just say "RUN SPEED.PRO". To run benchmarks, press "B". If -you say "A)ll tests", make sure you have a 5.25" disk image in s6d1! -(A blank 140K image will work fine). - -This modified SPEED.PRO can run on ANY Apple IIgs emulator (or on the real -thing). - - GSOS7, GSOS5, BYE.SYSTEM: - ------------------------ - -These are handy utilities I use on my s7d1 boot disk. Get a GS/OS 6.x -bootable disk image. (See GSOS.INFO file for how to get GS/OS). -Remove "PRODOS" from that disk's root directory, and copy GSOS7 to -the root directory. Then copy SYSTEM/P8 to PRODOS. Then move -BASIC.System into SYSTEM/. Then copy BYE.SYSTEM to the root directory, -then move BASIC.SYSTEM back to the root directory. - -What all this means is that now the root directory of your system disk -is: GSOS7, (other stuff), PRODOS, BYE.SYSTEM, and BASIC.SYSTEM. -When you boot, ProDOS will boot (this is PRODOS 8) and will search -for the first *.SYSTEM file, and run it. BYE.SYSTEM just does a BYE -command, which puts you in the PRODOS 8 textual launcher. -If you now select GSOS7 (the first entry, already highlighted, just -hit return), it will boot GSOS on slot 7. (Use GSOS5 to boot slot5). -Or, just move down and select BASIC.SYSTEM to go to BASIC. A very simple -program launcher!? - -Note that I didn't write GSOS5 or GSOS7--I just made a one byte hack -to the default GS/OS launcher. No real wizardry is going on here. - - - SHRINKIT3.4, GSHK1.1: - -------------------- - -Useful for unpacking .SHK files you can download off of the net. -Always use GSHK (GS/OS version of ShrinkIt) for GS programs since -they may have resource forks. It's also faster. GSHK must be run from GS/OS. - - LISTV2.0: - -------- - -ProDOS 8 text file lister, useful for viewing text files. - - Wolfenstein3D: - ------ - -Wolfenstein 3D for the Apple IIgs. No kidding! Must be run from GS/OS. - - SOUND22: - ------- - -Cool little ProDOS 8 program (SOUND.EDITOR) that plays hi-fidelity -(relatively) through the old Apple II speaker. This is included as a -demonstration of how accurate KEGS sound emulation is. - - Sound.Smith.95: - -------------- - -GS/OS application that plays SoundSmith songs, which are spreadsheet music, -like MODs. I included some sample songs--FILE.11, FILE.16, FILE.17, and -SPACE.HARRIER. Enjoy! - - SOLITAIRE: - --------- - -Klondike. I like the interface on this game. - - CAT.DOCTOR: - ---------- - -From Prosel8 (which is now public domain), this utility is very handy for -sorting directories (among other things). Useful for arranging GSOS7, -and BYE.SYSTEM mentioned above. - - BGSOUND: - ------- - -This CDA lets you play Soundsmith songs in the background while other -applications are running. Very handy for playing Solitaire with some music. - - DOCVu.CDA: - --------- - -This CDA shows the current DOC contents in real-time. It has neat visual -effects while playing Soundsmith songs. - - Zippy.gs - -------- - -Very useful ProDOS 8 program by Andy McFadden for setting ZipGS parameters. -In KEGS, you'll want to use this to change the Zip speed to less than -100% to make the "Unlimited" speed become limited to 7.5MHz, which is -useful for some games. - - -KEGS: What works: ------------------ - -Basically, just about every Apple II program works. See the file -README.a2.compatibility for directions on how to make certain games/programs -work. - -KEGS is EXTREMELY compatible. But, I haven't tested everything. Let -me know if you find a program which is not working correctly. - -Some old Apple II 5.25" games require the old C600 ROM image, and don't work -with the default Apple IIgs ROM. This is not KEGS's fault--these games -don't run on a real Apple IIgs either. KEGS has built-in the old Apple II -Disk PROM which you can enable by using the IIgs control panel to set -Slot 6 to "Your Card". This allows many more Apple II games to run, and -is the recommended setting. - -The NinjaForce Megademo mostly works, but sometimes hangs in the BBS Demo. -Just skip that demo if it happens. - -The California Demo hangs at startup unless you use the IIgs control panel -to boot from slot 5, and then do a ctrl-Open_Apple-Reset to boot--doing -the above lets it work fine. This seems to be a bug in the demo. - - -KEGS bugs: ---------- - -On a ROM03, KEGS makes a patch to the ROM image (inside emulation, not -to the Unix file) to fix a bug in the ROM code. Both ROM01 and ROM03 -are patched to enable use of more than 8MB of memory. I then patch the ROM -self-tests to make the ROM checksum pass. But other programs, like -the Apple IIgs Diagnostic Disk, will detect a ROM checksum mismatch. -Don't worry about it. - -Sound breaks up if KEGS is unable to keep up--it should only be happening -if you are trying to force KEGS to run at 2.8MHz, but cannot due to -sound and video overhead. - - -Sound emulation: ---------------- - -KEGS supports very accurate classic Apple II sound (clicking of the -speaker using $C030) and fairly accurate Ensoniq sound. - -When KEGS determines that no sound has been produced for more than -5 seconds, it turns off the sound calculation routines for a small -speedup. It describes that it has done this by saying "Pausing sound" -in the debug window. However, when sound restarts, it sometimes -"breaks-up" a little. I will work on fixes for this. - -If your display is not using shared memory, audio defaults to off unless -you override it with "-audio 1". - -SCC (Serial Port) emulation: ---------------------------- - -KEGS emulates the two serial ports on a IIgs as being two Unix sockets. -Port 1 (printer port) is at socket address 6501, and port 2 (modem) -is at socket address 6502. - -By default, slot 1 is emulated using a simple receive socket, and slot 2 -emulates a Virtual Modem. - -A Virtual Modem means KEGS acts as if a modem is on the serial port -allowing Apple II communcation programs to fully work, but connected to -internet-enabled sockets. KEGS emulates a "Hayes- Compatible" modem, -meaning it accepts "AT" commands. You can use KEGS to connect to free -telnet-BBSs, or run a BBS program on KEGS and become a telnet BBS yourself. - -The two main AT commands are: ATDT for dialing out, and ATA for receiving -calls. To dial out, enter "ATDThostname", or for example, -"ATDTboycot.no-ip.com" (which is down at the moment, unfortunately). -You can also enter an IP address, like "ATDT127.0.0.1". On a Mac, to -create a telnet server to allow telnet connections (do not use over the -internet, but on a private network behind a firewall, this should be -fine), in a Terminal window type: "sudo /usr/libexec/telnetd -debug". -You must then enable telnet on port 23 through your Mac OS X Firewall in -the System Preferences->Sharing->Firewall page (just add port 23 as -open--you'll need to use the "New..." button and then select Other for -Port Name, and enter Port Number as 23). Then from KEGS in a -communications program, do "ATDT127.0.0.1", and then log-in to your Mac. - -KEGS also accepts incoming "calls". Start KEGS, and initialize the -Virtual Modem with some AT command (ATZ resets all state, and is a useful -start). KEGS now has a socket port open, 6502 for slot 2, which you -can connect to using any telnet program. In a Terminal window, then -type "telnet 127.0.0.1 6502" and you will connect to KEGS. The Virtual -Modem then starts printing "RING" every 2 seconds until you answer with -"ATA". You are now connected. I have not tried BBS programs, but have -made connections with ProTERM. - -On Windows XP SP2, when KEGS tries to open this incoming socket, you'll -need to enable it and click Unblock to the dialog that Windows pops up. -If you do not want incoming connections, you can block it instead. - -Once connected, you can go back to talking to the Virtual Modem by -pressing + three times quickly (+++), and then not type anything for a second. -This goes back to the AT-command mode. You can now "ATH" to hang up, or -"ATO" to go back online. - -On Windows, the socket code is very preliminary and there are problems -receiving connections. - -KEGS also supports an older, simpler socket interface, which it defaults -to using on slot 1. In KEGS, from APPLESOFT, if you PR#1, all output will -then be sent to socket port 6501. You can see it by connecting to the -port using telnet. In another terminal window, do: "telnet localhost 6501" -and then you will see all the output going to the "printer". - -Under APPLESOFT, you can PR#1 and IN#1. This gets input from the -socket also. You can type in the telnet window, it will be sent on -to the emulated IIgs. You may want to go to the F4 Config Panel and set -"mask off high bit" for serial port accesses to make PR#1 work a little nicer. - -You can "print" from BASIC by using something like PR#1 in KEGS and -"telnet localhost 6501 | tee file.out" in another window. - - -KEGS status area: ----------------- - -The status area is updated once each second. It displays info I am -(or was at some time) interested in seeing. - -Line 1: (Emulation speed info) -dcycs: number of seconds since KEGS was started -sim MHz: Effective speed of KEGS instruction emulation, not counting - overhead for video or sound routines. -Eff MHz: Above, but with overhead accounted for. Eff MHz is the - speed of an equivalent true Apple IIgs. This is extremely - accurate. -sec: The number of real seconds that have passed during on of KEGS's - emulated seconds. Should be 1.00 +/- .01. Under 1 - means KEGS is running a bit fast, over 1 means KEGS is - running slow. When you force speed to 2.5MHz, if KEGS - can't keep up, it extends sec, so you can see how slow - it's really going here. -vol: Apple IIgs main audio volume control, in hex, from 0-F. -pal: Super-hires palette that is unavailable. KEGS needs one palette - for the standard Apple // graphics mode on an 8-bit display, - and it grabs the least-used palette. Defaults to 0xe. - You can try changing it with F10. If you change it to a - palette that is not least used, KEGS changes it back in - one second. Any superhires lines using the unavailable - palette will have their colors mapped into the - closest-matching "lores" colors, to minimize visual - impact. -Limit: Prints which speed setting the user has requested: 1MHz, 2.8MHz, - or Unlimited. - -Line 2: (Video and X info) -xfer: In hex, number of bytes transferred to the X screen per second. -xred_cs: Percentage of Unix processor cycles that were spent in the X - server (or other processes on the machine). -ch_in: Percentage of Unix processor cycles spent checking for X input Events. -ref_l: Percentage of Unix processor cycles spent scanning the Apple IIgs - memory for changes to the current display screen memory, - and copying those changes to internal XImage buffers. -ref_x: Percentage of Unix processor cycles spent sending those XImage buffers - to the X server. Very similar to xred_cs. - -Line 3: (Interpreter overhead) -Ints: Number of Apple IIgs interrupts over the last second. -I/O: Rate of I/O through the fake smartport interface (hard drives). - Does not count 3.5" or 5.25" disk accesses. -BRK: Number of BRKs over the last second. -COP: Number of COPs over the last second. -Eng: Number of calls to the main instruction interpreter loop in the - last second. All "interrupts" or other special behavior - causes the main interpreter loop to exit. A high call - rate here indicates a lot of overhead. 12000-15000 is normal. - 20000+ indicates some sort of problem. -act: Some instructions are handled by the main interpreter loop returning - special status "actions" to main event loop. This is the - number over the last second. Should be low. -hev: This tracks HALT_EVENTs. KEGS returns to the main loop to recalc - effective speed whenever any speed-changing I/O location is - touched. See the code, mostly in moremem.c -esi: This counts the number of superhires scan-line interrupts - taken in the last second. -edi: This counts the number of Ensoniq "special events" over the last - second. A sound that stops playing always causes a KEGS - event, even if it doesn't cause a IIgs interrupt. - -Line 4: (Ensoniq DOC info) -snd1,2,3,4: Percentage of Unix processor cycles spent handling various - sound activities. snd1 is the total sum of all sound overhead. -st: Percentage of Unix cycles spent starting new Ensoniq oscillators. -est: Percentage of Unix cycles spent looking for 0 bytes in sounds. -x.yz: This final number is the average number of oscillators playing - over the last second. Up to 4.00 is low overhead, over - 20.0 is high overhead. - -Line 5: (Ensoniq DOC info) -snd_plays: Number of calls to a routine called sound_play, which - plays Ensoniq sounds. Always called at least 60 times per sec. -doc_ev: Number of Ensoniq (DOC) events in the last second. A sound - stopping is an event, but changing a parameter of a sound - while it is playing is also an event. -st_snd: Number of sounds that were started in the last second. -snd_parms: Number of times a sound parameter was changed while it - was playing. - -Line 6: (IWM info) -For each IWM device, this line displays the current track (and side for -3.5" disks). If a disk is spinning, there will be an "*" next to the -track number. Only updated once a second, so the disk arm moving may -appear to jump by several tracks. "fast_disk_emul:1" shows that KEGS -is using less accurate, but faster, IWM emulation. Press F7 to toggle -to accurate disk emulation. - - -Documentation To-Do: -------------------- - -Describe the tracing and breakpoint debug features. -Describe the debug interface. -Describe how the code works. -Describe more of what's known to work. -Describe my changes to SPEEDTEST. - -KEGS To-Do: ----------- - -Better serial port emulation (printing, comm) -Better nibblized images. -Fix the Ensoniq bugs to make sound more accurate. - -------------------- - -If you have any problems/questions/etc., just let me know. - -Special thanks to Jeff Smoot of climbingwashington.com for letting me use -the picture of a keg for the Mac icon. - -Kent Dickey -kadickey@alumni.princeton.edu - - -X Window (Linux) interface information: --------------------------------------------- - -Every version of Linux is different. Supporting this is very difficult -especially since I do not run Linux myself. - -If KEGS fails to start, try the following options: - -kegs -audio 0 -noshm - -There may be a bug with drawing the border on x86 Linux with Shared Memory-- -add the options "-noshm -skip 0" to fix this up (but lose some graphics -performance, sorry). Try KEGS without these options first, but use -this as a workaround if necessary. - -If you want the display to go somewhere different, make sure the shell -environment variable $DISPLAY is set, or give the command-line argument -"-display {foo}". - -KEGS also forks off a subprocess to help handle the sound if audio is -active. If KEGS crashes in a unusual way (a core dump, for instance), -you may have to manually kill the subprocess. ("ps -ef| grep kegs;kill -xxxxx"). - -User geoff@gwlink.net adds some notes for mounting disks/floppies/CDs under -Solaris: - - To use a CDROM, insert the CD and let Volume Management mount it. - Edit kegs_conf and use the filesystem that shows up in the "df -k" - listing. The volume name of the CDROM must be included. For example, - a CDROM in an IDE drive would look like this: - - /vol/dev/dsk/c1t0d0/ciscocd - - A CDROM in a SCSI drive would look like this: - - /vol/dev/dsk/c0t6d0/j1170_10804 - -To provide low-level ADB emulation, KEGS turns off Unix key repeat when the -focus is in the KEGS window. It should be turned back on every time -the pointer leaves the KEGS window, but sometimes it doesn't. Re-running -KEGS (and then quitting it quickly) should turn key-repeat back on, -or you can type 'xset r' in another terminal window. - -Sometimes the converse is true--key repeat is "on" when the cursor is -in the KEGS window. Moving the cursor out of the window and then -back in should solve it. This is sometimes noticeable when running -Wolfenstein 3D GS. I haven't spent much time debugging the problem. -I think it may be the X Server. - -KEGS uses a private color-map for its X-window in 8-bit mode. This -may cause colormap "flash" when your cursor enters the window. - -KEGS details/troubleshooting ----------------------------- - -KEGS will work on all platforms with a 15/16-bit, 24-bit, or 32-bit -color display. KEGS also supports an 8-bit display on X windows only. -On all platforms, it autodetects the color depth--no color switching -is necessary as long as you're at a supported depth. - - -Disk Image Details - -Images loaded into slot 6 (drive 1 or 2) are assumed to be 140K -5.25" disks, which is usually have the extension ".dsk". Images -loaded into slot 5 (drive 1 or 2) are assumed to be 800K disk images -and can be in any supported imahe format (including partitions, if -you have 800K partitions). Images loaded into slot 7 (drives 1 -through 32) can be in any format and can be any size up to 4GB. - -KEGS boots s7d1 by default. You can change this using the emulated IIgs -control panel, just like a real Apple IIgs. KEGS emulates a IIgs with -two 5.25" drives in slot 6, two 3.5" drives in slot 5, and up to 32 -"hard drives" in slot 7. However, the current Configuration Panel only -lets you set through s7d11. ProDOS 8 can access disks up to s7d8, but GSOS -has no limit, so it's best to put HFS images past s7d8 in order to leave -more slots for ProDOS images. - -If you're trying to use a real host device (CD-ROM, or hard drive, or -floppy), you should make the permissions on the /dev/disk* files something -like (meaning, everyone should have read permission): - -brw-r--r-- 1 root operator 14, 0 Jun 10 00:01 /dev/disk2 - -You can do this on a Mac with: - -sudo chmod 644 /dev/disk2 - -DO NOT RUN KEGS AS ROOT. It is not designed for this and it's almost certain -problems will ensue. - diff --git a/README.linux.partitions.txt b/README.linux.partitions.txt deleted file mode 100644 index abfa8ed..0000000 --- a/README.linux.partitions.txt +++ /dev/null @@ -1,252 +0,0 @@ -[ This info provided by Mike Thomas ] -[ Updated 10/30/2003 by Kent: This file mentions editing "kegs.conf" to ] -[ mount images--this is now replaced by the built-in Configuration Panel. ] - -Setup and configuration for x86 Linux: --------------------------------------- - -KEGS is very easy to setup on your Linux box, but not foolproof. First -you will need to decide where it will live. When doing this you will -have to take into consideration any users of your machine. It really -doesn't matter where it goes but it should have it's own directory and -any supplied sub-directories should be there. You may decide to use the -/usr/local path where most systems recommend you install applications. -Again, this is entirely up to you. On my system I have a separate -partition for KEGS and all the miscellaneous files I've accumulated for -it. This makes it easy for me to reinstall the system should the need -arise. Since I fool around with a large variety of software and OS's -this happens more often than it would for normal users. - -Once you have put the files into the proper place you will need to -compile it. You should not need to be 'root' to do this part. The file -README.compile explains the steps required for this. Basically all you -should need to do is set the vars link to point to the file -vars_x86linux. You will want to check the file and make sure it is -accurate for your system. On my Redhat 6.0 system the default compile -setup works fine. I use the pentium GCC compiler instead of the -supplied EGCS since it seems to build better binaries. I do not -recommend using optimization levels higher than 2. Once you have -successfully built the binaries you will need to copy them to the KEGS -directory. At a minimum copy the file kegs and to_pro. - -Ok, now that you have the binaries you're almost ready. You will need a -copy of the IIgs rom placed in the KEGS directory. It should be named -ROM. You will also need some disk images. This is the hardest part. -You will need to create an HD image to work with. Kent mentions an easy -way in his readme. From the shell type this: - -echo "testfile" > testfile -to_pro -16384 testfile - -If you're using bash try this: - -echo "testfile" > testfile -./to_pro -16384 testfile - -This should create a 16 megabyte HD image. This image will NOT be properly -formatted to boot a system. The block zero is not properly setup. There is no -easy way to fix this with the current KEGS/Linux system. There seems to be a -problem formating HD files for Prodos using KEGS. The system will easily erase -them but this doesn't help you. One solution is to make the primary boot drive -use a disk partition. This is more involved and will be explained later. -Another solution is to have access to the utility Block.Warden or some other -P8 block utility. What you need to do is copy the boot blocks (blocks 0 and 1) -from any bootable disk to the HD image. With that done you can now install -GS/OS. - -Make sure you set the proper file permissions on files needed by KEGS. You -will not be able to properly use it while logged on as root. KEGS uses the -file permissions to test if it should write the image to disk or the memory -image. As root, KEGS will never write the image since it thinks root -always has execute privilege. The main files which you will need read/write -access to are bram.data.1 and disk_conf. I suggest you have read access to all -the other files in the directory. - -Once you've got all the proper permissions set, log onto the system with your -normal account. Start up X and a shell and cd to the KEGS directory. Assuming -you have the disk images for GS/OS edit your disk_conf file so it looks -similar to this: - -# boot from install disk -s7d1 = /usr/local/fst/gsos1 - -# our HD image -# you should rename POOF1 file created with to_pro -# I use *.hdv to be compatible with other utilities -s7d2 = /usr/local/fst/boot.hdv - -# other GSOS images -s7d3 = /usr/local/fst/gsos2 -... - -If you include all the GSOS images this way you will have a simple setup. -Execute KEGS. For now go with the simplest command line possible. Since the -newer versions support auto detect on video resolutions this should be the -command kegs by itself. Hopefully you will boot into the emulator. If so, -install GSOS and you're ready to go. - - -Sound ------ - -Kent says sound doesn't work under Linux. This is partially true and much -depends on the sound system you have installed. I have been successful with -sound on both Soundblaster and Soundpro systems. For long compositions the -sound may break up but it is functional for games and system sounds. - - -System Video Setup ------------------- - -This is rather personal and based upon system hardware so I'll just give you my -thoughts and setup info on this. My normal X system is configured -@ 1152x864 15bpp due to constraints in the X server for my video system. I -have custom configured it to boot into this mode and then I change to 800x600 -by using the CTRL+ALT+(keypad)PLUS sequence when I use KEGS. This makes the -system much easier to read. - - -KEGS and disk partitions ------------------------- - -Kent mentions using partitions in his readme file but doesn't go into much -details. I suspect this is mostly for accessing CD-roms. But it also works -well for HFS and Prodos formatted partitions also. Linux can also handle HFS -partitions but not Prodos. To accomplish this you will need some free space on -your hard disk to create the partitions. You should not attempt this unless you -know what you are doing. You have been warned! - -This task is not easy, nor is it supported by Kent. This was done and tested -on my own system so I know it works. You will need the HFS support utilities -for Linux. These are available on several Linux software sites. The primary -need for these utilities is to change an ext2fs partition to an HFS partition. -You can also use them to format the HFS volumes and copy files to and from -the partition. Newer versions of the Linux kernel support HFS file systems but -you will still need the utilities to create the original volume. - -You must decide how you want to divide this partition. You can use it all for -HFS or you can create Prodos volumes and HFS volumes. There are pros and cons -for using Prodos partitions instead of files. The pros, it is a little faster -than using an HD file. It is a real Prodos partition, formatted by KEGS. The -cons, It must be backed up by using software on the emulator. You can't just -copy the HD file to another drive. - -You must weigh these pros and cons and decide for yourself. Of course you -are not limited to using partitions. I have a mix of partitions and files -which works quite well. I like the P8 partitions for holding my boot system -and applications. I back them up with GSHK to an HFS volume which I can then -transfer to another drive if I need even more security. - -If you decide to use the whole partition for HFS then all you need to do is -run the HFS utilities and setup the HFS volume. Read the documentation which -comes with the utility package and follow it faithfully. - -If you want to use P8 and HFS partitions you have some more work to do. If -you have never worked with low level partitions or are worried about destroying -your HD then you should probably forget this. For this to work you will have -to change the partition table on your HD. This can and most likely will ruin -any data you already have on there. I can not state this enough. Back up any -important data on the hard drive! It is possible to change the partitions in -Linux and not destroy the system. I have done this on mine but I also used -the last defined partition to make the changes and designed the system for -change should it be necessary. - -For those of you who know how to handle this, take the partition you have -decided to use for KEGS and divide it into at least one 32 meg partition. -More is better but you will have to use the emulator to back up any drives -setup this way since Linux can't access a Prodos partition (yet). I have setup -4 32 meg P8 partitions and several smaller HFS partitions of about 96 megs. -The reason I use smaller HFS partitions is because HFS isn't real efficient -with larger drives, but that's another story. The reason for the separate -HFS partitions is so Linux can mount the HFS volumes like any other file system. -I find this works quite easily for accessing files instead of using the HFS -utilities. Just my opinion though. For P8 utilities you will still need to -use the HFS utility and configure the drive as an HFS volume. This lets KEGS -read the partition when it loads the partition the first time. KEGS doesn't -like the Linux file system. - -Ok, everybody got their partitions defined? You want to use the HFS tools -and setup all the partitions (P8 and HFS) as HFS volumes. Next you will have -to setup the HFS partitions. No, I'm not repeating myself. This is not the same -thing as the low level partitions. HFS volumes have their own partition table. -For our purposes the table will only hold one partition on each whole volume. -The utility will give you the block count when you setup the partitions, -write it down so you don't forget. After you have the volume partition setup -you can format the drive. Yeah I know you made a Prodos partition but it -doesn't hurt anything and KEGS will be able to read the partition when it -boots up. - -Well, I think I covered everything needed to set them up. Now you will need to -edit the /etc/fstab file. Make sure there are no references to the original -partition. If you want to access the HFS volumes you will need to add them to -this file. You will also need to make sure that your Linux can understand the -HFS format. Most newer kernels will as long as you've compiled it into the -kernel or set it up as a module. KEGS doesn't need these entries to access -the volumes, they are just here for your convenience. In fact, if you don't -need Linux access I suggest you either leave them out or set them up as -NOAUTO and mount them only when needed. Unmount them when finished to avoid -any potential problems also. Do not give Linux access to any P8 partitions. -For one thing it can't recognize them and most likely will give you problems -when you boot the system. For safety's sake the only partition I have listed -in my /etc/fstab is a volume called transfer. You must set the filetype to HFS -so Linux doesn't complain about the partitions if you mount them. - -Ok, all partitions are defined, the /etc/fstab is setup correct, now you need -to change the permissions on the device files associated with the partitions. -This allows you to access the files as a normal user. (Thanks Kent, guess I -got too involved and forgot it should be treated like the CD). You will need -to reboot to ensure the system sees the new partitions and has the correct -/dev/hd?# device files. If you setup the partitions with fdisk you should know -the correct hd info to select the files. For the sake of example let's assume -the device is HDB and the partitions numbers are 1,2,3. From the shell, - -cd /dev -chmod 666 /dev/hdb1 -chmod 666 /dev/hdb2 -chmod 666 /dev/hdb3 - -After you start KEGS you can format the Prodos partitions. If you use the -method mentioned earlier for installing GS/OS you will want to quit the -installer and run the advanced disk utilities on the utilities disk, then -quit back to the installer program or reboot. - -Now I know this all sounds like a lot of trouble but (IMHO) it's worth it. For -one thing, KEGS will format a Prodos partition without problems (unlike an HD -file image) which makes a great boot system. And with GS/OS 6.01 you can access -large HFS volumes for storage and GS applications. You can also download from -the net to the HFS volume (if it's mounted) and avoid the trouble of copying -files to an image with to_pro. Not to mention the fact that the newest GNO -works with HFS drives. - -One more note, if you use HFS you will need to patch the HFS fst. There is a -one byte bug which mis-calculates HFS block sizes and WILL trash your HFS -drive. The patch is at several places on the net or ask someone in one of -the comp.sys.apple2 news groups. - -Miscellanea ------------ - -To ease access to the KEGS binary, make an executable script which contains -any command line parms you need. Then put this script somewhere in the path -so you can execute it from any shell. Depending on the desktop you use you -may want to setup links for editing the disk_conf file also. With GNO/ME you -can launch KEGS without the shell but I don't recommend this since you won't -know what happened when it dies. With KDE you can set up the launcher to use -a shell, this is much better but until you have your setup stable you will -want to use a regular terminal so you can keep track of what's going on. Like -GNO/ME, the KDE shell will close as soon as KEGS quits with an error. - - -Thanks ------- - -I hope this info helps you enjoy KEGS. Many thanks to Kent for creating this -fine emulator and for putting up with me bugging him with 'bug' reports. Many -of these weren't actually bugs but were my own fault due to lack of knowledge -about *nix systems. But Kent was prompt in fixing the ones which truly were -bugs. Thanks to him I can now play my favorite game, Questron 2 (gs version) -which requires a player disk in slot 5. I know no other emulator which can -actually play this game. - -Mike Thomas - diff --git a/README.mac.txt b/README.mac.txt deleted file mode 100644 index 92c5c0a..0000000 --- a/README.mac.txt +++ /dev/null @@ -1,41 +0,0 @@ - -MAC OS X port of KEGS (KEGSMAC): http://kegs.sourceforge.net -------------------------------------------------------------- - -There is a different port of KEGS to Mac OS X called KEGS-OSX. -You can get it from http://casags.net/. - -This port is not leveraged from KEGS-OSX (which is based on SDL). - -This is a Mac OS X Carbon port. It will not work on Mac OS 9. - -Everything pretty much works, but 8-bit color doesn't work. Make sure your -Mac is set to Thousands or Millions of colors. - -Usage: ------ - -Like most other KEGS versions, KEGSMAC is usually run from a Terminal -window. Just type "./KEGSMAC.app/Contents/MacOS/KEGSMAC" in the directory -you installed/compiled it in. You need to have a ROM file (named -ROM, ROM.01, or ROM.03) and a config.kegs in the same directory or in your -home directory (read the README--these files are searched for in various -places). - -KEGSMAC can also be run from the Finder, but if you do this, there -will be no debug window at all. This is not well tested, yet. - -To quit, either click the window close box, or select Quit from the menu. -You can also middle-click (if you have a 3-button mouse) or -Shift-F6 to get the debugger in the terminal window, and then type "q". - -Compile directions ------------------- - -In order to compile, - -1) cd into the src/ directory -2) copy vars_mac to vars -3) run make - -You can contact me at kadickey@alumni.princeton.edu diff --git a/README.win32.txt b/README.win32.txt deleted file mode 100644 index d3d0617..0000000 --- a/README.win32.txt +++ /dev/null @@ -1,52 +0,0 @@ - -WIN32 port of KEGS (KEGSWIN) ----------------------------- - -There is a different port of KEGS by Chea Chee Keong (akilgard) called -KEGS32. You can get it from http://www.geocities.com/akilgard/kegs32. -This port is leveraged from KEGS32, but mostly a rewrite (perhaps for -the worse). I am grateful for Chea for doing the windows port since I -did not know any Windows programming. - -This port is alpha quality. Don't expect much. - -This is a bare-bones Win32 port. It was compiled with Mingw2.0, -which you can download at: http://www.mingw.org/. I also had -previously installed cygwin at http://www.cygwin.com/. Installing -these two beasts is a bit of a pain, so I'll eventually write up -directions (I hope). - -Sound works, the mouse works, and a joystick might work (ported -from KEGS32). The user-interface is just like every other KEGS -version (i.e., bad), so you can just read the standard README file. - -Only tested on a 32-bit graphics display, although I think 16-bit and -24-bit will work. 8-bit definitely does not work. There are many -other bugs I just haven't had time to list yet. - -Usage: ------ - -Like most other KEGS versions, KEGSWIN must be run from a terminal -window (command.com is fine). Just type "KEGSWIN" in the directory -you installed/compiled it in. You need to have a ROM file (named -ROM, ROM.01, or ROM.03) and a kegs_conf in the same directory (or -read the README--these files are searched for in various places). - -To quit, either click the close box, or force quit the application. -You can also middle-click (if you have a 3-button mouse) or -Shift-F6 to get the debugger in the terminal window, and then type "q". - -Compile directions ------------------- - -In order to compile, - -1) cd into the src/ directory -2) rm vars -3) ln -s vars_win32 vars -3) ./make_win - - -You can contact me at kadickey@alumni.princeton.edu - diff --git a/doc/web/buildpost.bat b/doc/web/buildpost.bat index fb6e98f..fd3501d 100644 --- a/doc/web/buildpost.bat +++ b/doc/web/buildpost.bat @@ -1,5 +1,6 @@ cd target\site -perl -i.orig -p ..\..\removeMaven.re index.html perl -i.orig -p ..\..\removeMaven.re developing.html perl -i.orig -p ..\..\removeMaven.re ethernet.html +perl -i.orig -p ..\..\removeMaven.re history.html +perl -i.orig -p ..\..\removeMaven.re index.html cd ..\.. diff --git a/doc/web/buildpost.sh b/doc/web/buildpost.sh index b5b6ff2..699a095 100644 --- a/doc/web/buildpost.sh +++ b/doc/web/buildpost.sh @@ -1,6 +1,7 @@ #!/bin/sh cd target/site perl -i.orig -p ../../removeMaven.re developing.html -perl -i.orig -p ../../removeMaven.re index.html perl -i.orig -p ../../removeMaven.re ethernet.html +perl -i.orig -p ../../removeMaven.re history.html +perl -i.orig -p ../../removeMaven.re index.html cd ../.. diff --git a/doc/web/removeMaven.re b/doc/web/removeMaven.re index 3b07c29..e66fe6e 100644 --- a/doc/web/removeMaven.re +++ b/doc/web/removeMaven.re @@ -1,5 +1,3 @@ -s@\@Get Apple Disk Transfer ProDOS at SourceForge.net. Fast, secure and Free Open Source software downloads@ig; -s@\Built by Maven\@

@ig; -s@href="https://sourceforge.net/project/showfiles.php\?group_id\=170262"@href="https://sourceforge.net/project/showfiles.php\?group_id\=170262" target\="_new"@ig; -s@href="http://dataswamp.net/apple2eserialterm/index.php"@href="http://dataswamp.net/apple2eserialterm/index.php" target\="_new"@ig; +s@\@Get GSport at SourceForge.net. Fast, secure and Free Open Source software downloads@ig;s@\Built by Maven\@

@ig; +s@href="http://sourceforge.net/projects/gsport/files/"@href="http://sourceforge.net/projects/gsport/files/" target\="_new"@ig; s@\@\