Revision: 19083
http://vice-emu.svn.sourceforge.net/vice-emu/?rev=19083&view=rev
Author: blackystardust
Date: 2008-07-26 22:12:00 +0000 (Sat, 26 Jul 2008)
Log Message:
-----------
Added BeOS UI for x64dtv.
Modified Paths:
--------------
branches/viceplus/v2.0-x64dtv/vice/src/arch/beos/Makefile.am
branches/viceplus/v2.0-x64dtv/vice/src/arch/beos/constants.h
branches/viceplus/v2.0-x64dtv/vice/src/arch/beos/make-bindist.sh
branches/viceplus/v2.0-x64dtv/vice/src/arch/beos/ui_file.cc
branches/viceplus/v2.0-x64dtv/vice/src/arch/beos/ui_file.h
branches/viceplus/v2.0-x64dtv/vice/src/arch/beos/ui_sid.cc
branches/viceplus/v2.0-x64dtv/vice/src/arch/beos/vicemenu.cc
branches/viceplus/v2.0-x64dtv/vice/src/c64dtv/c64dtvblitter.c
branches/viceplus/v2.0-x64dtv/vice/src/c64dtv/c64dtvdma.c
Added Paths:
-----------
branches/viceplus/v2.0-x64dtv/vice/src/arch/beos/c64dtvui.cc
Modified: branches/viceplus/v2.0-x64dtv/vice/src/arch/beos/Makefile.am
===================================================================
--- branches/viceplus/v2.0-x64dtv/vice/src/arch/beos/Makefile.am 2008-07-26 09:24:47 UTC (rev 19082)
+++ branches/viceplus/v2.0-x64dtv/vice/src/arch/beos/Makefile.am 2008-07-26 22:12:00 UTC (rev 19083)
@@ -10,6 +10,7 @@
-I$(top_srcdir)/src/vdrive \
-I$(top_srcdir)/src/monitor \
-I$(top_srcdir)/src/c64 \
+ -I$(top_srcdir)/src/c64dtv \
-I$(top_srcdir)/src/c128 \
-I$(top_srcdir)/src/vic20 \
-I$(top_srcdir)/src/pet \
@@ -25,6 +26,7 @@
blockdev.c \
c128ui.cc \
c64ui.cc \
+ c64dtvui.cc \
cbm2ui.cc \
console.c \
constants.h \
Added: branches/viceplus/v2.0-x64dtv/vice/src/arch/beos/c64dtvui.cc
===================================================================
--- branches/viceplus/v2.0-x64dtv/vice/src/arch/beos/c64dtvui.cc (rev 0)
+++ branches/viceplus/v2.0-x64dtv/vice/src/arch/beos/c64dtvui.cc 2008-07-26 22:12:00 UTC (rev 19083)
@@ -0,0 +1,119 @@
+/*
+ * c64dtvui.cc - C64DTV-specific user interface.
+ *
+ * Written by
+ * Marco van den Heuvel <bla...@ya...>
+ *
+ * This file is part of VICE, the Versatile Commodore Emulator.
+ * See README for copyright notice.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307 USA.
+ *
+ */
+
+#include "vice.h"
+
+#include <Alert.h>
+#include <Application.h>
+#include <FilePanel.h>
+#include <Menu.h>
+#include <MenuBar.h>
+#include <MenuItem.h>
+#include <ScrollView.h>
+#include <TextView.h>
+#include <View.h>
+#include <Window.h>
+#include <signal.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+#if defined(__BEOS__) && defined(WORDS_BIGENDIAN)
+#include <string.h>
+#endif
+
+extern "C" {
+#include "archdep.h"
+#include "cartridge.h"
+#include "constants.h"
+#include "keyboard.h"
+#include "resources.h"
+#include "statusbar.h"
+#include "types.h"
+#include "ui.h"
+#include "ui_file.h"
+#include "ui_vicii.h"
+#include "util.h"
+#include "viceapp.h"
+#include "vicewindow.h"
+}
+
+extern ViceWindow *windowlist[];
+
+ui_menu_toggle c64dtv_ui_menu_toggles[]={
+ { "VICIIDoubleSize", MENU_TOGGLE_DOUBLESIZE },
+ { "VICIIDoubleScan", MENU_TOGGLE_DOUBLESCAN },
+ { "VICIIVideoCache", MENU_TOGGLE_VIDEOCACHE },
+ { "c64dtvromrw", MENU_TOGGLE_C64DTV_WRITE_ENABLE },
+ { "HummerUserportJoy", MENU_TOGGLE_HUMMER_USERPORT_JOY },
+ { "Mouse", MENU_TOGGLE_MOUSE },
+ { "ps2mouse", MENU_TOGGLE_PS2MOUSE },
+ { "PALEmulation", MENU_TOGGLE_FASTPAL },
+ { "VICIIScale2x", MENU_TOGGLE_SCALE2X },
+ { NULL, 0 }
+};
+
+ui_res_possible_values c64dtvviciiBorders[] = {
+ {0, MENU_VICII_BORDERS_NORMAL},
+ {1, MENU_VICII_BORDERS_FULL},
+ {2, MENU_VICII_BORDERS_DEBUG},
+ {-1, 0}
+};
+
+ui_res_value_list c64dtv_ui_res_values[] = {
+ {"DtvRevision", C64DTVRevision},
+ {"HummerUserportJoyPort", HummerJoyPort},
+ {"VICIIBorderMode", c64dtvviciiBorders},
+ {NULL,NULL}
+};
+
+void c64dtv_ui_specific(void *msg, void *window)
+{
+ switch (((BMessage*)msg)->what) {
+ case MENU_VICII_SETTINGS:
+ ui_vicii();
+ break;
+ case MENU_C64DTV_ROM_FILE:
+ ui_select_file(windowlist[0]->savepanel,C64DTV_ROM_FILE,(void*)0);
+ break;
+ default: ;
+ }
+}
+
+extern "C" {
+int c64dtvui_init(void)
+{
+ ui_register_machine_specific(c64dtv_ui_specific);
+ ui_register_menu_toggles(c64dtv_ui_menu_toggles);
+ ui_register_res_values(c64dtv_ui_res_values);
+ ui_update_menus();
+ return 0;
+}
+
+void c64dtvui_shutdown(void)
+{
+}
+
+}
Modified: branches/viceplus/v2.0-x64dtv/vice/src/arch/beos/constants.h
===================================================================
--- branches/viceplus/v2.0-x64dtv/vice/src/arch/beos/constants.h 2008-07-26 09:24:47 UTC (rev 19082)
+++ branches/viceplus/v2.0-x64dtv/vice/src/arch/beos/constants.h 2008-07-26 22:12:00 UTC (rev 19083)
@@ -134,6 +134,8 @@
const uint32 MENU_TOGGLE_MMC64_FLASHJUMPER = 'M057';
const uint32 MENU_TOGGLE_MMC64_SAVE = 'M068';
const uint32 MENU_TOGGLE_MMC64_READ_ONLY = 'M058';
+const uint32 MENU_TOGGLE_C64DTV_WRITE_ENABLE = 'M099';
+const uint32 MENU_TOGGLE_HUMMER_USERPORT_JOY = 'M105';
const uint32 MENU_TOGGLE_SIDCART = 'M085';
const uint32 MENU_TOGGLE_SIDCART_FILTERS = 'M086';
const uint32 MENU_TOGGLE_MOUSE = 'M110';
@@ -261,6 +263,14 @@
const uint32 MENU_MMC64_BIOS_FILE = 'M059';
const uint32 MENU_MMC64_IMAGE_FILE = 'M065';
+const uint32 MENU_C64DTV_REVISION_2 = 'M137';
+const uint32 MENU_C64DTV_REVISION_3 = 'M138';
+
+const uint32 MENU_HUMMER_JOY_PORT_1 = 'M139';
+const uint32 MENU_HUMMER_JOY_PORT_2 = 'M150';
+
+const uint32 MENU_C64DTV_ROM_FILE = 'M151';
+
const uint32 MENU_SOUND_RECORD_AIFF = 'M069';
const uint32 MENU_SOUND_RECORD_IFF = 'M080';
const uint32 MENU_SOUND_RECORD_MP3 = 'M081';
@@ -285,6 +295,8 @@
const uint32 MENU_VICII_BORDERS_FULL = 'M097';
const uint32 MENU_VICII_BORDERS_DEBUG = 'M098';
+const uint32 MENU_TOGGLE_PS2MOUSE = 'M152';
+
const uint32 MENU_MOUSE_TYPE_1351 = 'M153';
const uint32 MENU_MOUSE_TYPE_NEOS = 'M154';
const uint32 MENU_MOUSE_TYPE_AMIGA = 'M155';
Modified: branches/viceplus/v2.0-x64dtv/vice/src/arch/beos/make-bindist.sh
===================================================================
--- branches/viceplus/v2.0-x64dtv/vice/src/arch/beos/make-bindist.sh 2008-07-26 09:24:47 UTC (rev 19082)
+++ branches/viceplus/v2.0-x64dtv/vice/src/arch/beos/make-bindist.sh 2008-07-26 22:12:00 UTC (rev 19083)
@@ -12,7 +12,7 @@
ZIPKIND=$4
TOPSRCDIR=$5
-if [ ! -e src/x64 -o ! -e src/x128 -o ! -e src/xvic -o ! -e src/xpet -o ! -e src/xplus4 -o ! -e src/xcbm2 -o ! -e src/c1541 -o ! -e src/petcat -o ! -e src/cartconv ]
+if [ ! -e src/x64 -o ! -e src/x64dtv -o ! -e src/x128 -o ! -e src/xvic -o ! -e src/xpet -o ! -e src/xplus4 -o ! -e src/xcbm2 -o ! -e src/c1541 -o ! -e src/petcat -o ! -e src/cartconv ]
then
echo Error: executable file\(s\) not found, do a \"make\" first
exit 1
@@ -28,6 +28,7 @@
rm -f -r BeVICE-$VICEVERSION.$BEOSCPU
mkdir BeVICE-$VICEVERSION.$BEOSCPU
$STRIP src/x64
+$STRIP src/x64dtv
$STRIP src/x128
$STRIP src/xvic
$STRIP src/xpet
@@ -36,10 +37,10 @@
$STRIP src/c1541
$STRIP src/petcat
$STRIP src/cartconv
-cp src/x64 src/x128 src/xvic BeVICE-$VICEVERSION.$BEOSCPU
+cp src/x64 src/x64dtv src/x128 src/xvic BeVICE-$VICEVERSION.$BEOSCPU
cp src/xpet src/xplus4 src/xcbm2 BeVICE-$VICEVERSION.$BEOSCPU
cp src/c1541 src/petcat src/cartconv BeVICE-$VICEVERSION.$BEOSCPU
-cp -a data/C128 data/C64 data/CBM-II data/DRIVES BeVICE-$VICEVERSION.$BEOSCPU
+cp -a data/C128 data/C64 data/C64DTV data/CBM-II data/DRIVES BeVICE-$VICEVERSION.$BEOSCPU
cp -a data/PET data/PLUS4 data/PRINTER data/VIC20 BeVICE-$VICEVERSION.$BEOSCPU
cp -a data/fonts BeVICE-$VICEVERSION.$BEOSCPU
mkdir BeVICE-$VICEVERSION.$BEOSCPU/doc
Modified: branches/viceplus/v2.0-x64dtv/vice/src/arch/beos/ui_file.cc
===================================================================
--- branches/viceplus/v2.0-x64dtv/vice/src/arch/beos/ui_file.cc 2008-07-26 09:24:47 UTC (rev 19082)
+++ branches/viceplus/v2.0-x64dtv/vice/src/arch/beos/ui_file.cc 2008-07-26 22:12:00 UTC (rev 19083)
@@ -321,6 +321,8 @@
sprintf(title,"Select MMC64 BIOS file");
if (filetype == MMC64_IMAGE_FILE)
sprintf(title,"Select MMC64 image file");
+ if (filetype == C64DTV_ROM_FILE)
+ sprintf(title,"Select C64DTV ROM file");
if (filetype == AIFF_FILE)
sprintf(title,"Select AIFF Sound Recording file");
if (filetype == IFF_FILE)
@@ -418,6 +420,8 @@
BMessage *msg = new BMessage(PLAY_VSID);
msg->AddString("filename", path->Path());
ui_add_event(msg);
+ } else if (last_filetype[0] == C64DTV_ROM_FILE) {
+ resources_set_string("c64dtvromfilename", path->Path());
} else if (last_filetype[0] == MMC64_BIOS_FILE) {
resources_set_string("MMC64BIOSfilename", path->Path());
} else if (last_filetype[0] == MMC64_IMAGE_FILE) {
Modified: branches/viceplus/v2.0-x64dtv/vice/src/arch/beos/ui_file.h
===================================================================
--- branches/viceplus/v2.0-x64dtv/vice/src/arch/beos/ui_file.h 2008-07-26 09:24:47 UTC (rev 19082)
+++ branches/viceplus/v2.0-x64dtv/vice/src/arch/beos/ui_file.h 2008-07-26 22:12:00 UTC (rev 19083)
@@ -52,6 +52,7 @@
PETREU_FILE,
MMC64_BIOS_FILE,
MMC64_IMAGE_FILE,
+ C64DTV_ROM_FILE,
AIFF_FILE,
IFF_FILE,
MP3_FILE,
Modified: branches/viceplus/v2.0-x64dtv/vice/src/arch/beos/ui_sid.cc
===================================================================
--- branches/viceplus/v2.0-x64dtv/vice/src/arch/beos/ui_sid.cc 2008-07-26 09:24:47 UTC (rev 19082)
+++ branches/viceplus/v2.0-x64dtv/vice/src/arch/beos/ui_sid.cc 2008-07-26 22:12:00 UTC (rev 19083)
@@ -58,6 +58,9 @@
static char *sidmodel[] = {
"6581 (old)",
"8580 (new)",
+ "8580 (new+digiboost)",
+ "6581R4",
+ "DTVSID",
NULL
};
Modified: branches/viceplus/v2.0-x64dtv/vice/src/arch/beos/vicemenu.cc
===================================================================
--- branches/viceplus/v2.0-x64dtv/vice/src/arch/beos/vicemenu.cc 2008-07-26 09:24:47 UTC (rev 19082)
+++ branches/viceplus/v2.0-x64dtv/vice/src/arch/beos/vicemenu.cc 2008-07-26 22:12:00 UTC (rev 19083)
@@ -119,27 +119,29 @@
new BMessage(MENU_FLIP_PREVIOUS), 'N', B_CONTROL_KEY));
menu->AddSeparatorItem();
- menu->AddItem(new BMenuItem("Attach Tape",
- new BMessage(MENU_ATTACH_TAPE), 'T'));
- menu->AddItem(new BMenuItem("Detach Tape",
- new BMessage(MENU_DETACH_TAPE)));
+ if (machine_class != VICE_MACHINE_C64DTV) {
+ menu->AddItem(new BMenuItem("Attach Tape",
+ new BMessage(MENU_ATTACH_TAPE), 'T'));
+ menu->AddItem(new BMenuItem("Detach Tape",
+ new BMessage(MENU_DETACH_TAPE)));
- menu->AddItem(submenu = new BMenu("Datasette Control"));
- submenu->AddItem(new BMenuItem("Start",
- new BMessage(MENU_DATASETTE_START)));
- submenu->AddItem(new BMenuItem("Stop",
- new BMessage(MENU_DATASETTE_STOP)));
- submenu->AddItem(new BMenuItem("Forward",
- new BMessage(MENU_DATASETTE_FORWARD)));
- submenu->AddItem(new BMenuItem("Rewind",
- new BMessage(MENU_DATASETTE_REWIND)));
- submenu->AddItem(new BMenuItem("Record",
- new BMessage(MENU_DATASETTE_RECORD)));
- submenu->AddItem(new BMenuItem("Reset",
- new BMessage(MENU_DATASETTE_RESET)));
- submenu->AddItem(new BMenuItem("Reset Counter",
- new BMessage(MENU_DATASETTE_COUNTER)));
- menu->AddSeparatorItem();
+ menu->AddItem(submenu = new BMenu("Datasette Control"));
+ submenu->AddItem(new BMenuItem("Start",
+ new BMessage(MENU_DATASETTE_START)));
+ submenu->AddItem(new BMenuItem("Stop",
+ new BMessage(MENU_DATASETTE_STOP)));
+ submenu->AddItem(new BMenuItem("Forward",
+ new BMessage(MENU_DATASETTE_FORWARD)));
+ submenu->AddItem(new BMenuItem("Rewind",
+ new BMessage(MENU_DATASETTE_REWIND)));
+ submenu->AddItem(new BMenuItem("Record",
+ new BMessage(MENU_DATASETTE_RECORD)));
+ submenu->AddItem(new BMenuItem("Reset",
+ new BMessage(MENU_DATASETTE_RESET)));
+ submenu->AddItem(new BMenuItem("Reset Counter",
+ new BMessage(MENU_DATASETTE_COUNTER)));
+ menu->AddSeparatorItem();
+ }
if (machine_class == VICE_MACHINE_C64) {
menu->AddItem(submenu = new BMenu("Attach cartridge image"));
submenu->AddItem(new BMenuItem("CRT",
@@ -331,6 +333,7 @@
new BMessage(MENU_TOGGLE_FASTPAL), 'P', B_CONTROL_KEY));
}
if (machine_class == VICE_MACHINE_C64
+ || machine_class == VICE_MACHINE_C64DTV
|| machine_class == VICE_MACHINE_C128
|| machine_class == VICE_MACHINE_PLUS4
|| machine_class == VICE_MACHINE_VIC20) {
@@ -349,7 +352,9 @@
}
menu->AddSeparatorItem();
- if (machine_class == VICE_MACHINE_C128 || machine_class == VICE_MACHINE_C64) {
+ if (machine_class == VICE_MACHINE_C128
+ || machine_class == VICE_MACHINE_C64
+ || machine_class == VICE_MACHINE_C64DTV) {
menu->AddItem(submenu = new BMenu("VIC-II Border mode"));
submenu->SetRadioMode(true);
submenu->AddItem(new BMenuItem("Normal",
@@ -390,7 +395,8 @@
}
if (machine_class == VICE_MACHINE_C64
|| machine_class == VICE_MACHINE_C128
- || machine_class == VICE_MACHINE_VIC20) {
+ || machine_class == VICE_MACHINE_VIC20
+ || machine_class == VICE_MACHINE_C64DTV) {
menu->AddItem(submenu = new BMenu("Video Standard"));
submenu->SetRadioMode(true);
submenu->AddItem(new BMenuItem("PAL-G",
@@ -411,6 +417,7 @@
if (!vsid_mode) {
if (machine_class == VICE_MACHINE_C64
+ || machine_class == VICE_MACHINE_C64DTV
|| machine_class == VICE_MACHINE_C128) {
menu->AddSeparatorItem();
@@ -418,6 +425,34 @@
new BMessage(MENU_TOGGLE_EMUID)));
menu->AddItem(new BMenuItem("Grab mouse events",
new BMessage(MENU_TOGGLE_MOUSE)));
+ }
+ if (machine_class == VICE_MACHINE_C64DTV) {
+ menu->AddItem(new BMenuItem("PS/2 mouse",
+ new BMessage(MENU_TOGGLE_PS2MOUSE)));
+ menu->AddSeparatorItem();
+ menu->AddItem(submenu = new BMenu("C64DTV Options"));
+ submenu->AddItem(new BMenuItem("C64DTV ROM File",
+ new BMessage(MENU_C64DTV_ROM_FILE)));
+ submenu->AddItem(extsubmenu = new BMenu("C64DTV revision"));
+ extsubmenu->SetRadioMode(true);
+ extsubmenu->AddItem(new BMenuItem("DTV2",
+ new BMessage(MENU_C64DTV_REVISION_2)));
+ extsubmenu->AddItem(new BMenuItem("DTV3",
+ new BMessage(MENU_C64DTV_REVISION_3)));
+ submenu->AddItem(new BMenuItem("C64DTV ROM writable",
+ new BMessage(MENU_TOGGLE_C64DTV_WRITE_ENABLE)));
+ submenu->AddItem(new BMenuItem("Hummer Userport joystick",
+ new BMessage(MENU_TOGGLE_HUMMER_USERPORT_JOY)));
+ submenu->AddItem(extsubmenu = new BMenu("Joystick port mapped to Hummer Userport"));
+ extsubmenu->SetRadioMode(true);
+ extsubmenu->AddItem(new BMenuItem("Joy1",
+ new BMessage(MENU_HUMMER_JOY_PORT_1)));
+ extsubmenu->AddItem(new BMenuItem("Joy2",
+ new BMessage(MENU_HUMMER_JOY_PORT_2)));
+ }
+ if (machine_class == VICE_MACHINE_C64
+ || machine_class == VICE_MACHINE_C128) {
+
menu->AddItem(submenu = new BMenu("Mouse Options"));
submenu->AddItem(extsubmenu = new BMenu("Mouse Type"));
extsubmenu->SetRadioMode(true);
@@ -692,9 +727,12 @@
new BMessage(MENU_DEVICE_SETTINGS)));
menu->AddItem(new BMenuItem("Drive ...",
new BMessage(MENU_DRIVE_SETTINGS)));
- menu->AddItem(new BMenuItem("Datasette ...",
- new BMessage(MENU_DATASETTE_SETTINGS)));
+ if (machine_class != VICE_MACHINE_C64DTV) {
+ menu->AddItem(new BMenuItem("Datasette ...",
+ new BMessage(MENU_DATASETTE_SETTINGS)));
+ }
if (machine_class == VICE_MACHINE_C64
+ || machine_class == VICE_MACHINE_C64DTV
|| machine_class == VICE_MACHINE_C128) {
menu->AddItem(new BMenuItem("VIC-II ...",
new BMessage(MENU_VICII_SETTINGS)));
@@ -706,6 +744,7 @@
menu->AddItem(new BMenuItem("Sound ...",
new BMessage(MENU_SOUND_SETTINGS)));
if (machine_class == VICE_MACHINE_C64
+ || machine_class == VICE_MACHINE_C64DTV
|| machine_class == VICE_MACHINE_C128
|| machine_class == VICE_MACHINE_CBM2) {
menu->AddItem(new BMenuItem("SID ...",
Modified: branches/viceplus/v2.0-x64dtv/vice/src/c64dtv/c64dtvblitter.c
===================================================================
--- branches/viceplus/v2.0-x64dtv/vice/src/c64dtv/c64dtvblitter.c 2008-07-26 09:24:47 UTC (rev 19082)
+++ branches/viceplus/v2.0-x64dtv/vice/src/c64dtv/c64dtvblitter.c 2008-07-26 22:12:00 UTC (rev 19083)
@@ -616,6 +616,7 @@
{
BYTE major_version, minor_version;
snapshot_module_t *m;
+ int temp_blitter_state;
/* Blitter module. */
m = snapshot_module_open(s, snap_blitter_module_name,
@@ -647,13 +648,15 @@
|| SMR_B(m, &sourceA) < 0
|| SMR_B(m, &sourceB) < 0
|| SMR_DW_INT(m, &blitter_count) < 0
- || SMR_DW_INT(m, (int *)&blitter_state) < 0
+ || SMR_DW_INT(m, &temp_blitter_state) < 0
|| SMR_DW_INT(m, &sourceA_line_off) < 0
|| SMR_DW_INT(m, &sourceB_line_off) < 0
|| SMR_DW_INT(m, &dest_line_off) < 0
|| SMR_B(m, &lastA) < 0)
goto fail;
+ blitter_state = temp_blitter_state;
+
if (snapshot_module_close(m) < 0)
goto fail;
m = NULL;
Modified: branches/viceplus/v2.0-x64dtv/vice/src/c64dtv/c64dtvdma.c
===================================================================
--- branches/viceplus/v2.0-x64dtv/vice/src/c64dtv/c64dtvdma.c 2008-07-26 09:24:47 UTC (rev 19082)
+++ branches/viceplus/v2.0-x64dtv/vice/src/c64dtv/c64dtvdma.c 2008-07-26 22:12:00 UTC (rev 19083)
@@ -506,6 +506,7 @@
{
BYTE major_version, minor_version;
snapshot_module_t *m;
+ int temp_dma_state;
/* DMA module. */
m = snapshot_module_open(s, snap_dma_module_name,
@@ -531,13 +532,15 @@
|| SMR_B(m, &dma_data) < 0
|| SMR_B(m, &dma_data_swap) < 0
|| SMR_DW_INT(m, &dma_count) < 0
- || SMR_DW_INT(m, (int *)&dma_state) < 0
+ || SMR_DW_INT(m, &temp_dma_state) < 0
|| SMR_DW_INT(m, &source_line_off) < 0
|| SMR_DW_INT(m, &dest_line_off) < 0
|| SMR_B(m, &source_memtype) < 0
|| SMR_B(m, &dest_memtype) < 0)
goto fail;
+ dma_state = temp_dma_state;
+
if (snapshot_module_close(m) < 0)
goto fail;
m = NULL;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|