[Vm-dev] [commit][2698] add ioSetCursorARGB to sq.h,
add an ACORN versoin of fileno to sqVirtualMachine.
h and an ACORN fudge in FilePlugin.h
commits at squeakvm.org
commits at squeakvm.org
Wed Mar 6 04:33:52 UTC 2013
Revision: 2698
Author: rowledge
Date: 2013-03-05 20:33:50 -0800 (Tue, 05 Mar 2013)
Log Message:
-----------
add ioSetCursorARGB to sq.h, add an ACORN versoin of fileno to sqVirtualMachine.h and an ACORN fudge in FilePlugin.h
Modified Paths:
--------------
trunk/platforms/Cross/plugins/FilePlugin/FilePlugin.h
trunk/platforms/Cross/plugins/HostWindowPlugin/HostWindowPlugin.h
trunk/platforms/Cross/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.h
trunk/platforms/Cross/plugins/JPEGReadWriter2Plugin/jmemdatasrc.c
trunk/platforms/Cross/vm/sq.h
trunk/platforms/Cross/vm/sqVirtualMachine.c
Modified: trunk/platforms/Cross/plugins/FilePlugin/FilePlugin.h
===================================================================
--- trunk/platforms/Cross/plugins/FilePlugin/FilePlugin.h 2013-03-02 01:22:06 UTC (rev 2697)
+++ trunk/platforms/Cross/plugins/FilePlugin/FilePlugin.h 2013-03-06 04:33:50 UTC (rev 2698)
@@ -1,11 +1,11 @@
/****************************************************************************
* PROJECT: Common include
* FILE: FilePlugin.h
-* CONTENT:
+* CONTENT:
*
-* AUTHOR:
-* ADDRESS:
-* EMAIL:
+* AUTHOR:
+* ADDRESS:
+* EMAIL:
* RCSID: $Id$
*
* 2009-05-15 EEM add stdio flag; reorder SQFile to make it more compact
@@ -22,10 +22,18 @@
int sessionID; /* ikp: must be first */
void *file;
squeakFileOffsetType fileSize; /* 64-bits we hope. */
+#if defined(ACORN)
+// ACORN has to have 'lastOp' as at least a 32 bit field in order to work
+ int lastOp; // actually used to save file position
+ char writable;
+ char lastChar;
+ char isStdioStream;
+#else
char writable;
char lastOp; /* 0 = uncommitted, 1 = read, 2 = write */
char lastChar;
char isStdioStream;
+#endif
} SQFile;
/* file i/o */
Modified: trunk/platforms/Cross/plugins/HostWindowPlugin/HostWindowPlugin.h
===================================================================
--- trunk/platforms/Cross/plugins/HostWindowPlugin/HostWindowPlugin.h 2013-03-02 01:22:06 UTC (rev 2697)
+++ trunk/platforms/Cross/plugins/HostWindowPlugin/HostWindowPlugin.h 2013-03-06 04:33:50 UTC (rev 2698)
@@ -18,7 +18,7 @@
/* ioShowDisplayOnWindow: similar to ioShowDisplay but adds the sqInt windowIndex
* Return true if ok, false if not, but not currently checked */
-extern sqInt ioShowDisplayOnWindow( unsigned char* dispBitsIndex, sqInt width, sqInt
+extern sqInt ioShowDisplayOnWindow( unsigned /* TPR char */ * dispBitsIndex, sqInt width, sqInt
height, sqInt depth, sqInt affectedL, sqInt affectedR, sqInt affectedT, sqInt affectedB,
sqInt windowIndex);
Modified: trunk/platforms/Cross/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.h
===================================================================
--- trunk/platforms/Cross/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.h 2013-03-02 01:22:06 UTC (rev 2697)
+++ trunk/platforms/Cross/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.h 2013-03-06 04:33:50 UTC (rev 2698)
@@ -14,4 +14,4 @@
void error_exit (j_common_ptr cinfo);
GLOBAL(void) jpeg_mem_src (j_decompress_ptr cinfo, char * pSourceData, unsigned sourceDataSize);
GLOBAL(int) jpeg_mem_src_newLocationOfData (j_decompress_ptr cinfo, char * pSourceData, unsigned sourceDataSize);
-GLOBAL(void) jpeg_mem_dest (j_compress_ptr cinfo, char * pDestination, unsigned *pDestinationSize);
\ No newline at end of file
+GLOBAL(void) jpeg_mem_dest (j_compress_ptr cinfo, char * pDestination, unsigned *pDestinationSize);
Modified: trunk/platforms/Cross/plugins/JPEGReadWriter2Plugin/jmemdatasrc.c
===================================================================
--- trunk/platforms/Cross/plugins/JPEGReadWriter2Plugin/jmemdatasrc.c 2013-03-02 01:22:06 UTC (rev 2697)
+++ trunk/platforms/Cross/plugins/JPEGReadWriter2Plugin/jmemdatasrc.c 2013-03-06 04:33:50 UTC (rev 2698)
@@ -198,4 +198,4 @@
src->actualPos = pSourceData + offset;
return((src->actualPos + src->bytesLeft) == (pSourceData + sourceDataSize));
-}
\ No newline at end of file
+}
Modified: trunk/platforms/Cross/vm/sq.h
===================================================================
--- trunk/platforms/Cross/vm/sq.h 2013-03-02 01:22:06 UTC (rev 2697)
+++ trunk/platforms/Cross/vm/sq.h 2013-03-06 04:33:50 UTC (rev 2698)
@@ -1,11 +1,11 @@
/****************************************************************************
* PROJECT: Common include
* FILE: sq.h
-* CONTENT:
+* CONTENT:
*
-* AUTHOR:
-* ADDRESS:
-* EMAIL:
+* AUTHOR:
+* ADDRESS:
+* EMAIL:
* RCSID: $Id$
*
*/
@@ -118,11 +118,11 @@
#define ioMSecs() ((1000 * clock()) / CLOCKS_PER_SEC)
/* this macro cannot be used now that ioMicroMSecs is involved in the
- sqVirtualMachine structures - we must have a function
+ sqVirtualMachine structures - we must have a function
#define ioMicroMSecs() ((1000 * clock()) / CLOCKS_PER_SEC)
*/
-/* New filename converting function; used by the interpreterProxy function
+/* New filename converting function; used by the interpreterProxy function
ioFilenamefromStringofLengthresolveAliases. Most platforms can ignore the
resolveAlias boolean - it seems to only be of use by OSX but is crucial there.
*/
@@ -133,7 +133,7 @@
Override in sqPlatformSpecific.h for each platform that implements a
file truncate, or consider replacing the
../Cross/plugins/FilePlugin/sqFilePluginBasicPrims.c
- file with a platform specific version as Win32 and RISC OS do.
+ file with a platform specific version as Win32 and RISC OS do.
*/
#define sqFTruncate(filenum, fileoffset) true
@@ -177,6 +177,7 @@
sqInt ioSeconds(void);
sqInt ioSetCursor(sqInt cursorBitsIndex, sqInt offsetX, sqInt offsetY);
sqInt ioSetCursorWithMask(sqInt cursorBitsIndex, sqInt cursorMaskIndex, sqInt offsetX, sqInt offsetY);
+sqInt ioSetCursorARGB(sqInt cursorBitsIndex, sqInt extentX, sqInt extentY, sqInt offsetX, sqInt offsetY);
sqInt ioShowDisplay(sqInt dispBitsIndex, sqInt width, sqInt height, sqInt depth,
sqInt affectedL, sqInt affectedR, sqInt affectedT, sqInt affectedB);
sqInt ioHasDisplayDepth(sqInt depth);
@@ -190,7 +191,7 @@
In general, either set of input function can be supported,
depending on the platform. This (first) set is state based
and should be supported even on platforms that make use
- of the newer event driven API to support older images
+ of the newer event driven API to support older images
without event support.
*/
Modified: trunk/platforms/Cross/vm/sqVirtualMachine.c
===================================================================
--- trunk/platforms/Cross/vm/sqVirtualMachine.c 2013-03-02 01:22:06 UTC (rev 2697)
+++ trunk/platforms/Cross/vm/sqVirtualMachine.c 2013-03-06 04:33:50 UTC (rev 2698)
@@ -41,7 +41,7 @@
* equivalent but 64 bit valid function is added as *
* 'fetchLong32OfObject' */
sqInt obsoleteDontUseThisFetchWordofObject(sqInt index, sqInt oop);
-sqInt fetchLong32ofObject(sqInt index, sqInt oop);
+sqInt fetchLong32ofObject(sqInt index, sqInt oop);
void *firstFixedField(sqInt oop);
void *firstIndexableField(sqInt oop);
sqInt literalofMethod(sqInt offset, sqInt methodPointer);
@@ -153,7 +153,7 @@
sqInt forceInterruptCheck(void);
sqInt getThisSessionID(void);
sqInt ioFilenamefromStringofLengthresolveAliases(char* aCharBuffer, char* filenameIndex, sqInt filenameLength, sqInt resolveFlag);
-sqInt vmEndianness(void);
+sqInt vmEndianness(void);
sqInt getInterruptPending(void);
/* InterpreterProxy methodsFor: 'BitBlt support' */
@@ -326,7 +326,7 @@
VM->falseObject = falseObject;
VM->nilObject = nilObject;
VM->trueObject = trueObject;
-
+
/* InterpreterProxy methodsFor: 'special classes' */
VM->classArray = classArray;
VM->classBitmap = classBitmap;
@@ -511,6 +511,11 @@
# define fopen_for_append(filename) fopen(filename,"a+")
#endif
+#if defined (ACORN)
+#define fileno(thing) 0
+// just to make it compile - it wont actually work
+#endif
+
void
pushOutputFile(char *filenameOrStdioIndex)
{
@@ -541,7 +546,7 @@
}
void
-popOutputFile()
+popOutputFile(void)
{
if (stdoutStackIdx < 0) {
fprintf(stderr,"output file stack is empty.\n");
@@ -560,3 +565,4 @@
}
*stdout = stdoutStack[stdoutStackIdx--];
}
+
More information about the Vm-dev
mailing list