Re: cg14 vesa (modes) project on github

Andrew Randrianasulu <[email protected]> Thu, 8 Jan 2026 08:34:26 +0300
Newsgroups gmane.os.netbsd.ports.sparc
Message-ID <CA+rFky7xdWWzJsb4rF=zi=kWPZt+P0Kxs8UR6ofjgPyetu_d=g@mail.gmail.com>
чт, 8 янв. 2026 г., 08:02 Andrew Randrianasulu <[email protected]>:

>
>
> чт, 8 янв. 2026 г., 07:25 Bob Breuer <[email protected]>:
>
>> On Wed, Jan 7, 2026 at 9:47 PM Andrew Randrianasulu
>> <[email protected]> wrote:
>> >
>> >
>> >
>> > чт, 8 янв. 2026 г., 06:16 Bob Breuer <[email protected]>:
>> >>
>> >> On Wed, Jan 7, 2026 at 11:46 AM Andrew Randrianasulu
>> >> <[email protected]> wrote:
>> >> >
>> >> > On Wed, Jan 7, 2026 at 8:40 PM Malte Dehling <[email protected]>
>> wrote:
>> >> > >
>> >> > > Hi Andrew,
>> >> > >
>> >> > > I've only tested the prom on physical hardware, and I haven't been
>> able to get qemu to work with an ss20 and original prom recently.  Would
>> love to hear if you make progress on this!
>> >> >
>> >> > well, for me setting -cpu to something like
>> >> >
>> >> > "TI SuperSparc 50"
>> >>
>> >> As I remember, the Qemu SuperSparc II implementation doesn't support
>> >> one of the features used by the original OBP roms.
>> >
>> >
>> > May be filling qemu-upstream bug about it will help, eventually?
>> >
>> > I noticed that with original ROM -smp switch does not increase about
>> of  firmware-counted CPUs ...
>> >
>> >>
>> >> >
>> >> > work, at least i see logo and can enter probe-scisi.
>> >> >
>> >> > Note, this is more like qemu 9.2.50 as Artyom created it 9 months
>> ago,
>> >> > not really recent qemu git (10.x, 11.x)
>> >> >
>> >> > https://youtu.be/wCFBvzVCVMk - short vid of whole thing booting
>> >> >
>> >>
>> >> I didn't notice that Artyom rebased my cg14 patches.  I also have a
>> >> separate branch where I implemented the DBRI audio device.
>> >
>> >
>> > Interesting, is this branch public?
>>
>> Yes, it's here:  https://github.com/breuerr/qemu/tree/dbri-pre2
>> I think the audio output was clean with a Linux client but had popping
>> with a netbsd client.
>>
>
> Thanks!
>



but oh, its from 2012 ;)




>
>> >
>> >
>> >>
>> >> > >
>> >> > > IIRC, qemu has resolutions hard coded in, but I may be wrong about
>> this.
>> >>
>> >> Is there any particular resolution that you are looking for?
>> >>
>> >> The emulated cg14 was flexible enough to handle any resolution that
>> >> could be programmed.  However, the startup resolution is limited by
>> >> the monitor ID bits.  The cg14_set_monitor_id() function translates
>> >> the Qemu command line resolution to a monitor ID for a nearby OBP
>> >> resolution.  In addition to 1152x900, the resolutions of 1280x1024 and
>> >> 1600x1280 should also work by default.
>> >
>> >
>> > In my case I was after not so much resolution per se, but was trying to
>> avoid some strange emulated  TCX bugs, I can avoid most of them by running
>> xcompmgr& in NetBSD but something still not 100% correct with cinelerra-gg
>> and mplayer, colors are swapped in video output (plain X11, not xv), so I
>> was hoping to see if emulated cg14 can sidestep this issue
>> >
>>
>> Might be able to try with cg3, that thing had absolutely no
>> acceleration, but it's 8-bit only.
>>
>
> I think 8bit does not really cut it for video ;)
>
> https://mastodon.online/@Andrew_R/115756500366360503
>
> at least without sophisticated dither ...
>
> I ran same cinelerra-gg build  against NetBSD/macppc X server and it
> showed correct colors in 24bpp there.
>
>
>
>> Or if you need 24-bit color but the lack of SX is a problem,
>> theoretically the SS10 supported cg14 without SX and it should be
>> possible to hack that into qemu.
>>
>

