badvision / jace

Java Apple Computer Emulator
Apache License 2.0
66 stars 19 forks source link

Enabling Mousetext doesn't refresh the screen #26

Closed Michaelangel007 closed 8 years ago

Michaelangel007 commented 8 years ago

The text screen isn't being redrawn when mousetext is turned on: Repro.

CALL-151
FC58G
C00E:1
400:40
C00F:1

The flashing is turned off; but @ should be displayed as Closed-Apple Mouse Text. The font IS active -- the screen just isn't be redrawn to update the old glyphs -- as (re)setting the value shows:

400:40

The same bug happens in 80-col mode to:

C00E:1
C00D:1
400:40
C00F:1

The flash is turned off, but no mouse text is displayed. Requires a manual refresh:

400:40

Verified on my //e.

badvision commented 8 years ago

GOOD CALL! I can fix this pretty fast. The way that Jace works to reduce CPU (and power consumption) is that scanlines are marked dirty. If a scanline isn't dirty then it simply doesn't do anything during the scan and it's not regenerated. Softswitches that change page modes force a full screen refresh so I just have to add like one line of code for this.

badvision commented 8 years ago

Ok @Michaelangel007 I have posted a bugfix and updated the stable build for this issue. Thanks for the expert diagnosis (and your patience!)

Michaelangel007 commented 8 years ago

Patience? Ho Le Fook you fixed this almost instantly :) :+1: Thanks!!

I guess I probably should fetch all the latest code at some point to make sure I'm not running across any (old) bugs ...

Michaelangel007 commented 8 years ago

Merged into my branch, verified fixed.

Back to printm optimizations :)