[Scummvm-cvs-logs] CVS: scummvm/backends/PalmOS/Src init_arm.cpp,1.1,1.2 init_arm.h,1.1,1.2
Chris Apers
chrilith at users.sourceforge.net
Fri Dec 10 07:30:22 CET 2004
Update of /cvsroot/scummvm/scummvm/backends/PalmOS/Src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17386
Modified Files:
init_arm.cpp init_arm.h
Log Message:
New ARM call
Index: init_arm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/backends/PalmOS/Src/init_arm.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- init_arm.cpp 9 Nov 2004 10:45:47 -0000 1.1
+++ init_arm.cpp 10 Dec 2004 15:29:34 -0000 1.2
@@ -2,56 +2,31 @@
#include "globals.h"
#include "init_arm.h"
-void ARMInit() {
- // init global ARM only
- MemSet(gVars->arm, sizeof(gVars->arm), 0);
- ARM(PNO_COPYRECT ).pnoPtr = _PnoInit(RSC_COPYRECT, &ARM(PNO_COPYRECT).pnoDesc);
- ARM(PNO_COSTUMEPROC3).pnoPtr = _PceInit(RSC_COSTUMEPROC3);
- ARM(PNO_DRAWSTRIP ).pnoPtr = _PceInit(RSC_DRAWSTRIP);
- ARM(PNO_BLIT ).pnoPtr = _PnoInit(RSC_BLIT, &ARM(PNO_BLIT).pnoDesc);
-}
-
-void ARMRelease() {
- _PnoFree(&ARM(PNO_BLIT ).pnoDesc, ARM(PNO_BLIT).pnoPtr);
- _PceFree(ARM(PNO_DRAWSTRIP ).pnoPtr);
- _PceFree(ARM(PNO_COSTUMEPROC3 ).pnoPtr);
- _PnoFree(&ARM(PNO_COPYRECT ).pnoDesc, ARM(PNO_COPYRECT).pnoPtr);
-}
-
-MemPtr _PceInit(DmResID resID) {
+static void PnoInit(DmResID resID,PNOInitType *pnoP) {
+ // Load and allocate PNO
MemHandle armH = DmGetResource('ARMC', resID);
- NativeFuncType *armP = (NativeFuncType *)MemHandleLock(armH);
-
- return armP;
-}
-
-UInt32 _PceCall(void *armP, void *userDataP) {
- return PceNativeCall((NativeFuncType *)armP, userDataP);
-}
-
-void _PceFree(void *armP) {
- MemHandle armH = MemPtrRecoverHandle(armP);
-
+ MemPtr armP = MemHandleLock(armH);
+ PnoLoad(&pnoP->pnoDesc, armP);
MemPtrUnlock(armP);
DmReleaseResource(armH);
-}
-
-MemPtr _PnoInit(DmResID resID, PnoDescriptor *pnoP) {
- MemHandle armH = DmGetResource('ARMC', resID);
- MemPtr armP = MemHandleLock(armH);
- PnoLoad(pnoP, armP);
+
+ // Init PNO
+ PnoEntryHeader *header = (PnoEntryHeader *)ALIGN_4BYTE(pnoP->headerBuffer);
+ pnoP->alignedHeader = header;
- return armP;
+ header->r10Value = pnoP->pnoDesc.r10Value;
+ header->pnoMainAddress = pnoP->pnoDesc.pnoMainAddress;
}
-UInt32 _PnoCall(PnoDescriptor *pnoP, void *userDataP) {
- return PnoCall(pnoP, userDataP);
+void ARMInit() {
+ // init global ARM only
+ MemSet(gVars->arm, sizeof(gVars->arm), 0);
+ PnoInit(RSC_ARMCOMMON, &ARM(ARM_COMMON));
+ PnoInit(RSC_ARMENGINE, &ARM(ARM_ENGINE));
}
-void _PnoFree(PnoDescriptor *pnoP, MemPtr armP) {
- MemHandle armH = MemPtrRecoverHandle(armP);
+void ARMRelease() {
+ PnoUnload(&ARM(ARM_ENGINE).pnoDesc);
+ PnoUnload(&ARM(ARM_COMMON).pnoDesc);
+}
- PnoUnload(pnoP);
- MemPtrUnlock(armP);
- DmReleaseResource(armH);
-}
\ No newline at end of file
Index: init_arm.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/backends/PalmOS/Src/init_arm.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- init_arm.h 9 Nov 2004 10:45:47 -0000 1.1
+++ init_arm.h 10 Dec 2004 15:29:34 -0000 1.2
@@ -4,13 +4,4 @@
void ARMInit();
void ARMRelease();
-// calls
-MemPtr _PceInit(DmResID resID);
-UInt32 _PceCall(void *armP, void *userDataP);
-void _PceFree(void *armP);
-
-MemPtr _PnoInit(DmResID resID, PnoDescriptor *pnoP);
-UInt32 _PnoCall(PnoDescriptor *pnoP, void *userDataP);
-void _PnoFree(PnoDescriptor *pnoP, MemPtr armP);
-
-#endif
\ No newline at end of file
+#endif
More information about the Scummvm-git-logs
mailing list