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@\@\