Re: recent topcat(4) framebuffer improvements
Martin Trusler <[email protected]> Mon, 13 May 2024 05:32:51 +0100
| Newsgroups | gmane.os.netbsd.ports.hp300 |
|---|---|
| Message-ID | <CA+ttKdUHWTpL_Ju1BbQqQfD9zwDM8VavqGvwBBa+60rz+x9RXg@mail.gmail.com> |
--000000000000831a7806184e6198 Content-Type: text/plain; charset="UTF-8" Hi Izumi Thank you for doing this. The ,medium, resolution video cards do indeed use a Topcat with 0.5 Mb of memory, organised into 1024 pixels x 512 lines. 400 lines are displayed and the remaining 112 lines are used for off-screen storage, including the font maps. These cards were intended to drive low-cost monitors which were not fast enough for 1024 horizontal pixels. Therefore, double pixels were used in the horizontal direction, giving a 512 x 400 pixel display. However, single pixels were also allowed if separated by three or more blank pixels and this wasused in the font maps. In case you haven't seen them, there are very useful documents here: https://bitsavers.org/pdf/hp/9000_300/specs/ Best regards Martin On Sun, 12 May 2024 at 17:41, Izumi Tsutsui <[email protected]> wrote: > Hi, > > As noted in src/doc/CHANGES, I've committed several fixes > for NetBSD/hp300 topcat(4) framebuffers, including > HP98542 (untested), HP98543, HP98544, HP98547, and HP98549 etc. > > https://github.com/NetBSD/src/commit/f8e4b988b > > >> hp300: Fix a wrong palette color setting problems on HP98543 4 bpp > >> topcat(4) framebuffer on HP360. [tsutsui 20240501] > : > >> hp300: Fix "garbage pixels" problems on scrolling ops etc. on > >> HP98543 and HP98547 topcat(4) color framebuffers. > >> [tsutsui 20240501] > >> hp300: Treat HP98542 and HP98543 1024x400 framebuffers as > >> "pseudo doubled" 512x400 bitmap pixels as HP-UX did, > because > >> even modern LCDs cannot handle such 1024x400 resolutions > >> properly. [tsutsui 20240501] > > https://mail-index.netbsd.org/source-changes/2024/04/29/msg151047.html > https://mail-index.netbsd.org/source-changes/2024/04/29/msg151048.html > https://mail-index.netbsd.org/source-changes/2024/04/29/msg151049.html > https://mail-index.netbsd.org/source-changes/2024/04/29/msg151050.html > https://mail-index.netbsd.org/source-changes/2024/04/29/msg151051.html > https://mail-index.netbsd.org/source-changes/2024/05/01/msg151070.html > https://mail-index.netbsd.org/source-changes/2024/05/01/msg151081.html > https://mail-index.netbsd.org/source-changes/2024/05/01/msg151082.html > https://mail-index.netbsd.org/source-changes/2024/05/01/msg151083.html > https://mail-index.netbsd.org/source-changes/2024/05/04/msg151133.html > > Back in 2020, I committed a fix for 98543 (and 98542) to handle > "512x400" pixel framebuffers, but now it turns out that 98542 and > 98543 actually have 1024x400 pixels. > > Ancient CRTs (and even modern LCDs) cannot handle such resolutions > (modern LCDs assume only upte 720 pixels on 400 line mode) and the > HP manuals also says "512 doubled pixels by 400 scan lines". > > (Note MAME's hp9k360 98543 emulation also renders it as 1024x400) > > Now NetBSD's topcat(4) driver renders wscons fonts as "doubled pixels" > on 98542 and 98543 so we can see proper glyphs on the real screen, > but we have to consider how X.org server should handle 1024x400 mode. > > Anyway I've tested 98543, 98544, 98547, and 98549 on 360, 370, and > 380 and all of them shows proper wscons screens, and here is a video > running NetBSD/hp300 -current on HP 9000/360 + 98543: > https://www.youtube.com/watch?v=XSf1TsOoPIw > > I've also sent a pullup request of there fixes to netbsd-10 > so the next NetBSD/hp300 10.1 will include these improvements. > > Have fun, > --- > Izumi Tsutsui > -- J P Martin Trusler Email: [email protected] Tel: +44 (0)7734 590826 --000000000000831a7806184e6198 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">Hi Izumi<div>Thank you for doing this. The ,medium, resolu= tion video cards=C2=A0do indeed use a Topcat with 0.5 Mb of memory, organis= ed into 1024 pixels x 512 lines. 400 lines are displayed and the remaining = 112 lines are used for off-screen storage, including the font maps. These c= ards were intended to drive low-cost monitors which were not fast enough fo= r 1024 horizontal pixels. Therefore, double pixels were used in the horizon= tal direction, giving a 512 x 400 pixel display. However, single pixels wer= e also allowed if separated by three or more blank pixels and this wasused = in the font maps. In case you haven't seen them, there are very useful = documents here:=C2=A0<a href=3D"https://bitsavers.org/pdf/hp/9000_300/specs= /">https://bitsavers.org/pdf/hp/9000_300/specs/</a></div><div>Best regards<= /div><div>Martin</div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr"= class=3D"gmail_attr">On Sun, 12 May 2024 at 17:41, Izumi Tsutsui <<a hr= ef=3D"mailto:[email protected]">[email protected]</a>> wrote= :<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.= 8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br> <br> As noted in src/doc/CHANGES, I've committed several fixes<br> for NetBSD/hp300 topcat(4) framebuffers, including<br> HP98542 (untested), HP98543, HP98544, HP98547, and HP98549 etc.<br> <br> <a href=3D"https://github.com/NetBSD/src/commit/f8e4b988b" rel=3D"noreferre= r" target=3D"_blank">https://github.com/NetBSD/src/commit/f8e4b988b</a><br> <br> >>=C2=A0 =C2=A0 =C2=A0 hp300: Fix a wrong palette color setting probl= ems on HP98543 4 bpp<br> >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 topcat(4) framebuf= fer on HP360. [tsutsui 20240501]<br> =C2=A0:<br> >>=C2=A0 =C2=A0 =C2=A0 hp300: Fix "garbage pixels" problems= on scrolling ops etc. on<br> >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 HP98543 and HP9854= 7 topcat(4) color framebuffers.<br> >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 [tsutsui 20240501]= <br> >>=C2=A0 =C2=A0 =C2=A0 hp300: Treat HP98542 and HP98543 1024x400 fram= ebuffers as<br> >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 "pseudo doubl= ed" 512x400 bitmap pixels as HP-UX did, because<br> >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 even modern LCDs c= annot handle such 1024x400 resolutions<br> >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 properly. [tsutsui= 20240501]<br> <br> <a href=3D"https://mail-index.netbsd.org/source-changes/2024/04/29/msg15104= 7.html" rel=3D"noreferrer" target=3D"_blank">https://mail-index.netbsd.org/= source-changes/2024/04/29/msg151047.html</a><br> <a href=3D"https://mail-index.netbsd.org/source-changes/2024/04/29/msg15104= 8.html" rel=3D"noreferrer" target=3D"_blank">https://mail-index.netbsd.org/= source-changes/2024/04/29/msg151048.html</a><br> <a href=3D"https://mail-index.netbsd.org/source-changes/2024/04/29/msg15104= 9.html" rel=3D"noreferrer" target=3D"_blank">https://mail-index.netbsd.org/= source-changes/2024/04/29/msg151049.html</a><br> <a href=3D"https://mail-index.netbsd.org/source-changes/2024/04/29/msg15105= 0.html" rel=3D"noreferrer" target=3D"_blank">https://mail-index.netbsd.org/= source-changes/2024/04/29/msg151050.html</a><br> <a href=3D"https://mail-index.netbsd.org/source-changes/2024/04/29/msg15105= 1.html" rel=3D"noreferrer" target=3D"_blank">https://mail-index.netbsd.org/= source-changes/2024/04/29/msg151051.html</a><br> <a href=3D"https://mail-index.netbsd.org/source-changes/2024/05/01/msg15107= 0.html" rel=3D"noreferrer" target=3D"_blank">https://mail-index.netbsd.org/= source-changes/2024/05/01/msg151070.html</a><br> <a href=3D"https://mail-index.netbsd.org/source-changes/2024/05/01/msg15108= 1.html" rel=3D"noreferrer" target=3D"_blank">https://mail-index.netbsd.org/= source-changes/2024/05/01/msg151081.html</a><br> <a href=3D"https://mail-index.netbsd.org/source-changes/2024/05/01/msg15108= 2.html" rel=3D"noreferrer" target=3D"_blank">https://mail-index.netbsd.org/= source-changes/2024/05/01/msg151082.html</a><br> <a href=3D"https://mail-index.netbsd.org/source-changes/2024/05/01/msg15108= 3.html" rel=3D"noreferrer" target=3D"_blank">https://mail-index.netbsd.org/= source-changes/2024/05/01/msg151083.html</a><br> <a href=3D"https://mail-index.netbsd.org/source-changes/2024/05/04/msg15113= 3.html" rel=3D"noreferrer" target=3D"_blank">https://mail-index.netbsd.org/= source-changes/2024/05/04/msg151133.html</a><br> <br> Back in 2020, I committed a fix for 98543 (and 98542) to handle<br> "512x400" pixel framebuffers, but now it turns out that 98542 and= <br> 98543 actually have 1024x400 pixels.<br> <br> Ancient CRTs (and even modern LCDs) cannot handle such resolutions<br> (modern LCDs assume only upte 720 pixels on 400 line mode) and the<br> HP manuals also says "512 doubled pixels by 400 scan lines".<br> <br> (Note MAME's hp9k360 98543 emulation also renders it as 1024x400)<br> <br> Now NetBSD's topcat(4) driver renders wscons fonts as "doubled pix= els"<br> on 98542 and 98543 so we can see proper glyphs on the real screen,<br> but we have to consider how X.org server should handle 1024x400 mode.<br> <br> Anyway I've tested 98543, 98544, 98547, and 98549 on 360, 370, and<br> 380 and all of them shows proper wscons screens, and here is a video<br> running NetBSD/hp300 -current on HP 9000/360 + 98543:<br> =C2=A0<a href=3D"https://www.youtube.com/watch?v=3DXSf1TsOoPIw" rel=3D"nore= ferrer" target=3D"_blank">https://www.youtube.com/watch?v=3DXSf1TsOoPIw</a>= <br> <br> I've also sent a pullup request of there fixes to netbsd-10<br> so the next NetBSD/hp300 10.1 will include these improvements.<br> <br> Have fun,<br> ---<br> Izumi Tsutsui<br> </blockquote></div><br clear=3D"all"><div><br></div><span class=3D"gmail_si= gnature_prefix">-- </span><br><div dir=3D"ltr" class=3D"gmail_signature"><d= iv dir=3D"ltr"><div><font face=3D"arial, helvetica, sans-serif">J P Martin = Trusler</font></div><div><font face=3D"arial, helvetica, sans-serif">Email:= <a href=3D"mailto:[email protected]" target=3D"_blank">martin.trusl= [email protected]</a></font></div><div><font face=3D"arial, helvetica, sans-seri= f">Tel: +44 (0)7734 590826</font></div></div></div> --000000000000831a7806184e6198--