+WARNING: Failed to initialize DEBUG output\r
starting timer ok\r
index=4096\r
-chkmap ok Project 16 scroll.exe. This is just a test file!\r
-version May 9 2016 02:45:56\r
+chkmap ok 0 fps\r
+48 fps\r
+37 fps\r
+50 fps\r
+Project 16 scroll.exe. This is just a test file!\r
+version Jun 6 2016 09:16:37\r
tx: 0\r
ty: 0\r
-player.x: 160 player.y: 128\r
-player.tx: 10 player.ty: 8\r
-player.triggx: 10 player.triggy: 9\r
-player.hp: 4 player.q: 1 player.info.dir: 2 player.d: 2 pdir=0\r
-tile data value at player trigger position: 0\r
+player.x: 304 player.y: 128\r
+player.tx: 20 player.ty: 8\r
+player.triggx: 21 player.triggy: 8\r
+player.hp: 4 player.q: 1 player.info.dir: 2 player.d: 2 pdir=3\r
+tile data value at player trigger position: 1\r
Virtual Screen: 352x272\r
Screen: 320x240\r
virtual tile resolution: 22x17\r
tile resolution: 20x15 \r
middle tile position: 10x8\r
-video memory remaining: 40447\r
-page [0]=(a000:0000) size=30208 sw=320 sh=240 width=352 height=272\r
- [1]=(a000:7600) size=30208 sw=320 sh=240 width=352 height=272\r
- [2]=(a000:ec00) size=30208 sw=320 sh=240 width=352 height=272\r
-mv[1].tx: 0 mv[1].ty: 0 panswitch=0\r
+video memory remaining: 65535\r
+page [0]=(a000:0000) size=23936 sw=320 sh=240 width=352 height=272\r
+ [1]=(a000:5d80) size=23936 sw=320 sh=240 width=352 height=272\r
+ [2]=(a000:bb00) size=1024 sw=64 sh=64 width=64 height=64\r
+ [3]=(a000:bf00) size=16640 sw=320 sh=208 width=320 height=208\r
+mv[1].tx: 0 mv[1].ty: 0 gvar.video.p=1\r
\r
\r
detected CPU type: 386 or newer\r
--- /dev/null
+WARNING: Failed to initialize DEBUG output\r
+starting timer ok\r
+index=4096\r
+chkmap ok 0 fps\r
+48 fps\r
+37 fps\r
+50 fps\r
+Project 16 scroll.exe. This is just a test file!\r
+version Jun 6 2016 09:16:37\r
+tx: 0\r
+ty: 0\r
+player.x: 304 player.y: 128\r
+player.tx: 20 player.ty: 8\r
+player.triggx: 21 player.triggy: 8\r
+player.hp: 4 player.q: 1 player.info.dir: 2 player.d: 2 pdir=3\r
+tile data value at player trigger position: 1\r
+Virtual Screen: 352x272\r
+Screen: 320x240\r
+virtual tile resolution: 22x17\r
+tile resolution: 20x15 \r
+middle tile position: 10x8\r
+video memory remaining: 65535\r
+page [0]=(a000:0000) size=23936 sw=320 sh=240 width=352 height=272\r
+ [1]=(a000:5d80) size=23936 sw=320 sh=240 width=352 height=272\r
+ [2]=(a000:bb00) size=1024 sw=64 sh=64 width=64 height=64\r
+ [3]=(a000:bf00) size=16640 sw=320 sh=208 width=320 height=208\r
+mv[1].tx: 0 mv[1].ty: 0 gvar.video.p=1\r
+\r
+\r
+detected CPU type: 386 or newer\r
if(elapsed_timer(gv) >= (1.0 / gv->kurokku.frames_per_second))\r
{\r
//t=(((*(gv->clock))-gv->clock_start) /18.2);\r
- sprintf(gv->pee, "%f fps", (double)gv->kurokku.tiku/ticktock(gv));\r
+ sprintf(gv->pee, "%.0f fps", (double)gv->kurokku.tiku/ticktock(gv));\r
fprintf(stderr, "%s\n", gv->pee);\r
//(gv->clock_start)=*(gv->clock);\r
gv->kurokku.tiku=0;\r
right=0x0f;\r
}\r
\r
+ //printf("modexClearRegion(x=%u, y=%u, w=%u, h=%u, left=%u, right=%u)\n", x, y, w, h, left, right);\r
+\r
__asm {\r
PUSHF\r
PUSH ES\r
{\r
word doffset = (word)dest->data + dy*(dest->stridew) + dx/4;\r
word soffset = (word)src->data + sy*(src->stridew) + sx/4;\r
- word scans = vga_state.vga_stride;\r
+ word scans = vga_state.vga_stride+8; //++++0000 the quick and dirty fix of the major issue with p16 video display wwww\r
word nextSrcRow = src->stridew - scans - 1;\r
word nextDestRow = dest->stridew - scans - 1;\r
byte lclip[] = {0x0f, 0x0e, 0x0c, 0x08}; /* clips for rectangles not on 4s */\r
- byte rclip[] = {0x0f, 0x01, 0x03, 0x07};\r
+ byte rclip[] = {0x00, 0x01, 0x03, 0x07};\r
byte left = lclip[sx&0x03];\r
byte right = rclip[(sx+width)&0x03];\r
\r
+ /* handle the case which requires an extra group */\r
+ if((sx & 0x03) && !((sx+width) & 0x03)) {\r
+ right=0x0f;\r
+ }\r
+\r
+// printf("modexCopyPageRegion(src->stridew=%u, dest->stridew=%u, sx=%u, sy=%u, dx=%u, dy=%u, width=%u, height=%u, left=%u, right=%u)\n", src->stridew, dest->stridew, sx, sy, dx, dy, width, height, left, right);\r
+\r
__asm {\r
PUSHF\r
PUSH ES\r
{\r
printf(" [%u]=", i);\r
printf("(%Fp)", (v->page[i].data));\r
- printf(" size=%u", v->page[i].pagesize);\r
- printf(" sw=%lu sh=%lu ", (unsigned long)v->page[i].sw, (unsigned long)v->page[i].sh);\r
+ printf(" size=%u ", v->page[i].pagesize);\r
+ printf("sw=%lu sh=%lu ", (unsigned long)v->page[i].sw, (unsigned long)v->page[i].sh);\r
printf(" width=%lu height=%lu", (unsigned long)v->page[i].width, (unsigned long)v->page[i].height);\r
printf("\n");\r
}\r
modexPalUpdate(map.tiles->data, &paloffset, 0, 0);
printf("2paloffset = %d\n", paloffset/3);
modexpdump(mv[0].page); modexpdump(mv[1].page);
- IN_UserInput(1,1);
+ IN_UserInput(1,1);
}
#endif
#endif
//pan switch
if(IN_KeyDown(88)){panswitch=!panswitch; IN_UserInput(1,1);} //f12
- //TSR
if(IN_KeyDown(87)) //f11
{
pageflipflop=!pageflipflop;
// int 21h
// }
}
- if(IN_KeyDown(68)) //s
+ if(IN_KeyDown(68)) //f10
{
gvar.kurokku.fpscap=!gvar.kurokku.fpscap;
- IN_UserInput(1,1);
+ IN_UserInput(1,1);
}
//TODO fmemtest into page
/*if(IN_KeyDown(4+1)) //4
--- /dev/null
+WARNING: Failed to initialize DEBUG output\r
+modexCopyPageRegion(src->stridew=88, dest->stridew=88, sx=0, sy=0, dx=0, dy=0, width=352, height=272, left=15, right=0)\r
+Project 16 test.exe. This is just a test file!\r
+version Jun 6 2016 08:47:42\r
+video memory remaining: 65535\r
+page [0]=(a000:0000) size=23936 sw=320 sh=240 width=352 height=272\r
+ [1]=(a000:5d80) size=23936 sw=320 sh=240 width=352 height=272\r
+ [2]=(a000:bb00) size=1024 sw=64 sh=64 width=64 height=64\r
+ [3]=(a000:bf00) size=16640 sw=320 sh=208 width=320 height=208\r
+tx=1 ty=1 player.d=2\r