*** empty log message ***

This commit is contained in:
tomch 2006-02-22 14:34:40 +00:00
commit f751855b4e
4 changed files with 555 additions and 0 deletions

111
docs/Bugs.txt Normal file
View File

@ -0,0 +1,111 @@
1.12.7.2 bugs:
. FIXED: BRK opcode only pushes PC+1, not PC+2 to stack
. Rich (news-group): Merlin 8 PRODOS v2.57, type O to save object code, specify name, press return (beep beep beep beep (static, rough sounding))
[Tried with 2.47 & 2.57, but can't reproduce. Have asked Rich for a save-state image just before problem]
. FLASHing in 80-col mode
. VBl IO reg not updated in 'Stepping' mode
--------------
1.12.6.0 bugs:
- I'm using a program that has some key combinations that require that both the open-apple and closed-apple keys be pressed at the same time with a key (i.e. open-apple + closed-apple + q). This works on a real Apple II.
. Numpad '0 + '.' + 'q' works though
. OA + Q = Q (
. OA + CA + Q = nothing
. OA + CA, then release OA, then + Q = Ctrl-Q (145)
+ Alt-Gr: WM_KEYDOWN[Left Control] then WM_KEYDOWN[Right-Alt]
[Win98(+XP?): 'Alt Gr' (Right-Alt) emits a Control key-press before the Right-Alt, so key combinations involving Closed-Apple (Right-Alt) will probably fail. Use Keypad's 'Del' instead.]
--------------
1.12.5.0 bugs:
- FIXED: In 80-column mode, the % character doesn't seem to have a slash at all, just the two dots.
From Oliver Schmidt:
- FIXED: The new tabbed dialog is quite tall - it even doesn't fit on the screen in full-screen mode. Fortunately the buttons are still accessable.
- FIXED: At least with my Windows graphics driver the mouse cursor flickers a lot when positioned over the AW window but not in full-screen mode.
> Does this happen at all times?
Just after booting up master.dsk and sitting "idle" at the Applesoft prompt.
When I try to switch to full screen AppleWin 1.12.5 exits without any
comment. There is no info box (about GPF), nothing. I use Win2K En SP4,
DirectX 9.0c, Matrox G400 with newest drivers
--------------
1.12.4.3 bugs:
- FIXED: Running w/out 6502 DLLs doesn't work (internal 6502 emu code is broken)
- FIXED: When in Apple][ mode, certain games crash to monitor:
. BurgerTime, Ultima3(MB version)
. Don't know when this bug was introduced
- Joystick Config: {Mouse, Disabled} -> {Mouse, Keyboard} does not work.
- FIXED: Incorrect chars: ~, `, {, }, %.
--------------
1.12.4.1 bugs:
- Need to check this:
> I'm using AppleWin 1.8j and trying to create a player disk to save my
> character in Ultima I. I have a valid blank disk image created and
> formatted (I think!), but no matter what I do, I get a 'Disk drive
> speed error' when the emulator accesses the disk image. I had this
> issue using Apple II Oasis also, so I'm assuming it's not an emulator
> problem.
Reply1:
1: It is an emulator problem.
Reply2:
I had this. I believe I just re-ran the calibration and it went away.
However, there are more recent versions of AppleWin available.
- FIXED: PAUSE emulator. Emulator runs at full-speed for a while after un-pausing.
- Screen-saver kicks-in while playing game which only uses joystick input (ie. no KB or mouse).
- FIXED: "Situation critical" game: key response is slow (fine with TK3000e).
- FIXED: "Olympic Decathlon" game: letters scrolling onto screen are jerky (fine with TK3000e - VBL?).
- Johnson Lam's Mock1.dsk still isn't 100%.
--------------
1.12.4.0 bugs:
- FIXED: CPU usage is 100%
- FIXED: Turning mocking board support turns Apple speaker off as well.
- Oliver Schmidt: I personally don't like the "adjusted" hires colors ;-)
- FIXED: Disk][ speed can be very slow.
- Disk speed test utils still show meaningless results (even with enhanced disk speed turned off). Check with Locksmith 6.0.
- FIXED: FLASHing text in mono-mode.
--------------
07/08/04: IanH@cableone.net
i found a crash bug. in full screen , if you move the mouse up and down the right side of the screen, it crashes without a message. i'm using win2k w/ sp4
17/05/04: Joshua Bell [mailto:inexorabletash@hotmail.com]
The calibration on first boot seems to have some issues on Windows XP Pro. This is frequently reported to the newsgroups. I haven't been able to figure out why. If you can get past the calibration it works just fine.
16/05/04: rfoxwell@wso.williams.edu [mailto:rfoxwell@wso.williams.edu]
- Win2K, DirectX9.0a & "Turtle Beach Santa Cruz" soundcard: MB output results in a horrid squeals/beep sound.
+ Sent a new build of AW (w/MAME AY8910 code). This resulted in a crash: "AW has generated errors and will be closed by Windows".
09/02/04: HeavyMetalBCAD@aol.com
Whenever I run AppleWin in full screen mode it always eventually
messes up (usually when i go to switch to a new game). Basically what happens is
it shuts down, or minimizes itself preventing me from keeping it full screen.
I've tried a couple different versions of the emulator but still have the same
problem.
30/01/04: Keith Weisshar
- The delreg.inf actually deleted the current user key and file assocations but failed to delete the local machine key. The last line should read HKLM,Software\AppleWin, not HKLM,SOFTWARE\AppleWin. The registry key is case-sensitive. Could you please change the SOFTWARE to Software in the last line of the delreg.inf file.
- The original delreg.inf file didn't delete the AppleWin registry for the local machine because you also forgot to end the last line with the return key. Each line including the last line must end with a return in order for the command to work. I edited the delreg.inf file with notepad and when I move the cursor to the end of the file the cursor was sitting at the end of the last line rather than the next line where it should be. The CRLF is missing from the last line in delreg.inf causing AppleWin to fail to delete the local machine registry key.
18/01/04: Keith Weisshar
- Why do I get an error AppleWin is unable to initialize the sound card when I try to reconfigure the sound to use the sound card. I have a Crystal sound chip built into the motherboard. I'm running Windows Millennium with DirectX 9.0b.
+ -m switch fixes this.
- Why does AppleWin run very fast on my AMD K6-2/300? I just downloaded AppleWin v1.12.3. I tried recalibrating the emulator but it still runs too fast. Is there any way to slow it down to the original Apple II speed?
16/01/04: Andreas Wirooks
- Soundcard doesn't work with 1.12.x (DX9.0b), but works with 1.10.4
+ Added -m switch so DirectSound isn't init'd

126
docs/CodingConventions.txt Normal file
View File

@ -0,0 +1,126 @@
Coding Conventions for AppleWin
===============================
History:
v2 - 16-Feb-2006 (TC)
. Updated after discussion with M.Pohoreski
v1 - 04-Feb-2006 (TC)
. First draft
-------------------------------------------------------------------------------
Introduction:
-------------
This doc defines a very simple set of coding guidelines to be used for AppleWin.
This ensures consistency & readability throughout the project, when worked on
by multiple developers.
-------------------------------------------------------------------------------
1) Project files:
1.1: Each module to have corresponding header
EG. Debug.cpp has a corresponding Debug.h
This is for shared vars, enums, structs, classes, etc.
1.2: AppleWin.h to only be used as per 1.1
1.3: Common.h to be used for any common definitions
EG. const/enum/struct
Obviously not for global funcs or vars.
1.4: .cpp files can drop the AW_ prefix
EG. Rename AW_Mockingboard.cpp to Mockingboard.cpp
1.5: PCH (stdhdr.h)
Could ditch this.
Does this gain anything for such a simple project?
-------------------------------------------------------------------------------
2) Coding Style:
2.1: Naming
The following simplied Hungarian style must be used:
Prefixes:
a : array
b : bool
e : enum variable
g_ : global
h : handle
i : iterator (eg. UINT, STL-iterator)
m : STL map
m_ : member
n : int
p : pointer
r : reference
s : string
sg_p : singleton (could also use 'sgp' - to be reviewed)
u : unsigned int
v : STL vector
Tags:
_e : named enum definitions
_t : struct/typedef
Legacy:
dw : DWORD [legacy: existing 'dw' to be replaced with 'u' prefix]
sz : string (null-terminated) [legacy:
EG:
enum MODE_e {MODE1, MODE2, MODE2};
MODE_e eMode;
struct PAIR_t
{
UINT uA;
UINT uB;
};
Simple loop counters (i,j,k) don't need to adhere to this style.
Don't go Hungarian-mad (you might argue that we already have :)
. an array of any type can just be prefixed with 'a'. Eg. Array of bools:
bool aFlags[NUM_FLAGS];
. a pointer to any type can just be prefixed with 'p'. Eg. Pointer to array of bools:
bool* pFlags;
Naming for parameters that are being modified (eg. OUT):
It is recommended (but not mandatory) to use a suffix of OUT or '_', eg:
bool Find(int* pFoundOUT);
bool Find(int* pFound_);
2.2: Matching braces
These should be have same indentation, unless the braces fit neatly on one line.
EG:
for (int i=0; i<10; i++)
{
// Some code
}
2.3: Scope of module vars/funcs
If module vars/funcs aren't wrapped in a class, then declare as static if not global.
2.4: const/enum favoured over #define
Try to use const/enum instead of #define
2.4: Use of bool over BOOL
Always use bool instead of BOOL
2.5: File header
Just description of module
No copyright or other (legal) notice to be used
2.6: Indentation
Tabs favoured over spaces.
2.7: Expression to be well spaced and parenthesised
It is recommended (but not mandatory):
. to have/use explicit parenthesis
. to have spaces between operators
Eg:
. Prefer: z = ((a + b) + 1) instead of: z=((a+b)+1)

237
docs/History.txt Normal file
View File

@ -0,0 +1,237 @@
AppleWin 1.12 history
=====================
This version of AppleWin is based directly on Oliver Schmidt's 1.10.4 source.
In an effort to distinguish any subsequent releases I make from the other
variants of AppleWin, my release numbering system shall be 1.12.xx.
Tom Charlesworth
tomcharlesworth AT blueyonder.co.uk
Restrictions/bugs:
- SSI263 emulation is very basic: there is no attempt to emulate rate, inflection or filters.
- Win98: 'Alt Gr' (Right-Alt) emits a Control key-press before the Right-Alt, so key combinations
involving Closed-Apple (Right-Alt) will probably fail. Use Keypad's 'Del' instead.
- During Mockingboard playback, Speaker emulation isn't precise
- Speech emu is broken under WinXP (and Win98 too?)
Acknowledgements:
- Debugger rewrite by Michael Pohoreski
- TV emulation mode by Thomas Stahl
- SSI263 phoneme samples from Chris Foxwell (still missing phoneme #0!)
- Harddisk card: source module & f/w by Robert Hoem
1.12.8.0 - 22 Feb 2006
----------------------
- *** Major re-write of debugger by Michael Pohoreski ***
. Debugger v2.4.2.15: Improvements & new features abound!
+ Syntax coloring, navigation, execution (eg. step-out), view memory as varying Ascii types
+ Symbol maintenance (main, user, source), source-level debugging, mini-calculator
+ Breakpoints: conditional on register, profiling + much more
. See: http://www.tomcharlesworth.pwp.blueyonder.co.uk/Intro_To_New_Debugger.htm
- Fixed speaker volume not being set correctly at start-up
- Fixed emulation speed control (was only running at 1MHz)
- Fixed internal ADC: was flagged as write to memory
- Fixed internal BRK: only pushed PC+1, not PC+2 to stack
- Fixed CPU not getting properly reset (eg. SP) on Ctrl+Reset
- Changed attenuation on AY8910 outputs before mixing: MB: none (was 2/3), Phasor: still 2/3
1.12.7.2 - 25 Jan 2006
----------------------
- Fixed crash-bug in C++ 65C02 emu code for opcode $7C : JMP (ABS,X)
- Updated help file (by Brian Broker)
- Added ability to use Shift+Insert to paste from clipboard during emulation
- Added buttons to Config->Sound tab to select Mockingboard (s4 & s5), Phasor (s4) or none
- Removed keyboard buffer from Config->Input (this was redundant from 1.12.7.0)
- Fixed speaker click (eg. when selecting disk image)
- Added check to prevent loading old & incompatible 6502 DLLs (caused random 6502 crashes to monitor)
- Added support for AE's RAMWorks III, which adds up to 8MB (cmd-line switch only):
. -r <#pages> : where #pages = [1..127], each page is 64KB.
. NB. The following aren't saved out to the save-state file yet:
. Phasor card (only the Mockingboards are)
. RAMWorks card
1.12.7.1 - 08 Jan 2006
----------------------
- Fixed cmd-line switches -d1/-d1 to work with filenames with spaces
- Reset: Init Phasor back to Mockingboard mode
- Benchmark button acts immediately
- Fixes to speaker emulation introduced in 1.12.7.0
- Adjusted speaker freq to work better with MJ Mahon's RT.SYNTH.dsk
- Fixed Bxx; ABS,X; ABS,Y; (IND),Y opcodes: take variable cycles depending on branch taken & page crossed
1.12.7.0 - 30 Dec 2005
----------------------
- Public release
- Fixed Apple][+ ROM (IRQ vector was vectoring to $FF59/OLDRST)
- Added cmd-line switches (-f, -d1, -d2)
. -f : full-screen
. -dn <image> : Load a disk image into a drive. A disk in drive-1 will force a reboot.
- Extended 6502 debugger (M1, M2, P0,...P4)
. Mn <addr> : Memory window 1/2
. Pn <zp-addr> : Display a zero-page pointer
. Extended memory-dump to output SY6522/AY8910 regs with SYn/AYn, eg: M1 AY0
. Added support for ACME symbol files
- Phasor support (defaulting to Mockingboard mode, available in slots 4 & 5)
- Display updated at ~60Hz (instead of 20Hz)
- Emulation broken into 1ms units (instead of video-frame units)
- Uses internal CPU emulator instead of DLLs (DLLs to be phased out)
1.12.6.1 - 23 Apr 2005
----------------------
- Added support for Votrax speech: emulated using SSI263 phonemes
- Added joystick x/y trim control to Input property sheet
- Added support for double-lores graphics
- Updated Applewin.chm
- Load state: F12 nows works like Ctrl-F12
1.12.6.0 - 19 Mar 2005
----------------------
- Public release
1.12.5.5 - 11 Mar 2005
----------------------
- Added support for clipboard paste.
- Fixed slow Disk][ when Mockingboard disabled problem.
- Fixed flickering mouse pointer problem.
1.12.5.4 - 11 Feb 2005
----------------------
- Added support for 2 HDDs (HDV images) from slot7
- Fixed Disk-swap bug.
1.12.5.3 - 4 Feb 2005
----------------------
- Internal
1.12.5.2 - 4 Feb 2005
----------------------
- Moved 'Monochrome Color' from main window to Config dialog
- Changed old 'Monochrome Color' button to 'Disk Swap' button (bitmap provided by The Rink).
1.12.5.1 - 24 Jan 2005
----------------------
- Rebuilt with new CHARSET4.bmp from "The Rink"
1.12.5.0 - 11 Dec 2004
----------------------
- Added browse dialogs for F11 & Ctrl-F12.
1.12.4.4 - 28 Nov 2004
----------------------
- Changed Configuration Dialog to Property Sheet Pages.
- Added Volume control for Speaker & Mockingboard.
- Added control for keyboard buffer.
- Added Save State page.
1.12.4.3 - 13 Nov 2004
----------------------
- Fixed problem with jerky graphics when in mixed HGR/TEXT (Olympic Decathlon).
- Fixed sudden burst of 'full speed' after unpausing.
- Fixed joystick emulation problem (Championship Lode Runner & Boulderdash).
- Fixed FLASH problem when nothing changing on TEXT screen.
- Fixed problem with internal 6502 emu's SBC opcode when in BCD mode (Dino Eggs).
- Fixed Pro Mockingboard compatiblity problem (Pro-MB accesses are now ignored).
- Added emulator save-state (Save=F11, Load=Ctrl+F12).
1.12.4.2 - 09 Nov 2004
----------------------
- Internal
1.12.4.1 - 14 Sep 2004
----------------------
- Fixed "CPU usage 100%" problem.
- Switch MB output from dual-mono to stereo.
- Relaxed TIMER1's max freq from ~62Hz (period=0x4000) to ~83Hz (period=0x3000).
- Fixed FLASH problem when in monochrome mode.
1.12.4.0 - 01 Aug 2004
----------------------
- Switched to MAME's AY8910 emulation
- Added support for SSI263 speech chip on Mockingboard
- Ctrl+Reset now resets MB
- Key presses: 2 buffers. Fixes problem where key presses are missed on faster PCs.
- Added FLASH support
- Switched Speaker to use DirectX
- Rebuilt using DirectX 9.0b library
- Removed AppleWin calibration when starting a new version
- Fixed 6502 emulation cycle-count inaccuracies, resulting in:
. Precise analogue joystick support (Rescue Raiders' joystick support now works)
. Precise Apple speaker
- Emulation speed control now works when using Mockingboard
- Full speed (Scroll-lock) mutes all sound (Speaker,Mockingboard)
- Fixed DELREG.INF
- Reset now switches Alternate char set off
- PC's delete key maps to Apple's DEL key
- Fixed characters: '6', '|', '_'
1.12.3 - 04 Jan 2004
--------------------
Changes:
- Added Thomas Stahl's TV emulation mode: "Color (TV emulation)".
Tested with Karateka, Mindshadow.
"As you probably know, many of the higher sophisticated Apple ][+
games made use of the blurr-effekt that color TV-monitors had on
patterns consisting of horizontal color stripes. Using this effect it
was possible to produce *solid* mix colors like grey, purple, pink,
yellow and aquamarine even in the 2+ *hi-res mode*."
- Included Thomas Stahl's adjusted hires colors:
He "adjusted the hires colors for a more realistic look -
at least in comparison with an Apple PAL-System."
- Changed wording in Config dialog: from "Color (optimized)" to "Color (text optimized)".
- Fixed Config dialog (speed settings were misplaced in 1.12.2).
- Fixed Joystick 2 for Mario Bros: Now when in dual-joystick mode, 2nd joystick
button controls both switches #1 & #2 as one.
- Fixed Mockingboard IRQ frequency problem (Ultima 4 & 5 tunes now play at correct rate).
- Added Applewin.chm to release zip. (NB. This hasn't changed from 1.10.4)
1.12.2 - 05 Jul 2003
--------------------
Changes:
- Added support for 2nd joystick.
If the 2nd Apple joystick is enabled, then the buttons are re-configured:
- Joystick 1 controls only button #0 (ie. not button #1 too)
- Joystick 2 controls only button #1 (ie. not button #2)
This is so that player 1 can't affect player 2's controls.
So there is no way to control button #2 via a joystick. I don't think this will be a problem.
Of course Left Alt, Right Alt and Shift still activate the 3 buttons.
NB. Disable 2nd joystick if playing a 1 player game that requires the use of buttons 0 and 1.
Tested with Archon I, Archon II and One-on-one.
1.12.1 - 24 Nov 2002
--------------------
Changes:
- Changed tone waveform from orthodox square-wave to a more logarithm shape,
based on real MB waveform analysis. This is by no means perfect, but in my
opinion gives the tones more musical quality.
- Added MB enable/disable switch to Configuration dialog.
- Added simple logging support. If AppleWin is started from the command line
(DOS box) with the '-l' switch, then a text log file, AppleWin.log, will be
generated. This can hopefully be used to diagnose problems some users are having.
1.12.00 - 17 Nov 2002
---------------------
- Initial release.
- Supports 2 Mockingboard cards in slots 4 & 5
- 12 voices and noise supported using DirectX 8.1.
- Tested on Win98, 2000 and XP platforms.

81
docs/Wishlist.txt Normal file
View File

@ -0,0 +1,81 @@
Requests (Wishlist):
====================
Priority:
. Right-click on drive icon to eject disk
. Shift keys map to button#2
. Ramworks support (see AppleWin 2.0 project src)
. DONE: Shift+Ins to paste from clipboard
. DONE: Cmd-line switches for: d1, d2, full-screen
Post 1.12.7.0:
- Light-gun support (if pixel under mouse is set, then set $C061.b7 (Richard Jackson))
Post 1.12.6.0:
- Map keys to PC gamepad buttons, eg. I,J,K,M -> Up,Left,Right,Down
- Echo II support
- Monitor /// output (with a gap between each scanline)
Post 1.12.5.0:
- Option to associate (or not) file types with AW.
- Option for the emulator to not lock the disks while they are in the (virtual) drives.
- New Debugger features:
> 1 SCR shows what the Apple monitor should look like at the current point
> 2 MDS same as ME but shows strings (ie "ABC" instead of "c1 c2 c3"
> 3 TS text search (and may be a hex search function too ?"
- Default monochrome mode to green
- Move 'Colour' button to PSP & replace with 'Disk-swap' button.
- Change 'Save State' dialog to say 'Save' instead of 'Open'.
- Associate .aws with AppleWin.
- Screen snapshot
- Arrow-key joystick emu: can't go diagonally
- Map right-ctrl to button-0
Post 1.12.4.2:
- Ability to capture Apple A/V to an AVI file.
- Paddle emulation: 1 analogue input for PDL0, another (independent one) for PDL1.
Post 1.12.4.1:
- Option to make any pc joystick button working as the 'Turbo' (i.e. Scroll Lock).
- Ability to search and modify for a value in memory in order to cheat in some games.
- FastMath card support.
- Ability to view page1/2 & switch mode (Text/GR/HGR/DHGR)
- Add an 80 X 80 or 40X40 text mode
- Send data back and forth between emu apple 2 and VisualBasic
- Resizeable , scalable window
- Incorporate Laine Houghton's modifications to debugger (?)
- Make a documented interface so others can program Apple II peripheral card Emu plugins.
- Ethernet compatibility for contiki and glenn jones' ethernet card. maybe lanceGS.
- Source level debugging using WordPad & Merlin asm output (tell WordPad to FIND / GOTO line).
- Emulate a video capture card: get an image from a webcam, de-rez it to HGR, and display it on the HGR screen.
- AppleCrate emulation between several open AppleWin emulators.
- Access PC files from PRODOS or DOS instead of DSK images?
- Support .2mg images
- Hex search in debugger
Post 1.12.4.0:
- Ability to send files to the PC from a disk image in AppleWin
- Ability to load files from the PC to a disk image in AppleWin
- Z80 support - so we can run CPM stuff
- When you are using the mouse as a cursor / joystick, as well as the markers on the screen border, enable the user to also add a dot (or cross hair) to the screen wherever the mouse pointer is.
- RESET button to break into the Monitor (preserving memory).
- Ability to send Apple's stdout to clipboard or file (and vice versa).
Initial:
- ZIP'ed image support
- RAMworks for 256KB support. Needed by AppleWorks 5.1
- Save/Load complete emulator state
- HD support
- MB volume control
- Cassette-in
- Mouse support
- Merged source base w/ PocketPC port (e.g. http://www.geocities.com/bonelyfish/applece.html)
- Cut'n'paste support
- Super Serial Card (SSC) support
- Replace 'Color Palette' button with something more useful, since it's hardly ever used.
- Option to switch joystick buttons. (Lolo S: 01/06/04)
- Option to trim joystick axes. Drift problem with "Rescue Raiders". (Lolo S: 01/06/04)
- Backspace (Apple's DELETE key) shouldn't back to left-arrow. Make this configurable. (TheRink: 06/06/04)
- Hotkey to swap the disks in the drives. (TheRink: 06/06/04)