Added new cmd-line switch: -printer-real

. Enables control in Advanced config to allow dumping to a real printer
Resource file:
. Bumped copyright year to 2009
. Set version to 1.16.0
Updated html help (toc, acknowledgements, cfg-advanced)
Updated History.txt (changes/fixes for 1.16.0)
This commit is contained in:
tomch 2009-01-17 15:10:00 +00:00
parent 69989bb8d3
commit 06d9ea6327
13 changed files with 139 additions and 99 deletions

View File

@ -805,6 +805,10 @@
RelativePath=".\source\Common.h"
>
</File>
<File
RelativePath=".\resource\PRAVETS8M.ROM"
>
</File>
<File
RelativePath=".\resource\resource.h"
>

View File

@ -17,6 +17,30 @@ Restrictions/bugs:
- SSI263 emulation is very basic: there is no attempt to emulate rate, inflection or filters.
- During Mockingboard playback, Speaker emulation isn't precise
1.16.0 - 17 Jan 2009 (beta)
---------------------------
Changes:
. For GPL reasons, switched the following modules:
- AY8910 (from MAME to FUSE) : beta
- MC6821 (from MAME to VICE) : beta
- Z80 (from Z80Em to VICE) : beta
. Printer support:
- Printer dump filename
- Filter unprintable characters
- Append to print-file
- Terminate printing after n seconds of idle
- Encoding conversion for Pravets
- Dump to printer (CAUTION! Enabled via command line switch: -printer-real)
. Added Pravets 8M
Fixes:
. Some floating bus bugs (fixes the Bulgarian game: "Walking in the town" & Annunciator read)
. FLASH rate (now 3Hz, was 6Hz)
. BugID-014557: Fix for loading serial port from Registry (caused AppleWin to crash when booting Apple Pascal)
. Fix for Willy Byte & MB support (strange 6522 behaviour!)
1.15.0.3 - 31 Aug 2008
----------------------
Changes:

View File

@ -22,7 +22,9 @@
-f8rom &lt;rom-file&gt;<br>
Use custom 2K ROM at [$F800..$FFFF]. &lt;rom-file&gt; must be 2048 bytes long<br><br>
-printscreen<br>
Enable the dialog box to display the last file saved to<br>
Enable the dialog box to display the last file saved to<br><br>
-printer-real<br>
Enables Advanced configuration control to allow dumping to a real printer<br>
<P>&nbsp;</P>
<P style="FONT-WEIGHT: bold">Debug arguments:
</P>

View File

@ -90,6 +90,46 @@
<param name="Name" value="Command line">
<param name="Local" value="CommandLine.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="AppleWin Configuration">
<param name="Local" value="configuration.html">
<param name="ImageNumber" value="2">
</OBJECT>
<UL>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Configuration Settings">
<param name="Local" value="cfg-config.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Input Settings">
<param name="Local" value="cfg-input.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Sound Settings">
<param name="Local" value="cfg-sound.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Disk / Drive Settings">
<param name="Local" value="cfg-disk.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Advanced Settings">
<param name="Local" value="cfg-Advanced.html">
<param name="ImageNumber" value="2">
</OBJECT>
<UL>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Pravets Clones">
<param name="Local" value="cfg-Advanced-Pravets.html">
</OBJECT>
</UL>
<UL>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="The Freeze's F8 rom">
<param name="Local" value="cfg-Advanced-freeze-rom.html">
</OBJECT>
</UL>
</UL>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Debugger">
<param name="Local" value="dbg-toc-intro.html">
@ -141,46 +181,6 @@
<param name="Local" value="dbg-configuration.html">
</OBJECT>
</UL>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="AppleWin Configuration">
<param name="Local" value="configuration.html">
<param name="ImageNumber" value="2">
</OBJECT>
<UL>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Configuration Settings">
<param name="Local" value="cfg-config.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Input Settings">
<param name="Local" value="cfg-input.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Sound Settings">
<param name="Local" value="cfg-sound.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Disk / Drive Settings">
<param name="Local" value="cfg-disk.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Advanced Settings">
<param name="Local" value="cfg-Advanced.html">
<param name="ImageNumber" value="2">
</OBJECT>
<UL>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Pravets Clones">
<param name="Local" value="cfg-Advanced-Pravets.html">
</OBJECT>
</UL>
<UL>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="The Freeze's F8 rom">
<param name="Local" value="cfg-Advanced-freeze-rom.html">
</OBJECT>
</UL>
</UL>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Resources">
<param name="Local" value="resources.html">

