wwww
Revisão | b40411c754cec4dc88f6a4183f475584b9205a2b (tree) |
---|---|
Hora | 2016-05-09 16:52:54 |
Autor | sparky4 <sparky4@cock...> |
Commiter | sparky4 |
4 page system needs to be tested
@@ -1,36 +1,24 @@ | ||
1 | 1 | starting timer ok |
2 | 2 | index=4096 |
3 | -chkmap ok | |
4 | - | |
5 | - 1st vmem_remain=262144 | |
6 | - [0], video->page[i].pagesize=95744 | |
7 | - [0], vmem_remain=166400 | |
8 | - [1], video->page[i].pagesize=95744 | |
9 | - [1], vmem_remain=70656 | |
10 | - [2], video->page[i].pagesize=70400 | |
11 | - [2], vmem_remain=256 | |
12 | - [3], video->page[i].pagesize=256 | |
13 | - [3], vmem_remain=0 | |
14 | -Project 16 scroll.exe. This is just a test file! | |
15 | -version May 4 2016 10:25:12 | |
16 | -tx: 15 | |
17 | -ty: 4 | |
3 | +chkmap ok Project 16 scroll.exe. This is just a test file! | |
4 | +version May 9 2016 02:45:56 | |
5 | +tx: 0 | |
6 | +ty: 0 | |
18 | 7 | player.x: 160 player.y: 128 |
19 | -player.tx: 25 player.ty: 12 | |
20 | -player.triggx: 24 player.triggy: 12 | |
21 | -player.hp: 4 player.q: 1 player.info.dir: 2 player.d: 2 pdir=1 | |
22 | -tile data value at player trigger position: 3 | |
8 | +player.tx: 10 player.ty: 8 | |
9 | +player.triggx: 10 player.triggy: 9 | |
10 | +player.hp: 4 player.q: 1 player.info.dir: 2 player.d: 2 pdir=0 | |
11 | +tile data value at player trigger position: 0 | |
23 | 12 | Virtual Screen: 352x272 |
24 | 13 | Screen: 320x240 |
25 | 14 | virtual tile resolution: 22x17 |
26 | 15 | tile resolution: 20x15 |
27 | 16 | middle tile position: 10x8 |
28 | -video memory remaining: 0 | |
29 | -page [0]=(a000:163c) | |
30 | - [1]=(a000:73bc) | |
31 | - [2]=(a000:bd14) | |
32 | - [3]=(a000:010c) | |
33 | -mv[1].tx: 15 mv[1].ty: 4 panswitch=0 | |
17 | +video memory remaining: 40447 | |
18 | +page [0]=(a000:0000) size=30208 sw=320 sh=240 width=352 height=272 | |
19 | + [1]=(a000:7600) size=30208 sw=320 sh=240 width=352 height=272 | |
20 | + [2]=(a000:ec00) size=30208 sw=320 sh=240 width=352 height=272 | |
21 | +mv[1].tx: 0 mv[1].ty: 0 panswitch=0 | |
34 | 22 | |
35 | 23 | |
36 | 24 | detected CPU type: 386 or newer |
@@ -188,7 +188,7 @@ modexDefaultPage(page_t *p) | ||
188 | 188 | page.tilemidposscreenx = page.tw/2; |
189 | 189 | page.tilemidposscreeny = (page.th/2)+1; |
190 | 190 | page.stridew=page.width/4; |
191 | - page.pagesize = (sdiword)(page.width/4)*page.height; | |
191 | + page.pagesize = (word)(page.width/4)*page.height; | |
192 | 192 | page.id = 0; |
193 | 193 | |
194 | 194 | return page; |
@@ -238,7 +238,7 @@ modexNextPageFlexibleSize(page_t *p, word x, word y) | ||
238 | 238 | result.tilesh=result.height/TILEWH; |
239 | 239 | result.id = p->id+1; |
240 | 240 | result.stridew=result.width/4; |
241 | - result.pagesize = (sdiword)(result.width/4)*result.height; | |
241 | + result.pagesize = (word)(result.width/4)*result.height; | |
242 | 242 | |
243 | 243 | return result; |
244 | 244 | } |
@@ -246,23 +246,24 @@ modexNextPageFlexibleSize(page_t *p, word x, word y) | ||
246 | 246 | void modexCalcVmemRemain(video_t *video) |
247 | 247 | { |
248 | 248 | byte i; |
249 | - //printf("\n\n 1st vmem_remain=%ld\n", video->vmem_remain); | |
250 | - for(i=0; i<=video->num_of_pages-1; i++) | |
249 | + //printf("\n\n 1st vmem_remain=%u\n", video->vmem_remain); | |
250 | + for(i=0; i<video->num_of_pages; i++) | |
251 | 251 | { |
252 | 252 | video->vmem_remain-=video->page[i].pagesize; |
253 | - //printf(" [%u], video->page[i].pagesize=%ld\n", i, video->page[i].pagesize); | |
254 | - //printf(" [%u], vmem_remain=%ld\n", i, video->vmem_remain); | |
253 | + //printf(" [%u], video->page[%u].pagesize=%u\n", i, i, video->page[i].pagesize); | |
254 | + //printf(" [%u], vmem_remain=%u\n", i, video->vmem_remain); | |
255 | 255 | } |
256 | 256 | } |
257 | 257 | |
258 | 258 | void modexHiganbanaPageSetup(video_t *video) |
259 | 259 | { |
260 | - video->vmem_remain=262144L; | |
260 | + video->vmem_remain=65535U; | |
261 | 261 | video->num_of_pages=0; |
262 | 262 | (video->page[0]) = modexDefaultPage(&(video->page[0])); video->num_of_pages++; //video->page[0].width += (TILEWHD); video->page[0].height += (TILEWHD); |
263 | 263 | (video->page[1]) = modexNextPage(&(video->page[0])); video->num_of_pages++; |
264 | 264 | (video->page[2]) = modexNextPage(&(video->page[1])); video->num_of_pages++; |
265 | - //(video->page[2]) = modexNextPageFlexibleSize(&(video->page[1]), video->page[0].width, video->page[0].sh-40); video->num_of_pages++; | |
265 | + (video->page[3]) = modexNextPage(&(video->page[2])); video->num_of_pages++; | |
266 | +// (video->page[3]) = modexNextPageFlexibleSize(&(video->page[2]), video->page[0].width/8, video->page[0].height/8); video->num_of_pages++; | |
266 | 267 | //(video->page[3]) = modexNextPageFlexibleSize(&(video->page[2]), TILEWH, TILEWH); video->num_of_pages++; |
267 | 268 | modexCalcVmemRemain(video); |
268 | 269 | video->p=0; |
@@ -1150,3 +1151,19 @@ void bios_cls() { | ||
1150 | 1151 | printf("WARNING: bios cls no ptr\n"); |
1151 | 1152 | } |
1152 | 1153 | } |
1154 | + | |
1155 | +void modexprintmeminfo(video_t *v) | |
1156 | +{ | |
1157 | + byte i; | |
1158 | + printf("video memory remaining: %u\n", v->vmem_remain); | |
1159 | + printf("page "); | |
1160 | + for(i=0; i<v->num_of_pages;i++) | |
1161 | + { | |
1162 | + printf(" [%u]=", i); | |
1163 | + printf("(%Fp)", (v->page[i].data)); | |
1164 | + printf(" size=%u", v->page[i].pagesize); | |
1165 | + printf(" sw=%lu sh=%lu ", (unsigned long)v->page[i].sw, (unsigned long)v->page[i].sh); | |
1166 | + printf(" width=%lu height=%lu", (unsigned long)v->page[i].width, (unsigned long)v->page[i].height); | |
1167 | + printf("\n"); | |
1168 | + } | |
1169 | +} |
@@ -185,5 +185,6 @@ void modexpdump(page_t *pee); | ||
185 | 185 | void modexcls(page_t *page, byte color, byte *Where); |
186 | 186 | void modexWaitBorder(); |
187 | 187 | void bios_cls(); |
188 | +void modexprintmeminfo(video_t *v); | |
188 | 189 | |
189 | 190 | #endif |
@@ -83,7 +83,7 @@ typedef struct { | ||
83 | 83 | sword tileplayerposscreenx; /* player position on screen */ |
84 | 84 | sword tileplayerposscreeny; /* player position on screen */ |
85 | 85 | word stridew; /*width/4*/ |
86 | - sdiword pagesize; /* page size */ | |
86 | + word pagesize; /* page size */ | |
87 | 87 | } page_t; |
88 | 88 | |
89 | 89 | typedef struct |
@@ -112,7 +112,7 @@ typedef struct | ||
112 | 112 | { |
113 | 113 | char old_mode; //old video mode before game! |
114 | 114 | page_t page[MAXPAGE]; //pointer to root page[0] |
115 | - sdiword vmem_remain; //remaining video memory | |
115 | + word vmem_remain; //remaining video memory | |
116 | 116 | byte num_of_pages; //number of actual pages |
117 | 117 | boolean __near p; //render page number |
118 | 118 | word pr[MAXPAGE][4]; //render sections of pages |
@@ -33,7 +33,7 @@ global_game_variables_t gvar; | ||
33 | 33 | static map_t map; |
34 | 34 | player_t player[MaxPlayers]; |
35 | 35 | //page_t screen, gvar.video.page[1], gvar.video.page[2]; |
36 | -map_view_t mv[3]; | |
36 | +map_view_t mv[4]; | |
37 | 37 | bitmap_t p; |
38 | 38 | //word pn=0; //i forgot ww |
39 | 39 | static planar_buf_t huge *pp; |
@@ -313,17 +313,7 @@ void main(int argc, char *argv[]) | ||
313 | 313 | printf("virtual tile resolution: %dx", gvar.video.page[0].tilesw); printf("%d\n", gvar.video.page[0].tilesh); |
314 | 314 | printf("tile resolution: %dx", gvar.video.page[0].tw); printf("%d \n", gvar.video.page[0].th); |
315 | 315 | printf("middle tile position: %dx", gvar.video.page[0].tilemidposscreenx); printf("%d\n", gvar.video.page[0].tilemidposscreeny); |
316 | - printf("video memory remaining: %ld\n", gvar.video.vmem_remain); | |
317 | - printf("page "); | |
318 | - for(i=0; i<gvar.video.num_of_pages;i++) | |
319 | - { | |
320 | - printf(" [%u]=", i); | |
321 | - printf("(%Fp)", (gvar.video.page[i].data)); | |
322 | - printf(" size=%ld", gvar.video.page[i].pagesize); | |
323 | - printf(" sw=%lu sh=%lu ", (unsigned long)gvar.video.page[i].sw, (unsigned long)gvar.video.page[i].sh); | |
324 | - printf(" width=%lu height=%lu", (unsigned long)gvar.video.page[i].width, (unsigned long)gvar.video.page[i].height); | |
325 | - printf("\n"); | |
326 | - } | |
316 | + modexprintmeminfo(&gvar.video); | |
327 | 317 | printf("mv[%u].tx: %d", pan.pn, mv[pan.pn].tx); printf(" mv[%u].ty: %d ", pan.pn, mv[pan.pn].ty); printf("panswitch=%u\n", panswitch); |
328 | 318 | //printf("player[1].q: %d", player[1].q); printf(" player[1].d: %d\n", player[1].d); |
329 | 319 | printf("\n"); |
@@ -173,17 +173,7 @@ void main(int argc, char *argv[]) | ||
173 | 173 | VGAmodeX(0, 1, &gvar); |
174 | 174 | printf("Project 16 test.exe. This is just a test file!\n"); |
175 | 175 | printf("version %s\n", VERSION); |
176 | - printf("video memory remaining: %ld\n", gvar.video.vmem_remain); | |
177 | - printf("page "); | |
178 | - for(i=0; i<gvar.video.num_of_pages;i++) | |
179 | - { | |
180 | - printf(" [%u]=", i); | |
181 | - printf("(%Fp)", (gvar.video.page[i].data)); | |
182 | - printf(" size=%ld", gvar.video.page[i].pagesize); | |
183 | - printf(" sw=%lu sh=%lu ", (unsigned long)gvar.video.page[i].sw, (unsigned long)gvar.video.page[i].sh); | |
184 | - printf(" width=%lu height=%lu", (unsigned long)gvar.video.page[i].width, (unsigned long)gvar.video.page[i].height); | |
185 | - printf("\n"); | |
186 | - } | |
176 | + modexprintmeminfo(&gvar.video); | |
187 | 177 | printf("tx=%d ", mv[pan.pn].tx); printf("ty=%d ", mv[pan.pn].ty); printf("player.d=%d\n", player[0].d); |
188 | 178 | IN_Shutdown(); |
189 | 179 | modexPalBlack(); |