I think right now my qemu 9.1/9.2 just aborts if I give them rom from

https://fsck.technology/software/Sun%20Microsystems/Sun%20ROMs/SPARCstation%2010%20OBP/2.25R/

and use -M SS-10 machine:

qemu-cg14/qemu/build/qemu-system-sparc -M SS-10 -bios ss10-20-v2.25r-rom
-nographic -cpu TI-SuperSparc-40


{...}

ROM mapped, Available Memory 0x07faf000qemu: fatal: Trap 0x02 (Illegal
Instruction) while interrupts disabled, Error state


Very same line but with -M SS-20 boots fine...



>> >
>> >>
>> >> Bob
>> >>
>> >>
>> >> > >
>> >> > > Cheers,
>> >> > > Malte
>> >> > >
>> >> > >
>> >> > > On Wed, Jan 7, 2026, 9:31 AM Andrew Randrianasulu <
>> [email protected]> wrote:
>> >> > >>
>> >> > >> On Wed, Jan 7, 2026 at 8:00 PM Andrew Randrianasulu
>> >> > >> <[email protected]> wrote:
>> >> > >> >
>> >> > >> > Was looking for Sparcstation-20 proms to test with cg14 enabled
>> qemu
>> >> > >> >
>> >> > >> > found this project;
>> >> > >> >
>> >> > >> > https://github.com/mdehling/cg14-vesa-mod
>> >> > >> >
>> >> > >> > https://github.com/artyom-tarasenko/qemu/ - branch cg14
>> >> > >> >
>> https://github.com/artyom-tarasenko/qemu/commit/1b1d8b87619e613b059766e6e54687b027fb6e3f.diff
>> >> > >> >
>> >> > >> >
>> https://github.com/artyom-tarasenko/qemu/commit/b297821755e68381e7753d877a7912bebe9271d8.diff
>> >> > >> >
>> >> > >> > but device cg14 not on list so you need to start it like this:
>> >> > >> >
>> >> > >> > build/qemu-system-sparc -M SS-20 -g 1152x900
>> >> > >> > cg14_realizefn 1152, 900
>> >> > >> >
>> >> > >> > Of course default openbios does not know how to output to that,
>> so I'm
>> >> > >> > trying this Sun PROM now ...
>> >> > >>
>> >> > >>
>> >> > >> It tries to boot my NetBSD install but it faults somewhere along
>> the way:
>> >> > >>
>> >> > >>  build/qemu-system-sparc -M SS-20 -g 1152x900 -bios
>> >> > >> ~/Desktop/ss20-2.25.bin  -cpu "TI SuperSparc 50" -hda
>> >> > >> /mnt/zip/home/guest/QEMU/sparc-netbsd-15g-compressed-r1.qcow2
>> >> > >> cg14_realizefn 1152, 900
>> >> > >> CG14: control register (0x5a) has unimplemented bits set
>> >> > >> CG14: readb from reg 1000
>> >> > >> CG14: writeb 0x00 to reg 1000
>> >> > >> CG14: writeb 0x01 to reg 1000
>> >> > >> CG14: readb from reg 1000
>> >> > >> CG14: readb from reg 1001
>> >> > >> CG14: writeb 0x01 to reg d
>> >> > >> CG14: readl 00000000 from reg 20c
>> >> > >> CG14: writeb 0x02 to reg 100
>> >> > >> CG14: readl 00000000 from reg 20c
>> >> > >> CG14: readb from reg 200b
>> >> > >> CG14: readb from reg c
>> >> > >> CG14: writeb 0x00 to reg c
>> >> > >> CG14: writeb 0x02 to reg 100
>> >> > >> CG14: readl 00000000 from reg 20c
>> >> > >> CG14: readb from reg 200b
>> >> > >> CG14: readb from reg c
>> >> > >> CG14: writeb 0x00 to reg c
>> >> > >>
>> >> > >> https://mastodon.online/@Andrew_R/115854999356998946
>>
>