Revision: 18935
http://vice-emu.svn.sourceforge.net/vice-emu/?rev=18935&view=rev
Author: blackystardust
Date: 2008-06-29 15:07:51 -0700 (Sun, 29 Jun 2008)
Log Message:
-----------
Updated to 1.22.21
Modified Paths:
--------------
branches/marco/ports/vice/ChangeLog
branches/marco/ports/vice/Doxyfile
branches/marco/ports/vice/configure.in
branches/marco/ports/vice/data/C128/win_shortcuts.vsc
branches/marco/ports/vice/data/C64/win_shortcuts.vsc
branches/marco/ports/vice/data/CBM-II/win_shortcuts.vsc
branches/marco/ports/vice/data/PET/win_shortcuts.vsc
branches/marco/ports/vice/data/PLUS4/win_shortcuts.vsc
branches/marco/ports/vice/data/VIC20/win_shortcuts.vsc
branches/marco/ports/vice/doc/html/plain/NEWS
branches/marco/ports/vice/src/ChangeLog
branches/marco/ports/vice/src/arch/win32/resc128.rc
branches/marco/ports/vice/src/arch/win32/resc64.rc
branches/marco/ports/vice/src/arch/win32/rescbm2.rc
branches/marco/ports/vice/src/arch/win32/resmenu.txt
branches/marco/ports/vice/src/arch/win32/respet.rc
branches/marco/ports/vice/src/arch/win32/resplus4.rc
branches/marco/ports/vice/src/arch/win32/resvic20.rc
branches/marco/ports/vice/src/arch/win32/ui.c
branches/marco/ports/vice/src/arch/win32/vice.dsw
branches/marco/ports/vice/src/autostart.c
branches/marco/ports/vice/src/c64/reu.c
branches/marco/ports/vice/src/version.h
Added Paths:
-----------
branches/marco/ports/vice/src/arch/win32/_all.dsp
Modified: branches/marco/ports/vice/ChangeLog
===================================================================
--- branches/marco/ports/vice/ChangeLog 2008-06-29 22:05:18 UTC (rev 18934)
+++ branches/marco/ports/vice/ChangeLog 2008-06-29 22:07:51 UTC (rev 18935)
@@ -1,3 +1,16 @@
+2008-06-29 Spiro Trikaliotis <spi...@gm...>
+
+ * Version 1.22.21
+
+2008-06-28 Spiro Trikaliotis <spi...@gm...>
+
+ * data/CBM-II/win_shortcuts.vsc, data/VIC20/win_shortcuts.vsc,
+ data/PLUS4/win_shortcuts.vsc, data/PET/win_shortcuts.vsc,
+ data/C64/win_shortcuts.vsc, data/C128/win_shortcuts.vsc: Set
+ default shortcuts Ctrl+C and Ctrl+V for Edit/Copy and Edit/Paste
+
+ * doc/html/plain/NEWS: Updated
+
2008-06-23 Spiro Trikaliotis <spi...@gm...>
* Version 1.22.20
Modified: branches/marco/ports/vice/Doxyfile
===================================================================
--- branches/marco/ports/vice/Doxyfile 2008-06-29 22:05:18 UTC (rev 18934)
+++ branches/marco/ports/vice/Doxyfile 2008-06-29 22:07:51 UTC (rev 18935)
@@ -519,7 +519,7 @@
# Note: To get rid of all source code in the generated output, make sure also
# VERBATIM_HEADERS is set to NO.
-SOURCE_BROWSER = YES
+SOURCE_BROWSER = NO
# Setting the INLINE_SOURCES tag to YES will include the body
# of functions and classes directly in the documentation.
Modified: branches/marco/ports/vice/configure.in
===================================================================
--- branches/marco/ports/vice/configure.in 2008-06-29 22:05:18 UTC (rev 18934)
+++ branches/marco/ports/vice/configure.in 2008-06-29 22:07:51 UTC (rev 18935)
@@ -9,7 +9,7 @@
VICE_VERSION_MAJOR=1
VICE_VERSION_MINOR=22
-VICE_VERSION_BUILD=20
+VICE_VERSION_BUILD=21
AC_SUBST(VICE_VERSION_MAJOR)
AC_SUBST(VICE_VERSION_MINOR)
Modified: branches/marco/ports/vice/data/C128/win_shortcuts.vsc
===================================================================
--- branches/marco/ports/vice/data/C128/win_shortcuts.vsc 2008-06-29 22:05:18 UTC (rev 18934)
+++ branches/marco/ports/vice/data/C128/win_shortcuts.vsc 2008-06-29 22:07:51 UTC (rev 18935)
@@ -47,3 +47,7 @@
ALT 0x79 IDM_TOGGLE_MAINCPU_TRACE F10 # VK_F10
ALT 0x7A IDM_TOGGLE_DRIVE0CPU_TRACE F11 # VK_F11
ALT 0x7B IDM_TOGGLE_DRIVE1CPU_TRACE F12 # VK_F12
+
+CTRL 'C' IDM_EDIT_COPY
+CTRL 'V' IDM_EDIT_PASTE
+CTRL 0x2D IDM_EDIT_COPY # VK_INSERT
Modified: branches/marco/ports/vice/data/C64/win_shortcuts.vsc
===================================================================
--- branches/marco/ports/vice/data/C64/win_shortcuts.vsc 2008-06-29 22:05:18 UTC (rev 18934)
+++ branches/marco/ports/vice/data/C64/win_shortcuts.vsc 2008-06-29 22:07:51 UTC (rev 18935)
@@ -47,3 +47,7 @@
ALT 0x79 IDM_TOGGLE_MAINCPU_TRACE F10 # VK_F10
ALT 0x7A IDM_TOGGLE_DRIVE0CPU_TRACE F11 # VK_F11
ALT 0x7B IDM_TOGGLE_DRIVE1CPU_TRACE F12 # VK_F12
+
+CTRL 'C' IDM_EDIT_COPY
+CTRL 'V' IDM_EDIT_PASTE
+CTRL 0x2D IDM_EDIT_COPY # VK_INSERT
Modified: branches/marco/ports/vice/data/CBM-II/win_shortcuts.vsc
===================================================================
--- branches/marco/ports/vice/data/CBM-II/win_shortcuts.vsc 2008-06-29 22:05:18 UTC (rev 18934)
+++ branches/marco/ports/vice/data/CBM-II/win_shortcuts.vsc 2008-06-29 22:07:51 UTC (rev 18935)
@@ -47,3 +47,7 @@
ALT 0x79 IDM_TOGGLE_MAINCPU_TRACE F10 # VK_F10
ALT 0x7A IDM_TOGGLE_DRIVE0CPU_TRACE F11 # VK_F11
ALT 0x7B IDM_TOGGLE_DRIVE1CPU_TRACE F12 # VK_F12
+
+CTRL 'C' IDM_EDIT_COPY
+CTRL 'V' IDM_EDIT_PASTE
+CTRL 0x2D IDM_EDIT_COPY # VK_INSERT
Modified: branches/marco/ports/vice/data/PET/win_shortcuts.vsc
===================================================================
--- branches/marco/ports/vice/data/PET/win_shortcuts.vsc 2008-06-29 22:05:18 UTC (rev 18934)
+++ branches/marco/ports/vice/data/PET/win_shortcuts.vsc 2008-06-29 22:07:51 UTC (rev 18935)
@@ -47,3 +47,7 @@
ALT 0x79 IDM_TOGGLE_MAINCPU_TRACE F10 # VK_F10
ALT 0x7A IDM_TOGGLE_DRIVE0CPU_TRACE F11 # VK_F11
ALT 0x7B IDM_TOGGLE_DRIVE1CPU_TRACE F12 # VK_F12
+
+CTRL 'C' IDM_EDIT_COPY
+CTRL 'V' IDM_EDIT_PASTE
+CTRL 0x2D IDM_EDIT_COPY # VK_INSERT
Modified: branches/marco/ports/vice/data/PLUS4/win_shortcuts.vsc
===================================================================
--- branches/marco/ports/vice/data/PLUS4/win_shortcuts.vsc 2008-06-29 22:05:18 UTC (rev 18934)
+++ branches/marco/ports/vice/data/PLUS4/win_shortcuts.vsc 2008-06-29 22:07:51 UTC (rev 18935)
@@ -47,3 +47,7 @@
ALT 0x79 IDM_TOGGLE_MAINCPU_TRACE F10 # VK_F10
ALT 0x7A IDM_TOGGLE_DRIVE0CPU_TRACE F11 # VK_F11
ALT 0x7B IDM_TOGGLE_DRIVE1CPU_TRACE F12 # VK_F12
+
+CTRL 'C' IDM_EDIT_COPY
+CTRL 'V' IDM_EDIT_PASTE
+CTRL 0x2D IDM_EDIT_COPY # VK_INSERT
Modified: branches/marco/ports/vice/data/VIC20/win_shortcuts.vsc
===================================================================
--- branches/marco/ports/vice/data/VIC20/win_shortcuts.vsc 2008-06-29 22:05:18 UTC (rev 18934)
+++ branches/marco/ports/vice/data/VIC20/win_shortcuts.vsc 2008-06-29 22:07:51 UTC (rev 18935)
@@ -47,3 +47,7 @@
ALT 0x79 IDM_TOGGLE_MAINCPU_TRACE F10 # VK_F10
ALT 0x7A IDM_TOGGLE_DRIVE0CPU_TRACE F11 # VK_F11
ALT 0x7B IDM_TOGGLE_DRIVE1CPU_TRACE F12 # VK_F12
+
+CTRL 'C' IDM_EDIT_COPY
+CTRL 'V' IDM_EDIT_PASTE
+CTRL 0x2D IDM_EDIT_COPY # VK_INSERT
Modified: branches/marco/ports/vice/doc/html/plain/NEWS
===================================================================
--- branches/marco/ports/vice/doc/html/plain/NEWS 2008-06-29 22:05:18 UTC (rev 18934)
+++ branches/marco/ports/vice/doc/html/plain/NEWS 2008-06-29 22:07:51 UTC (rev 18935)
@@ -39,6 +39,8 @@
- Added support for the Action Replay 4 and StarDos cartridges.
+- Improved REU compatibility
+
** VIC20 changes
----------------
@@ -82,6 +84,9 @@
- Fixed the reverse logic of the -confirmexit/+confirmexit and
-singlecpu/+singlecpu command-line options.
+- allow for pasting into the VICE window: Either via menu
+ (Edit/Paste), or by right-clicking on the VICE window.
+
** BeOS changes
---------------
@@ -115,6 +120,7 @@
- New memmap feature which allows tracking of memory accesses,
activated by the configure option --enable-memmap.
+
* Changes in VICE 1.22
======================
Modified: branches/marco/ports/vice/src/ChangeLog
===================================================================
--- branches/marco/ports/vice/src/ChangeLog 2008-06-29 22:05:18 UTC (rev 18934)
+++ branches/marco/ports/vice/src/ChangeLog 2008-06-29 22:07:51 UTC (rev 18935)
@@ -1,3 +1,56 @@
+2008-06-29 Spiro Trikaliotis <spi...@gm...>
+
+ * Version 1.22.21
+
+2008-06-29 Spiro Trikaliotis <spi...@gm...>
+
+ * arch/win32/ui.c: Add copy to clipboard for the text screen.
+ All emulators which support the monitor "screen" command are
+ supported, that is: x64, xplus4, xvic, x128 in VIC-II mode.
+ xcbm2 and xpet are not supported, as their base video addresses
+ are not given with mem_get_screen_parameter(). New functions
+ read_screen_output(), ui_copy_clipboard().
+
+2008-06-28 Spiro Trikaliotis <spi...@gm...>
+
+ * arch/win32/rescbm2.rc, arch/win32/resplus4.rc,
+ arch/win32/resmenu.txt, arch/win32/ui.c, arch/win32/resvic20.rc,
+ arch/win32/resc128.rc, arch/win32/resc64.rc,
+ arch/win32/respet.rc: Removed IDM_EDIT_CUT (how should we cut
+ something from the VICE window? Does not make much sense, does
+ it?
+
+ * arch/win32/ui.c: Added paste function to paste from clipboard
+ to the VICE keyboard buffer. It is selected either via menu
+ (Edit/Paste), or via right-click on the VICE window.
+
+ * arch/win32/resmenu.txt, arch/win32/rescbm2.rc,
+ arch/win32/resplus4.rc, arch/win32/resmenu.txt,
+ arch/win32/resvic20.rc, arch/win32/resc128.rc,
+ arch/win32/resc64.rc, arch/win32/respet.rc: Added IDM_EDIT_CUT,
+ IDM_EDIT_COPY and IDM_EDIT_PASTE.
+
+2008-06-27 Spiro Trikaliotis <spi...@gm...>
+
+ * autostart.c: Incorporated patch from iAN Coog: 1. Add colon
+ (":") after "LOAD" and "RUN" lines used to start. This is
+ helpful if there is already something on the screen, to prevent
+ it to provoke some error messages. 2. remember original true
+ drive emulation state before using autostart. This fixes the
+ problem that TDE is not re-activated after autostart. 3. Dev
+ Traps set to ON always in autostart_tape() for T64s. T64 without
+ VTD don't load, so it's a must to activate it always with them.
+ (TAP files don't care.)
+
+2008-06-25 Spiro Trikaliotis <spi...@gm...>
+
+ * arch/win32/vice.dsw, arch/win32/_all.dsp: New (dummy) project
+ _all.
+
+ * c64/reu.c: Fixed problems with bank register not masking out
+ unused bits, and autoload option which has to copy the shadow
+ registers back. Fixed doxygen a little.
+
2008-06-23 Spiro Trikaliotis <spi...@gm...>
* Version 1.22.20
@@ -429,10 +482,10 @@
2008-05-18 Spiro Trikaliotis <spi...@gm...>
- * src/arch/win32/signals.c: break64() now has a full backup text
- in case translate_text() fails. This prevents empty dialog boxes
- in the case of an error, which occurs rather frequently on
- Windows, as these calls fail.
+ * arch/win32/signals.c: break64() now has a full backup text in
+ case translate_text() fails. This prevents empty dialog boxes in
+ the case of an error, which occurs rather frequently on Windows,
+ as these calls fail.
2008-05-18 Spiro Trikaliotis <spi...@gm...>
@@ -544,8 +597,8 @@
2008-04-19 Greg King <gre...@ve...>
- * src/c64/cart/ide64.c: adds a working RTC to the emulation of
- the IDE64 cartridge.
+ * c64/cart/ide64.c: adds a working RTC to the emulation of the
+ IDE64 cartridge.
2008-04-19 Spiro Trikaliotis <spi...@gm...>
@@ -675,10 +728,10 @@
* arch/unix/x11/gnome/x11ui.c: Do not exit the program if HW
scaling not available at runtime.
- * video/video-resources.c, src/video.h: Move resources vars
- from video_resource_chip_t to video_render_config_t, which
- were often unnecessarily duplicated, and made modification of
- resources a nightmare.
+ * video/video-resources.c, video.h: Move resources vars from
+ video_resource_chip_t to video_render_config_t, which were often
+ unnecessarily duplicated, and made modification of resources a
+ nightmare.
* video/video-resources.c: Add resource HwScalePossible, to
enable/disable HW scaling menu entry.
@@ -2486,9 +2539,8 @@
2007-01-21 Spiro Trikaliotis <Spi...@gm...>
- * ioutil.c, src/ioutil.h: Changed prototype of
- ioutil_maxpathlen() to return an unsigned int in order to
- remove warnings.
+ * ioutil.c, ioutil.h: Changed prototype of ioutil_maxpathlen()
+ to return an unsigned int in order to remove warnings.
2007-01-21 Spiro Trikaliotis <Spi...@gm...>
Copied: branches/marco/ports/vice/src/arch/win32/_all.dsp (from rev 18934, tags/v1.22/v1.22.21/vice/src/arch/win32/_all.dsp)
===================================================================
--- branches/marco/ports/vice/src/arch/win32/_all.dsp (rev 0)
+++ branches/marco/ports/vice/src/arch/win32/_all.dsp 2008-06-29 22:07:51 UTC (rev 18935)
@@ -0,0 +1,89 @@
+# Microsoft Developer Studio Project File - Name="_all" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=_all - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "_all.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "_all.mak" CFG="_all - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "_all - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "_all - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "_all - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
+
+!ELSEIF "$(CFG)" == "_all - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "_all - Win32 Release"
+# Name "_all - Win32 Debug"
+# End Target
+# End Project
Modified: branches/marco/ports/vice/src/arch/win32/resc128.rc
===================================================================
--- branches/marco/ports/vice/src/arch/win32/resc128.rc 2008-06-29 22:05:18 UTC (rev 18934)
+++ branches/marco/ports/vice/src/arch/win32/resc128.rc 2008-06-29 22:07:51 UTC (rev 18935)
@@ -127,6 +127,11 @@
MENUITEM SEPARATOR
MENUITEM "E&xit", IDM_EXIT
END
+ POPUP "&Edit"
+ BEGIN
+ MENUITEM "&Copy", IDM_EDIT_COPY
+ MENUITEM "&Paste", IDM_EDIT_PASTE
+ END
POPUP "Sna&pshot"
BEGIN
MENUITEM "Load snapshot &image...", IDM_SNAPSHOT_LOAD
Modified: branches/marco/ports/vice/src/arch/win32/resc64.rc
===================================================================
--- branches/marco/ports/vice/src/arch/win32/resc64.rc 2008-06-29 22:05:18 UTC (rev 18934)
+++ branches/marco/ports/vice/src/arch/win32/resc64.rc 2008-06-29 22:07:51 UTC (rev 18935)
@@ -127,6 +127,11 @@
MENUITEM SEPARATOR
MENUITEM "E&xit", IDM_EXIT
END
+ POPUP "&Edit"
+ BEGIN
+ MENUITEM "&Copy", IDM_EDIT_COPY
+ MENUITEM "&Paste", IDM_EDIT_PASTE
+ END
POPUP "Sna&pshot"
BEGIN
MENUITEM "Load snapshot &image...", IDM_SNAPSHOT_LOAD
Modified: branches/marco/ports/vice/src/arch/win32/rescbm2.rc
===================================================================
--- branches/marco/ports/vice/src/arch/win32/rescbm2.rc 2008-06-29 22:05:18 UTC (rev 18934)
+++ branches/marco/ports/vice/src/arch/win32/rescbm2.rc 2008-06-29 22:07:51 UTC (rev 18935)
@@ -96,6 +96,11 @@
MENUITEM SEPARATOR
MENUITEM "E&xit", IDM_EXIT
END
+ POPUP "&Edit"
+ BEGIN
+ MENUITEM "&Copy", IDM_EDIT_COPY
+ MENUITEM "&Paste", IDM_EDIT_PASTE
+ END
POPUP "Sna&pshot"
BEGIN
MENUITEM "Load snapshot &image...", IDM_SNAPSHOT_LOAD
Modified: branches/marco/ports/vice/src/arch/win32/resmenu.txt
===================================================================
--- branches/marco/ports/vice/src/arch/win32/resmenu.txt 2008-06-29 22:05:18 UTC (rev 18934)
+++ branches/marco/ports/vice/src/arch/win32/resmenu.txt 2008-06-29 22:07:51 UTC (rev 18935)
@@ -59,6 +59,8 @@
IDM_EXIT
IDM_ABOUT
IDM_PAUSE
+IDM_EDIT_COPY
+IDM_EDIT_PASTE
IDM_SINGLE_FRAME_ADVANCE
IDM_AUTOSTART
IDM_RESET_HARD
Modified: branches/marco/ports/vice/src/arch/win32/respet.rc
===================================================================
--- branches/marco/ports/vice/src/arch/win32/respet.rc 2008-06-29 22:05:18 UTC (rev 18934)
+++ branches/marco/ports/vice/src/arch/win32/respet.rc 2008-06-29 22:07:51 UTC (rev 18935)
@@ -94,6 +94,11 @@
MENUITEM SEPARATOR
MENUITEM "E&xit", IDM_EXIT
END
+ POPUP "&Edit"
+ BEGIN
+ MENUITEM "&Copy", IDM_EDIT_COPY
+ MENUITEM "&Paste", IDM_EDIT_PASTE
+ END
POPUP "Sna&pshot"
BEGIN
MENUITEM "Load snapshot &image...", IDM_SNAPSHOT_LOAD
Modified: branches/marco/ports/vice/src/arch/win32/resplus4.rc
===================================================================
--- branches/marco/ports/vice/src/arch/win32/resplus4.rc 2008-06-29 22:05:18 UTC (rev 18934)
+++ branches/marco/ports/vice/src/arch/win32/resplus4.rc 2008-06-29 22:07:51 UTC (rev 18935)
@@ -106,6 +106,11 @@
MENUITEM SEPARATOR
MENUITEM "E&xit", IDM_EXIT
END
+ POPUP "&Edit"
+ BEGIN
+ MENUITEM "&Copy", IDM_EDIT_COPY
+ MENUITEM "&Paste", IDM_EDIT_PASTE
+ END
POPUP "Sna&pshot"
BEGIN
MENUITEM "Load snapshot &image...", IDM_SNAPSHOT_LOAD
Modified: branches/marco/ports/vice/src/arch/win32/resvic20.rc
===================================================================
--- branches/marco/ports/vice/src/arch/win32/resvic20.rc 2008-06-29 22:05:18 UTC (rev 18934)
+++ branches/marco/ports/vice/src/arch/win32/resvic20.rc 2008-06-29 22:07:51 UTC (rev 18935)
@@ -104,6 +104,11 @@
MENUITEM SEPARATOR
MENUITEM "E&xit", IDM_EXIT
END
+ POPUP "&Edit"
+ BEGIN
+ MENUITEM "&Copy", IDM_EDIT_COPY
+ MENUITEM "&Paste", IDM_EDIT_PASTE
+ END
POPUP "Sna&pshot"
BEGIN
MENUITEM "Load snapshot &image...", IDM_SNAPSHOT_LOAD
Modified: branches/marco/ports/vice/src/arch/win32/ui.c
===================================================================
--- branches/marco/ports/vice/src/arch/win32/ui.c 2008-06-29 22:05:18 UTC (rev 18934)
+++ branches/marco/ports/vice/src/arch/win32/ui.c 2008-06-29 22:07:51 UTC (rev 18935)
@@ -28,6 +28,7 @@
#include "vice.h"
+#include <assert.h>
#include <stdio.h>
#include <string.h>
#include <windows.h>
@@ -40,6 +41,7 @@
#include "attach.h"
#include "autostart.h"
#include "archdep.h"
+#include "charset.h"
#include "debug.h"
#include "drive.h"
#include "drivecpu.h"
@@ -49,6 +51,7 @@
#include "interrupt.h"
#include "intl.h"
#include "kbd.h"
+#include "kbdbuf.h"
#include "lib.h"
#include "log.h"
#include "machine.h"
@@ -980,6 +983,182 @@
/* ------------------------------------------------------------------------ */
+static char * read_screen_output(void)
+{
+ char * outputbuffer = NULL;
+
+ do {
+ WORD base;
+ BYTE allrows, allcols;
+ unsigned int row, col;
+ unsigned int size;
+ char * p;
+
+ mem_get_screen_parameter(&base, &allrows, &allcols);
+
+ size = allrows * (allcols + 2) + 1;
+
+ outputbuffer = lib_malloc(size);
+ if (outputbuffer == NULL) {
+ break;
+ }
+
+ p = outputbuffer;
+
+ for (row = 0; row < allrows; row++) {
+ char * last_non_whitespace = p - 1;
+
+ for (col = 0; col < allcols; col++) {
+ BYTE data;
+
+ data = mem_bank_peek(0, base++, NULL);
+ data = charset_p_toascii(charset_screencode_to_petcii(data), 1);
+
+ if (data != ' ') {
+ last_non_whitespace = p;
+ }
+ *p++ = data;
+ }
+
+ /* trim the line if there are only whitespace at the end */
+
+ if (last_non_whitespace < p) {
+ p = last_non_whitespace + 1;
+ }
+
+ /* add a CR/LF */
+
+ *p++ = '\r';
+ *p++ = '\n';
+ }
+
+ *p = 0;
+
+ assert(p < outputbuffer + size);
+
+ } while (0);
+
+ return outputbuffer;
+}
+
+static void ui_copy_clipboard(HWND window)
+{
+ BOOL clipboard_is_open = FALSE;
+ char * text;
+ HGLOBAL globaltext = NULL;
+
+ do {
+ char * p;
+
+ if ( ! OpenClipboard(window) ) {
+ break;
+ }
+ clipboard_is_open = TRUE;
+
+ if ( ! EmptyClipboard() ) {
+ break;
+ }
+
+ text = read_screen_output();
+ if (text == NULL) {
+ break;
+ }
+
+ globaltext = GlobalAlloc(GMEM_DDESHARE, strlen(text) + 1);
+ if (globaltext == NULL) {
+ break;
+ }
+
+ p = GlobalLock(globaltext);
+ strcpy(p, text);
+
+ SetClipboardData(CF_TEXT, globaltext);
+
+ } while (0);
+
+ if (globaltext) {
+ GlobalUnlock(globaltext);
+ }
+
+ if (text) {
+ lib_free(text);
+ }
+
+ if (clipboard_is_open) {
+ CloseClipboard();
+ }
+}
+
+static void ui_paste_clipboard_text(HWND window)
+{
+ HANDLE hdata;
+ BOOL clipboard_is_open = FALSE;
+ char * text = NULL;
+ char * text_in_petscii = NULL;
+
+ do {
+ DWORD size;
+
+ if ( ! OpenClipboard(window) ) {
+ break;
+ }
+
+ clipboard_is_open = TRUE;
+
+ hdata = GetClipboardData(CF_TEXT);
+
+ if ( ! hdata ) {
+ break;
+ }
+
+ text = GlobalLock(hdata);
+
+ if (text == NULL) {
+ break;
+ }
+
+ size = GlobalSize(hdata);
+
+ if (size < 1) {
+ break;
+ }
+
+ /*
+ * Allocate memmory for the string to convert in petscii.
+ * Note: As we are not sure if the original text is null-terminated,
+ * do *not* use lib_stralloc()!
+ */
+ text_in_petscii = lib_malloc(size + 1);
+
+ if (text_in_petscii == NULL) {
+ break;
+ }
+
+ memcpy(text_in_petscii, text, size);
+ text_in_petscii[size] = 0;
+
+ charset_petconvstring(text_in_petscii, 0);
+
+ kbdbuf_feed(text_in_petscii);
+
+ } while (0);
+
+ if (text_in_petscii) {
+ lib_free(text_in_petscii);
+ }
+
+ if (text) {
+ GlobalUnlock(text);
+ }
+
+ if (clipboard_is_open) {
+ CloseClipboard();
+ }
+}
+
+
+/* ------------------------------------------------------------------------ */
+
/* FIXME: tmp hack. */
int syscolorchanged, displaychanged, querynewpalette, palettechanged;
@@ -1030,6 +1209,15 @@
}
}
+static void handle_wm_initmenupopup(HMENU menu)
+{
+ /* enable PASTE iff the clipboard contains "our" format: */
+
+ EnableMenuItem(menu, IDM_EDIT_PASTE,
+ MF_BYCOMMAND
+ | ( IsClipboardFormatAvailable(CF_TEXT) ? MF_ENABLED : MF_GRAYED));
+}
+
static void handle_wm_command(WPARAM wparam, LPARAM lparam, HWND hwnd)
{
/* Handle machine specific commands first. */
@@ -1045,6 +1233,12 @@
case IDM_EXIT:
PostMessage(hwnd, WM_CLOSE, wparam, lparam);
break;
+ case IDM_EDIT_COPY:
+ ui_copy_clipboard(hwnd);
+ break;
+ case IDM_EDIT_PASTE:
+ ui_paste_clipboard_text(hwnd);
+ break;
case IDM_ABOUT:
case IDM_HELP:
case IDM_CONTRIBUTORS:
@@ -1393,6 +1587,9 @@
This message seems to be a good candidate for the remote desktop. */
ui_redraw_all_windows();
return 0;
+ case WM_INITMENUPOPUP:
+ handle_wm_initmenupopup((HMENU)wparam);
+ break;
case WM_COMMAND:
handle_wm_command(wparam, lparam, window);
return 0;
@@ -1482,6 +1679,9 @@
case WM_NCLBUTTONDOWN:
vsync_suspend_speed_eval();
break;
+ case WM_RBUTTONDOWN:
+ ui_paste_clipboard_text(window);
+ break;
case WM_NOTIFY:
statusbar_notify(window, window_index, wparam, lparam);
break;
Modified: branches/marco/ports/vice/src/arch/win32/vice.dsw
===================================================================
--- branches/marco/ports/vice/src/arch/win32/vice.dsw 2008-06-29 22:05:18 UTC (rev 18934)
+++ branches/marco/ports/vice/src/arch/win32/vice.dsw 2008-06-29 22:07:51 UTC (rev 18935)
@@ -3,6 +3,45 @@
###############################################################################
+Project: "_all"=".\_all.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name x64
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name x128
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name xcbm2
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name xpet
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name xplus4
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name xvic
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name petcat
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name c1541
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name cartconv
+ End Project Dependency
+}}}
+
+###############################################################################
+
Project: "arch"=".\arch.dsp" - Package Owner=<4>
Package=<5>
Modified: branches/marco/ports/vice/src/autostart.c
===================================================================
--- branches/marco/ports/vice/src/autostart.c 2008-06-29 22:05:18 UTC (rev 18934)
+++ branches/marco/ports/vice/src/autostart.c 2008-06-29 22:07:51 UTC (rev 18935)
@@ -91,7 +91,7 @@
/* Flag: was true drive emulation turned on when we started booting the disk
image? */
-static int orig_drive_true_emulation_state = 0;
+static int orig_drive_true_emulation_state = -1;
/* PETSCII name of the program to load. NULL if default */
static BYTE *autostart_program_name = NULL;
@@ -292,11 +292,11 @@
case YES:
log_message(autostart_log, "Loading file.");
if (autostart_program_name) {
- tmp = util_concat("LOAD\"", autostart_program_name, "\"\r", NULL);
+ tmp = util_concat("LOAD\"", autostart_program_name, "\":\r", NULL);
kbdbuf_feed(tmp);
lib_free(tmp);
} else {
- kbdbuf_feed("LOAD\r");
+ kbdbuf_feed("LOAD:\r");
}
if (tape_tap_attched()) {
autostartmode = AUTOSTART_PRESSPLAYONTAPE;
@@ -333,7 +333,7 @@
switch (check("READY.", AUTOSTART_WAIT_BLINK)) {
case YES:
log_message(autostart_log, "Starting program.");
- kbdbuf_feed("RUN\r");
+ kbdbuf_feed("RUN:\r");
autostartmode = AUTOSTART_DONE;
break;
case NO:
@@ -374,15 +374,15 @@
traps = 1;
}
if (autostart_program_name)
- tmp = lib_msprintf("LOAD\"%s\",8,1\r", autostart_program_name);
+ tmp = lib_msprintf("LOAD\"%s\",8,1:\r", autostart_program_name);
else
- tmp = lib_stralloc("LOAD\"*\",8,1\r");
+ tmp = lib_stralloc("LOAD\"*\",8,1:\r");
kbdbuf_feed(tmp);
lib_free(tmp);
if (!traps) {
if (autostart_run_mode == AUTOSTART_MODE_RUN)
- kbdbuf_feed("RUN\r");
+ kbdbuf_feed("RUN:\r");
autostartmode = AUTOSTART_DONE;
} else {
autostartmode = AUTOSTART_LOADINGDISK;
@@ -422,6 +422,11 @@
if (!autostart_enabled)
return;
+ if( orig_drive_true_emulation_state == -1)
+ {
+ orig_drive_true_emulation_state = get_true_drive_emulation_state();
+ }
+
if (maincpu_clk < min_cycles)
{
autostart_wait_for_reset = 0;
@@ -542,6 +547,7 @@
tape_seek_start(tape_image_dev1);
}
}
+ resources_set_int("VirtualDevices", 1); /* Kludge: iAN CooG - for t64 images we need devtraps ON */
reboot_for_autostart(name, AUTOSTART_HASTAPE, runmode);
lib_free(name);
@@ -654,6 +660,7 @@
/* Setup FS-based drive emulation. */
fsdevice_set_directory(directory ? directory : ".", 8);
set_true_drive_emulation_mode(0);
+ orig_drive_true_emulation_state =0;
resources_set_int("VirtualDevices", 1);
resources_set_int("FSDevice8ConvertP00", 1);
file_system_detach_disk(8);
Modified: branches/marco/ports/vice/src/c64/reu.c
===================================================================
--- branches/marco/ports/vice/src/c64/reu.c 2008-06-29 22:05:18 UTC (rev 18934)
+++ branches/marco/ports/vice/src/c64/reu.c 2008-06-29 22:07:51 UTC (rev 18935)
@@ -1,4 +1,4 @@
-/*! \file reu.c\n
+/*! \file reu.c \n
* \author Andreas Boose, Spiro Trikaliotis, Jouko Valta, Richard Hable, Ettore Perazzoli\n
* \brief REU emulation.
*
@@ -60,10 +60,11 @@
#include "util.h"
-/**
+#if 0
#define REU_DEBUG 1 /*!< define this if you want to get debugging output for the REU. */
+#endif
-/*! the debug levels to use when REU_DEBUG is defined */
+/*! \brief the debug levels to use when REU_DEBUG is defined */
enum {
DEBUG_LEVEL_NONE = 0, /*!< do not output debugging information */
DEBUG_LEVEL_REGISTER, /*!< output debugging information concerning the REU registers */
@@ -73,7 +74,7 @@
} debug_level_e;
#ifdef REU_DEBUG
- /*! dynamically define the debugging level */
+ /*! \brief dynamically define the debugging level */
static enum debug_level_e DEBUG_LEVEL = 0;
/*! \brief output debugging information
@@ -108,7 +109,7 @@
* 01 Exec 0 Load Delayed 0 0 Mode
*/
-/*! Offsets of the different REU registers */
+/*! \brief Offsets of the different REU registers */
enum {
REU_REG_R_STATUS = 0x00, /*!< the REU status register */
REU_REG_RW_COMMAND = 0x01, /*!< the REU command register */
@@ -125,7 +126,7 @@
REU_REG_LAST_REG = 0x1F /*!< the last register of the REU */
};
-/*! bit definitions for the REU status register at offset REU_REG_R_STATUS */
+/*! \brief bit definitions for the REU status register at offset REU_REG_R_STATUS */
enum {
REU_REG_R_STATUS_CHIPVERSION_MASK = 0x0F, /*!< bit mask the extract the chip version no. */
REU_REG_R_STATUS_256K_CHIPS = 0x10, /*!< set if 256K DRAMs (256Kx1) are used (1764, 1750), if unset, 64K DRAMs (64Kx1) are used (1700) */
@@ -134,7 +135,7 @@
REU_REG_R_STATUS_INTERRUPT_PENDING = 0x80 /*!< set if an interrupt is pending. Cleared on read. */
};
-/*! bit definitions for the REU command register at offset REU_REG_RW_COMMAND */
+/*! \brief bit definitions for the REU command register at offset REU_REG_RW_COMMAND */
enum {
REU_REG_RW_COMMAND_TRANSFER_TYPE_MASK = 0x03, /*!< bit mask to extract the transfer type */
REU_REG_RW_COMMAND_TRANSFER_TYPE_TO_REU = 0x00, /*!< transfer type is C64 -> REU */
@@ -147,12 +148,12 @@
REU_REG_RW_COMMAND_EXECUTE = 0x80 /*!< is set, the specified operation should start. */
};
-/*! bit definitions for the REU bank register at offset REU_REG_RW_BANK */
+/*! \brief bit definitions for the REU bank register at offset REU_REG_RW_BANK */
enum {
REU_REG_RW_BANK_UNUSED = 0xF8 /*!< these bits are unused and always read as 1 */
};
-/*! bit definitions for the REU interrupt register at offset REU_REG_RW_INTERRUPT */
+/*! \brief bit definitions for the REU interrupt register at offset REU_REG_RW_INTERRUPT */
enum {
REU_REG_RW_INTERRUPT_UNUSED_MASK = 0x1F, /*!< these bits are unused and always read as 1 */
REU_REG_RW_INTERRUPT_VERIFY_ENABLED = 0x20, /*!< if set (and REU_REG_RW_INTERRUPT_INTERRUPTS_ENABLED is set, too), generate an interrupt if verify fails */
@@ -160,7 +161,7 @@
REU_REG_RW_INTERRUPT_INTERRUPTS_ENABLED = 0x80 /*!< is set, the REU can generate an interrupt. If unset, no interrupts can be generated */
};
-/*! bit definitions for the REU address control register at offset REU_REG_RW_ADDR_CONTROL */
+/*! \brief bit definitions for the REU address control register at offset REU_REG_RW_ADDR_CONTROL */
enum {
REU_REG_RW_ADDR_CONTROL_UNUSED_MASK = 0x3f, /*!< these bits are unused and always read as 1 */
REU_REG_RW_ADDR_CONTROL_FIX_REC = 0x40, /*!< if set, the REU address is fixed, it does not increment */
@@ -169,7 +170,7 @@
/* REU registers */
-/*! define a complete set of REC registers */
+/*! \brief define a complete set of REC registers */
struct rec_s {
BYTE status; /*!< status register at offset REU_REG_R_STATUS */
BYTE command; /*!< command register at offset REU_REG_RW_COMMAND */
@@ -189,10 +190,10 @@
WORD transfer_length_shadow; /*!< shadow register of transfer_length */
};
-/*! a complete REC description */
+/*! \brief a complete REC description */
static struct rec_s rec;
-/*! some rec options which define the special behaviour */
+/*! \brief some rec options which define special behaviour */
struct rec_options_s {
unsigned int wrap_around; /*!< address where the REU has a wrap around */
unsigned int special_wrap_around_1700; /*!< address where the special 1700 wrap around occurs; if no 1700, the same avalue as wrap_around */
@@ -202,14 +203,14 @@
BYTE status_preset; /*!< preset value for the status (can be 0 or REU_REG_R_STATUS_256K_CHIPS) */
};
-/*! a complete REC options description */
+/*! \brief a complete REC options description */
static struct rec_options_s rec_options;
-/*! buffer which holds the REU image. */
+/*! \brief pointer to a buffer which holds the REU image. */
static BYTE *reu_ram = NULL;
-/*! holds the old ram size of reu_ram. Used to determine if and how much of the
+/*! \brief the old ram size of reu_ram. Used to determine if and how much of the
buffer has to cleared when resizing the REU. */
static unsigned int old_reu_ram_size = 0;
@@ -222,20 +223,20 @@
/* ------------------------------------------------------------------------- */
-/*! Flag: Do we enable the external REU? */
+/*! \brief Flag: Is the external REU enabled? */
int reu_enabled;
-/*! Size of the REU. */
+/*! \brief Size of the REU. */
static unsigned int reu_size = 0;
-/*! Size of the REU in KB. */
+/*! \brief Size of the REU in KB. */
static int reu_size_kb = 0;
-/*! Filename of the REU image. */
+/*! \brief Filename of the REU image. */
static char *reu_filename = NULL;
-/*! \internal set the reu to the enabled or disabled state
+/*! \internal \brief set the reu to the enabled or disabled state
\param val
if 0, disable the REU; else, enable it.
@@ -268,7 +269,7 @@
}
}
-/*! \internal set the size of the reu
+/*! \internal \brief set the size of the reu
\param val
the size of the REU, in KB
@@ -344,7 +345,7 @@
return 0;
}
-/*! \internal set the file name of the REU data
+/*! \internal \brief set the file name of the REU data
\param name
pointer to a buffer which holds the file name.
@@ -383,14 +384,14 @@
return 0;
}
-/*! string resources used by the REU module */
+/*! \brief string resources used by the REU module */
static const resource_string_t resources_string[] = {
{ "REUfilename", "", RES_EVENT_NO, NULL,
&reu_filename, set_reu_filename, NULL },
{ NULL }
};
-/*! integer resources used by the REU module */
+/*! \brief integer resources used by the REU module */
static const resource_int_t resources_int[] = {
{ "REU", 0, RES_EVENT_STRICT, (resource_value_t)0,
&reu_enabled, set_reu_enabled, NULL },
@@ -399,7 +400,7 @@
{ NULL }
};
-/*! initialize the reu resources
+/*! \brief initialize the reu resources
\return
0 on success, else -1.
@@ -414,7 +415,7 @@
return resources_register_int(resources_int);
}
-/*! uninitialize the reu resources */
+/*! \brief uninitialize the reu resources */
void reu_resources_shutdown(void)
{
lib_free(reu_filename);
@@ -450,7 +451,7 @@
};
#endif
-/*! initialize the command-line options'
+/*! \brief initialize the command-line options'
\return
0 on success, else -1.
@@ -464,7 +465,7 @@
/* ------------------------------------------------------------------------- */
-/*! initialize the REU */
+/*! \brief initialize the REU */
void reu_init(void)
{
reu_log = log_open("REU");
@@ -472,7 +473,7 @@
reu_int_num = interrupt_cpu_status_int_new(maincpu_int_status, "REU");
}
-/*! reset the REU */
+/*! \brief reset the REU */
void reu_reset(void)
{
memset(&rec, 0, sizeof rec);
@@ -676,7 +677,7 @@
break;
case REU_REG_RW_BANK:
- rec.bank_reu = byte;
+ rec.bank_reu = byte & ~ rec_options.reg_bank_unused;
break;
case REU_REG_RW_BLOCKLEN_LOW:
@@ -881,7 +882,8 @@
The transfer length the operation stopped at
\remark
- if autoload is enabled, nothing is stored in the REU registers.
+ if autoload is enabled, the shadow registers are written back
+ to the REU registers.
*/
static void reu_dma_update_regs(WORD host_addr, unsigned int reu_addr,
int len)
@@ -906,6 +908,10 @@
rec.transfer_length = len;
}
else {
+ rec.base_computer = rec.base_computer_shadow;
+ rec.base_reu = rec.base_reu_shadow;
+ rec.transfer_length = rec.transfer_length_shadow;
+
DEBUG_LOG( DEBUG_LEVEL_REGISTER, (reu_log, "Autoload.") );
}
}
Modified: branches/marco/ports/vice/src/version.h
===================================================================
--- branches/marco/ports/vice/src/version.h 2008-06-29 22:05:18 UTC (rev 18934)
+++ branches/marco/ports/vice/src/version.h 2008-06-29 22:07:51 UTC (rev 18935)
@@ -28,11 +28,11 @@
#define __VERSION_H__
#ifndef VERSION
-#define VERSION "1.22.20"
+#define VERSION "1.22.21"
#endif
#ifndef VERSION_RC_NUMBER
-#define VERSION_RC_NUMBER 1,22,20,0
+#define VERSION_RC_NUMBER 1,22,21,0
#endif
#ifndef PACKAGE
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|