View File

@ -12,10 +12,10 @@
<p style="MARGIN-LEFT: 40px">Thomas Stahl: TV emulation mode</p>
<p style="MARGIN-LEFT: 40px">Chris Foxwell: SSI263 phoneme samples</p>
<p style="MARGIN-LEFT: 40px">Robert Hoem: Harddisk card (source module &amp; f/w)</p>
<P style="MARGIN-LEFT: 40px">Spiro Trikaliotis: (VICE) whose code Glenn Jones adapted for Uthernet support</P>
<p style="MARGIN-LEFT: 40px">VICE team: TFE, Z80, MC6821 PIA emulation modules (<a href="http://www.viceteam.org">http://www.viceteam.org</a>)<br>
- In particular, Spiro Trikaliotis for TFE, whose code Glenn Jones adapted for Uthernet support</p>
<p style="MARGIN-LEFT: 40px">FUSE team: AY-3-8910 module (<a href="http://fuse-emulator.sourceforge.net">http://fuse-emulator.sourceforge.net</a>)</p>
<p style="MARGIN-LEFT: 40px">Kyle Kim: Mouse card support based on code from Apple in PC</p>
<p style="MARGIN-LEFT: 40px">MAME team: AY-3-8910, MC6821 PIA emulation modules</p>
<p style="MARGIN-LEFT: 40px">Marcel de Kogel: Z80Em code (http://www.komkon.org/~dekogel/misc.html)</p>
<p style="MARGIN-LEFT: 40px">Fábio Belavenuto: TK3000 //e clone (originally responsible for integrating Z80Em)</p>
<p style="MARGIN-LEFT: 40px">Fábio Belavenuto: TK3000 Brazilian //e clone (originally responsible for integrating Z80Em)</p>
</body>
</html>

View File

@ -22,41 +22,45 @@ emulation by pressing the F12 key.</p>
<p><strong>Clone:</strong><br>
If you have specified Computer as 'Clone' on the main Configuration
page, then this drop-down menu can be used to specify the clone type.<br>
NB. Pravets 82 and 8A are Bulgarian Apple II clones.<br>
NB. Pravets 82, 8M and 8A are Bulgarian Apple II clones.<br>
</p>
<p><strong>Printer settings </strong>(Printer is emulated in slot 1)
</p>
<p><strong>Printer settings </strong>(Printer is
emulated at slot 1)</p>
<p style="margin-left: 40px;"><strong>Printer dump filename:<br>
</strong>Data sent to the printer is stored in a text file. Use
</strong>
Data sent to the printer is stored in a text file. Use
this setting to select its location.<br>
</p>
<p style="margin-left: 40px;"><strong>Dump to printer:<br>
</strong><span style="font-weight: bold; font-style: italic;">Use
with caution!</span> Enables dumping to a real printer. If
disabled, the
printout is stored only in printer.txt file in the AppleWin folder.
disabled, the printout is stored only in printer.txt file in the AppleWin folder.
This probably works properly (not tested) when using a printer
compatible with the printer selected in the Apple II applications. In
modern printers trying to print images will result in printing tens of
pages with nonsense.<br>
pages with nonsense. Requires command line switch -printer-real.<br>
</p>
<p style="margin-left: 40px;"><strong>Encoding conversion for clones:<br>
</strong>Characters are encoded from the character set used in
the real hardware to ASCII. For Pravets 8 this converts MIK to ASCII.
Enabling this could cause problems when&nbsp;printing images.</p>
Enabling this could cause problems when printing images.
</p>
<p style="margin-left: 40px;"><strong>Filter unprintable characters:<br>
</strong>Some characters represent commands for the printer and
shall not be printed. When saving them to the printer dump file they
may appear as some strange symbols. I may want to disable filtering
when dumping to printer.</p><p style="margin-left: 40px;"><strong>Append to printfile:<br>
</strong>When disabled previous print file is replaced (unless it has a
different&nbsp;name) by the newly created print file. Otherwise newly
printed data is added to the existing print file.&nbsp;I should better
disable appending
when dumping to printer.</p><p style="margin-left: 40px;"><strong>Terminate printing after idle:<br>
when dumping to printer.
</p>
<p style="margin-left: 40px;"><strong>Append to print-file:<br>
</strong>When disabled previous the print file is replaced (unless it has a
different name) by the newly created print file. Otherwise the newly
printed data is added to the existing print file. I should better
disable appending when dumping to printer.
</p>
<p style="margin-left: 40px;"><strong>Terminate printing after idle:<br>
</strong>Whan printing is started a printer file is created and it is
closed either after the selected by this widget time expires, or when
the emulator is reset. This setting is emulation speed dependend.
closed either after the specified time expires, or when
the emulator is reset. This setting is emulation speed dependent.
</p>
<p><strong>The Freeze's non-autostart F8 rom:</strong><br>
If you have specified Computer as 'Apple ][' or 'Apple ][+' on the main

View File

@ -12,7 +12,7 @@
Copyright © 1994-1996, Michael O'Brien<br>
Copyright © 2001, Oliver Schmidt<br>
Copyright © 2002-2005, Tom Charlesworth<BR>
Copyright © 2006-2008, Tom Charlesworth, Michael Pohoreski, Nick Westgate, Linards Ticmanis
Copyright © 2006-2009, Tom Charlesworth, Michael Pohoreski, Nick Westgate, Linards Ticmanis
<br>
<br>
<a href="acknowledgements.html">Acknowledgements</a>

View File

@ -66,16 +66,13 @@ DISKWRITE_BITMAP BITMAP "DISKWRIT.BMP"
DISKPROT_BITMAP BITMAP "DISKPROT.BMP"
CAPSOFF_BITMAP BITMAP "CAPSOFF.BMP"
CAPSON_BITMAP BITMAP "CAPSON.BMP"
//Pravets8 appendices
LATOFF_BITMAP BITMAP "LATOFF.BMP"
LATON_BITMAP BITMAP "LATON.BMP"
CAPSOFF_P8_BITMAP BITMAP "CAPSOFF_P8.BMP"
CAPSON_P8_BITMAP BITMAP "CAPSON_P8.BMP"
CHARSET82 BITMAP "CHARSET82.BMP"
//CHARSET8M BITMAP "CHARSET8M.BMP" //Still the exact charset of Pravets 8M is unknown
CHARSET8M BITMAP "CHARSET8C.BMP"
CHARSET8C BITMAP "CHARSET8C.BMP"
///////////////////////////////////////////////////////////////////////////
HELP_BUTTON BITMAP "HELP.BMP"
DRIVESWAP_BUTTON BITMAP "DRIVESWAP.BMP"
IDB_APPLEWIN BITMAP "Applewin.bmp"
@ -202,7 +199,6 @@ STYLE DS_SETFONT | WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_CAPTION | WS_SYSMENU
CAPTION "Advanced"
FONT 8, "MS Sans Serif", 0, 0, 0x0
BEGIN
LTEXT "Save State file name:",IDC_STATIC,5,2,74,8
GROUPBOX "Save State Control",IDC_STATIC,5,27,200,63
CONTROL "Save State on exit",IDC_SAVESTATE_ON_EXIT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,38,74,10
@ -212,19 +208,20 @@ BEGIN
LTEXT "(F11 during emulation)",IDC_STATIC,110,53,90,8
LTEXT "(F12 during emulation)",IDC_STATIC,110,70,90,8
PUSHBUTTON "Browse...",IDC_SAVESTATE_BROWSE,154,12,50,14
LTEXT "Printer dump filename:",IDC_STATIC,5,98,74,8
LTEXT "Printer dump filename:",IDC_STATIC,5,98,74,8
PUSHBUTTON "Browse...",IDC_DUMP_FILENAME_BROWSE,154,107,50,14
EDITTEXT IDC_DUMP_FILENAME,5,108,143,12,ES_AUTOHSCROLL
CONTROL "Dump to printer (use with caution)",IDC_DUMPTOPRINTER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,123,180,10
CONTROL "Encoding conversion for clones",IDC_PRINTER_CONVERT_ENCODING,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,133,180,10
CONTROL "Filter unprintable characters",IDC_PRINTER_FILTER_UNPRINTABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,143,180,10
CONTROL "Append to print file",IDC_PRINTER_APPEND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,153,180,10
LTEXT "Teminate printing after idle (in seconds):",IDC_STATIC,3,167,160,8
CTEXT "10",IDC_STATIC,155,160,24,20,SS_CENTERIMAGE
CONTROL "Spin1",IDC_SPIN_PRINTER_IDLE,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNLEFT | UDS_AUTOBUDDY,161,164,10,14
LTEXT "&Clone:",IDC_STATIC,5,185,40,8
CONTROL "Dump to printer (use with caution)",IDC_DUMPTOPRINTER,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,125,180,10
CONTROL "Encoding conversion for clones",IDC_PRINTER_CONVERT_ENCODING,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,135,180,10
CONTROL "Filter unprintable characters",IDC_PRINTER_FILTER_UNPRINTABLE,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,145,180,10
CONTROL "Append to print file",IDC_PRINTER_APPEND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,155,180,10
LTEXT "Teminate printing after idle (in seconds):",IDC_STATIC,3,169,160,8
CTEXT "10",IDC_STATIC,155,162,24,20,SS_CENTERIMAGE
CONTROL "Spin1",IDC_SPIN_PRINTER_IDLE,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNLEFT | UDS_AUTOBUDDY,161,166,10,14
LTEXT "&Clone:",IDC_STATIC,5,185,40,8
COMBOBOX IDC_CLONETYPE,45,185,100,100,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
CONTROL "The Freeze's non-autostart F8 rom (Apple ][ or ][+ only)",IDC_THE_FREEZES_F8_ROM_FW,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,206,182,10
@ -247,8 +244,8 @@ DISK_ICON ICON "DISK.ICO"
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,15,0,4
PRODUCTVERSION 1,15,0,4
FILEVERSION 1,16,0,0
PRODUCTVERSION 1,16,0,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@ -264,14 +261,14 @@ BEGIN
BLOCK "04090000"
BEGIN
VALUE "Comments", "http://applewin.berlios.de"
VALUE "CompanyName", "Michael O'Brien, Oliver Schmidt, Tom Charlesworth"
VALUE "CompanyName", "AppleWin"
VALUE "FileDescription", "Apple //e Emulator for Windows"
VALUE "FileVersion", "1, 15, 0, 4"
VALUE "FileVersion", "1, 16, 0, 0"
VALUE "InternalName", "APPLEWIN"
VALUE "LegalCopyright", " 1994-2008 Michael O'Brien, Oliver Schmidt, Tom Charlesworth, Michael Pohoreski, Nick Westgate, Linards Ticmanis"
VALUE "LegalCopyright", " 1994-2009 Michael O'Brien, Oliver Schmidt, Tom Charlesworth, Michael Pohoreski, Nick Westgate, Linards Ticmanis"
VALUE "OriginalFilename", "APPLEWIN.EXE"
VALUE "ProductName", "Apple //e Emulator"
VALUE "ProductVersion", "1, 15, 0, 4"
VALUE "ProductVersion", "1, 16, 0, 0"
END
END
BLOCK "VarFileInfo"
@ -311,14 +308,14 @@ IDR_THUNDERCLOCKPLUS_FW FIRMWARE "ThunderClockPlus.rom"
// ROM
//
IDR_APPLE2_ROM ROM "Apple2.rom"
IDR_APPLE2_PLUS_ROM ROM "Apple2_Plus.rom"
IDR_APPLE2E_ROM ROM "Apple2e.rom"
IDR_APPLE2E_ENHANCED_ROM ROM "Apple2e_Enhanced.rom"
IDR_PRAVETS_82_ROM ROM "Pravets82.rom"
IDR_PRAVETS_8M_ROM ROM "Pravets8M.rom"
IDR_PRAVETS_8C_ROM ROM "Pravets8C.rom"
IDR_FREEZES_F8_ROM ROM "FREEZES_NON-AUTOSTART_F8_ROM.rom"
IDR_APPLE2_ROM ROM "Apple2.rom"
IDR_APPLE2_PLUS_ROM ROM "Apple2_Plus.rom"
IDR_APPLE2E_ROM ROM "Apple2e.rom"
IDR_APPLE2E_ENHANCED_ROM ROM "Apple2e_Enhanced.rom"
IDR_PRAVETS_82_ROM ROM "Pravets82.rom"
IDR_PRAVETS_8M_ROM ROM "Pravets8M.rom"
IDR_PRAVETS_8C_ROM ROM "Pravets8C.rom"
IDR_FREEZES_F8_ROM ROM "FREEZES_NON-AUTOSTART_F8_ROM.rom"
/////////////////////////////////////////////////////////////////////////////
//

View File

@ -731,6 +731,10 @@ int APIENTRY WinMain (HINSTANCE passinstance, HINSTANCE, LPSTR lpCmdLine, int)
{
g_bDisplayPrintScreenFileName = true;
}
else if(strcmp(lpCmdLine, "-printer-real") == 0) // Enable control in Advanced config to allow dumping to a real printer
{
g_bEnableDumpToRealPrinter = true;
}
lpCmdLine = lpNextArg;
}

View File

@ -757,12 +757,12 @@ void DiskLoadRom(LPBYTE pCxRomPeripheral, UINT uSlot)
if(pData == NULL)
return;
memcpy(pCxRomPeripheral + uSlot*256, pData, DISK2_FW_SIZE);
memcpy(pCxRomPeripheral + uSlot*APPLE_SLOT_SIZE, pData, DISK2_FW_SIZE);
// TODO/FIXME: HACK! REMOVE A WAIT ROUTINE FROM THE DISK CONTROLLER'S FIRMWARE
*(pCxRomPeripheral + (uSlot*256) + 0x4C) = 0xA9;
*(pCxRomPeripheral + (uSlot*256) + 0x4D) = 0x00;
*(pCxRomPeripheral + (uSlot*256) + 0x4E) = 0xEA;
*(pCxRomPeripheral + (uSlot*APPLE_SLOT_SIZE) + 0x4C) = 0xA9;
*(pCxRomPeripheral + (uSlot*APPLE_SLOT_SIZE) + 0x4D) = 0x00;
*(pCxRomPeripheral + (uSlot*APPLE_SLOT_SIZE) + 0x4E) = 0xEA;
//

View File

@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
/* Description: Parallel Printer Interface Card emulation
*
* Author: Nick Westgate
* Author: Nick Westgate, Stannev
*/
#include "StdAfx.h"
@ -42,6 +42,7 @@ bool g_bConvertEncoding = true;
bool g_bFilterUnprintable = true;
bool g_bPrinterAppend = false;
int g_iPrinterIdleLimit = 10;
bool g_bEnableDumpToRealPrinter = false;
//===========================================================================

View File

@ -8,11 +8,12 @@ void Printer_SetFilename(char* pszFilename);
char* Printer_GetFilename();
void Printer_SetIdleLimit(unsigned int Duration);
unsigned int Printer_GetIdleLimit();
extern bool g_bDumpToPrinter;
extern bool g_bConvertEncoding;
extern bool g_bFilterUnprintable;
extern bool g_bPrinterAppend;
extern int g_iPrinterIdleLimit;
extern bool g_bFilterUnprintable;
extern bool g_bPrinterAppend;
extern bool g_bFilterUnprintable;
extern bool g_bPrinterAppend;
extern bool g_bEnableDumpToRealPrinter; // Set by cmd-line: -printer-real

View File

@ -1299,6 +1299,9 @@ static BOOL CALLBACK AdvancedDlgProc (HWND window,
g_szSSNewDirectory[0] = 0x00;
// Need to specific cmd-line switch: -printer-real to enable this control
EnableWindow(GetDlgItem(window, IDC_DUMPTOPRINTER), g_bEnableDumpToRealPrinter ? TRUE : FALSE);
afterclose = 0;
break;
}