Module Name: src Committed By: tsutsui Date: Wed May 1 19:28:33 UTC 2024
Modified Files: src/sys/arch/hp300/dev: diofb.c diofbvar.h topcat.c Log Message: Fix topcat(4) problems on some models that cause garbages on screen. - Make sure that windowmove (hardware BITBLT) ops complete by checking tc_busywait() before calling putchar functions by MI rasops(9). It looks CPU accesses against VRAM during windowmove (copy, erase, and cursor) ops causes unexpected garbages at least on 98543 on HP360, 98547 on HP370, and also on 98543 on 040 HP380 (but not on 98549). - Handle 'sparse VRAM' on 98543 (and probably 98542) properly: - Prepare and use own topcat_putchar1_4() function for sparse VRAM. - Pass proper 'VRAM width' rather than actuall font width to all windowmove (copycols, erasecols, copyrows, eraserows, and do_cursor) operation functions. Now all topcat(4) consoles on 98543 on HP360/HP380 and 98547 on HP370 work fine, and no visible regression on 98549 on HP380 and 98544 on HP360. Worth to pullup netbsd-10. To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 src/sys/arch/hp300/dev/diofb.c cvs rdiff -u -r1.4 -r1.5 src/sys/arch/hp300/dev/diofbvar.h cvs rdiff -u -r1.10 -r1.11 src/sys/arch/hp300/dev/topcat.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.