... | ... |
@@ -343,8 +343,12 @@ console_talk(Device *d, Uint8 b0, Uint8 w) |
343 | 343 |
static int |
344 | 344 |
screen_talk(Device *d, Uint8 b0, Uint8 w) |
345 | 345 |
{ |
346 |
- if(!w) |
|
347 |
- return 1; |
|
346 |
+ if(!w) switch(b0) { |
|
347 |
+ case 0x2: d->dat[0x2] = ppu.width >> 8; break; |
|
348 |
+ case 0x3: d->dat[0x3] = ppu.width; break; |
|
349 |
+ case 0x4: d->dat[0x4] = ppu.height >> 8; break; |
|
350 |
+ case 0x5: d->dat[0x5] = ppu.height; break; |
|
351 |
+ } |
|
348 | 352 |
else |
349 | 353 |
switch(b0) { |
350 | 354 |
case 0x3: |
... | ... |
@@ -583,10 +587,6 @@ main(int argc, char **argv) |
583 | 587 |
/* unused */ uxn_port(&u, 0xe, nil_talk); |
584 | 588 |
/* unused */ uxn_port(&u, 0xf, nil_talk); |
585 | 589 |
|
586 |
- /* Write screen size */ |
|
587 |
- poke16(devscreen->dat, 2, ppu.width); |
|
588 |
- poke16(devscreen->dat, 4, ppu.height); |
|
589 |
- |
|
590 | 590 |
run(&u); |
591 | 591 |
quit(); |
592 | 592 |
return 0; |