[Scummvm-cvs-logs] SF.net SVN: scummvm: [23342] scummvm/trunk/backends/gp32

wonst719 at users.sourceforge.net wonst719 at users.sourceforge.net
Thu Jun 29 11:17:12 CEST 2006


Revision: 23342
Author:   wonst719
Date:     2006-06-29 02:17:04 -0700 (Thu, 29 Jun 2006)
ViewCVS:  http://svn.sourceforge.net/scummvm/?rev=23342&view=rev

Log Message:
-----------
Properly init memory tables.

Modified Paths:
--------------
    scummvm/trunk/backends/gp32/gp32_main.cpp
    scummvm/trunk/backends/gp32/gp32std_memory.cpp
Modified: scummvm/trunk/backends/gp32/gp32_main.cpp
===================================================================
--- scummvm/trunk/backends/gp32/gp32_main.cpp	2006-06-29 08:22:45 UTC (rev 23341)
+++ scummvm/trunk/backends/gp32/gp32_main.cpp	2006-06-29 09:17:04 UTC (rev 23342)
@@ -38,9 +38,6 @@
 GlobalVars g_vars;
 
 void init() {
-	extern void memChunkInit();
-	memChunkInit();
-
 	gp_setCpuSpeed(40); // Default CPU Speed
 
 	GpGraphicModeSet(16, NULL);
@@ -58,6 +55,9 @@
 }
 
 void GpMain(void *arg) {
+	extern void memChunkInit();
+	memChunkInit();
+
 	init();
 
 	readConfigVars();
@@ -84,6 +84,7 @@
 
 	extern void memChunkDeinit();
 	memChunkDeinit();
+
 	g_system->quit();	// TODO: Consider removing / replacing this!
 	
 	//return res;

Modified: scummvm/trunk/backends/gp32/gp32std_memory.cpp
===================================================================
--- scummvm/trunk/backends/gp32/gp32std_memory.cpp	2006-06-29 08:22:45 UTC (rev 23341)
+++ scummvm/trunk/backends/gp32/gp32std_memory.cpp	2006-06-29 09:17:04 UTC (rev 23342)
@@ -1,6 +1,8 @@
 /* ScummVM - Scumm Interpreter
  * Copyright (C) 2001-2006 The ScummVM project
- * Copyright (C) 2006 Won Star - GP32 Backend
+ * Copyright (C) 2002 Ph0x - GP32 Backend
+ * Copyright (C) 2003/2004 DJWillis - GP32 Backend
+ * Copyright (C) 2005/2006 Won Star - GP32 Backend
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -52,7 +54,7 @@
 	static int prevBlock;
 
 	// Linked list is slow for this task. :)
-	static MemBlock block[NUM_BLOCK];
+	static MemBlock *block;
 
 	byte *block;
 	size_t size;
@@ -74,23 +76,30 @@
 //size_t MemBlock::allocSize = 0;
 int MemBlock::numBlock = 0;
 int MemBlock::prevBlock = 0;
-MemBlock MemBlock::block[NUM_BLOCK];
+MemBlock *MemBlock::block = NULL;
 
 void MemBlock::init()
 {
 	userMem = (byte *)gm_malloc(USER_MEMORY_SIZE + USER_BLOCK_SIZE);
-	if (!userMem) {
+	block = (MemBlock *)gm_malloc(NUM_BLOCK * sizeof(MemBlock));
+
+	if (!(userMem && block)) {
 		//error
 	}
+
+	memset(userMem, 0, USER_MEMORY_SIZE + USER_BLOCK_SIZE);
+	memset(block, 0, NUM_BLOCK * sizeof(MemBlock));
 }
 
 void MemBlock::deinit()
 {
-	if (!userMem) {
+	if (!(userMem && block)) {
 		//error
 	}
 	gm_free(userMem);
+	gm_free(block);
 	userMem = NULL;
+	block = NULL;
 }
 
 void *MemBlock::addBlock(size_t size)


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.





More information about the Scummvm-git-logs mailing list