]> 4ch.mooo.com Git - 16.git/blobdiff - src/sega.c
update tesuto.c to latest VRL demo code. sprite drawing just got a bit faster.
[16.git] / src / sega.c
old mode 100644 (file)
new mode 100755 (executable)
index d4d04d2..3a271cd
@@ -2,20 +2,33 @@
 #include <stdlib.h>\r
 #include <malloc.h>\r
 \r
-struct list {\r
-    struct list __based(__self) *next;\r
-    int         value;\r
+struct list {
+#ifdef __WATCOMC__\r
+       struct list __based(__self) *next;
+#endif
+#ifdef __BORLANDC__
+       struct list _seg *next;
+#endif\r
+       int         value;\r
 };\r
 \r
 void main(int argc, char *argv[])\r
-  {\r
-    int         i;\r
-    __segment   segu;\r
-    struct list __based(segu) *head;\r
-    struct list __based(segu) *p;\r
+{\r
+       int         i;
+#ifdef __WATCOMC__\r
+       __segment   segu;
+       void __based(__self) *pee;\r
+       struct list __based(segu) *head;\r
+       struct list __based(segu) *p;
+#endif
+#ifdef __BORLANDC__
+       void _seg *pee;\r
+       struct list _seg *head;\r
+       struct list _seg *p;
+#endif\r
 \r
     /* allocate based heap */\r
-    segu = _bheapseg( 1024 );\r
+    segu = _bheapseg( 65536 );\r
     if( segu == _NULLSEG ) {\r
       printf( "Unable to allocate based heap\n" );\r
       exit( 1 );\r
@@ -23,7 +36,7 @@ void main(int argc, char *argv[])
 \r
     /* create a linked list in the based heap */\r
     head = 0;\r
-    for( i = 1; i < 10; i++ ) {\r
+    for( i = 1; i < 4096; i++ ) {\r
       p = _bmalloc( segu, sizeof( struct list ) );\r
       if( p == _NULLOFF ) {\r
         printf( "_bmalloc failed\n" );\r
@@ -36,9 +49,13 @@ void main(int argc, char *argv[])
 \r
     /* traverse the linked list, printing out values */\r
     for( p = head; p != 0; p = p->next ) {\r
-       printf("Segu = %04X %FP", p, p);\r
-      printf( "        Value = %d\n", p->value );\r
+               if(p==head || p->next==0 || p==pee){
+                       printf("Segu = %04X", p); printf( "     Value = %d\n", p->value );
+               }\r
     }\r
+
+       printf("program=%FP\n", *argv[0]);
+       printf("seg=%04X\n", segu);
 \r
     /* free all the elements of the linked list */\r
     for( ; p = head; ) {\r
@@ -47,6 +64,4 @@ void main(int argc, char *argv[])
     }\r
     /* free the based heap */\r
     _bfreeseg( segu );
-       printf("program=%P\n", *argv[0]);
-       printf("seg=%P\n", segu);\r
 }\r