diff --git a/Applewin.vcproj b/Applewin.vcproj index 67b1a6b2..ada29269 100644 --- a/Applewin.vcproj +++ b/Applewin.vcproj @@ -805,6 +805,10 @@ RelativePath=".\source\Common.h" > + + diff --git a/docs/History.txt b/docs/History.txt index d28c7e3d..40f19eb8 100644 --- a/docs/History.txt +++ b/docs/History.txt @@ -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: diff --git a/help/CommandLine.html b/help/CommandLine.html index 20caad48..6a00bfbd 100644 --- a/help/CommandLine.html +++ b/help/CommandLine.html @@ -22,7 +22,9 @@ -f8rom <rom-file>
Use custom 2K ROM at [$F800..$FFFF]. <rom-file> must be 2048 bytes long

-printscreen
- Enable the dialog box to display the last file saved to
+ Enable the dialog box to display the last file saved to

+ -printer-real
+ Enables Advanced configuration control to allow dumping to a real printer

 

Debug arguments:

diff --git a/help/Table of Contents.hhc b/help/Table of Contents.hhc index 04ba222e..1bba851e 100644 --- a/help/Table of Contents.hhc +++ b/help/Table of Contents.hhc @@ -90,6 +90,46 @@ +
  • + + + + +
  • @@ -141,46 +181,6 @@ -
  • - - - - -
  • diff --git a/help/acknowledgements.html b/help/acknowledgements.html index 03e70569..1e317920 100644 --- a/help/acknowledgements.html +++ b/help/acknowledgements.html @@ -12,10 +12,10 @@

    Thomas Stahl: TV emulation mode

    Chris Foxwell: SSI263 phoneme samples

    Robert Hoem: Harddisk card (source module & f/w)

    -

    Spiro Trikaliotis: (VICE) whose code Glenn Jones adapted for Uthernet support

    +

    VICE team: TFE, Z80, MC6821 PIA emulation modules (http://www.viceteam.org)
    + - In particular, Spiro Trikaliotis for TFE, whose code Glenn Jones adapted for Uthernet support

    +

    FUSE team: AY-3-8910 module (http://fuse-emulator.sourceforge.net)

    Kyle Kim: Mouse card support based on code from Apple in PC

    -

    MAME team: AY-3-8910, MC6821 PIA emulation modules

    -

    Marcel de Kogel: Z80Em code (http://www.komkon.org/~dekogel/misc.html)

    -

    Fábio Belavenuto: TK3000 //e clone (originally responsible for integrating Z80Em)

    +

    Fábio Belavenuto: TK3000 Brazilian //e clone (originally responsible for integrating Z80Em)

    diff --git a/help/cfg-advanced.html b/help/cfg-advanced.html index 40533482..0b4ba9ac 100644 --- a/help/cfg-advanced.html +++ b/help/cfg-advanced.html @@ -22,41 +22,45 @@ emulation by pressing the F12 key.

    Clone:
    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.
    -NB. Pravets 82 and 8A are Bulgarian Apple II clones.
    +NB. Pravets 82, 8M and 8A are Bulgarian Apple II clones.
    +

    +

    Printer settings (Printer is emulated in slot 1)

    -

    Printer settings (Printer is -emulated at slot 1)

    Printer dump filename:
    -
    Data sent to the printer is stored in a text file. Use + +Data sent to the printer is stored in a text file. Use this setting to select its location.

    Dump to printer:
    Use with caution! 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.
    +pages with nonsense. Requires command line switch -printer-real.

    Encoding conversion for clones:
    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 printing images.

    +Enabling this could cause problems when printing images. +

    Filter unprintable characters:
    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.

    Append to printfile:
    -
    When disabled previous print file is replaced (unless it has a -different name) by the newly created print file. Otherwise newly -printed data is added to the existing print file. I should better -disable appending -when dumping to printer.

    Terminate printing after idle:
    +when dumping to printer. +

    +

    Append to print-file:
    +
    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. +

    +

    Terminate printing after idle:
    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.

    The Freeze's non-autostart F8 rom:
    If you have specified Computer as 'Apple ][' or 'Apple ][+' on the main diff --git a/help/toc.html b/help/toc.html index d8bbf727..0402e224 100644 --- a/help/toc.html +++ b/help/toc.html @@ -12,7 +12,7 @@ Copyright © 1994-1996, Michael O'Brien
    Copyright © 2001, Oliver Schmidt
    Copyright © 2002-2005, Tom Charlesworth
    - Copyright © 2006-2008, Tom Charlesworth, Michael Pohoreski, Nick Westgate, Linards Ticmanis + Copyright © 2006-2009, Tom Charlesworth, Michael Pohoreski, Nick Westgate, Linards Ticmanis

    Acknowledgements diff --git a/resource/Applewin.rc b/resource/Applewin.rc index a1906490..d4ddd9af 100644 --- a/resource/Applewin.rc +++ b/resource/Applewin.rc @@ -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" ///////////////////////////////////////////////////////////////////////////// // diff --git a/source/Applewin.cpp b/source/Applewin.cpp index 3b5becfb..bdde1712 100644 --- a/source/Applewin.cpp +++ b/source/Applewin.cpp @@ -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; } diff --git a/source/Disk.cpp b/source/Disk.cpp index 312ed013..922a7dbf 100644 --- a/source/Disk.cpp +++ b/source/Disk.cpp @@ -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; // diff --git a/source/ParallelPrinter.cpp b/source/ParallelPrinter.cpp index 2bcc80d9..eae9d5a4 100644 --- a/source/ParallelPrinter.cpp +++ b/source/ParallelPrinter.cpp @@ -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; //=========================================================================== diff --git a/source/ParallelPrinter.h b/source/ParallelPrinter.h index f1c2715d..d2936a13 100644 --- a/source/ParallelPrinter.h +++ b/source/ParallelPrinter.h @@ -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 diff --git a/source/PropertySheetPage.cpp b/source/PropertySheetPage.cpp index f38220c1..67b8d3b3 100644 --- a/source/PropertySheetPage.cpp +++ b/source/PropertySheetPage.cpp @@ -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; }