Adjust green mono color value?
geneb opened this issue · 13 comments
Could you adjust the green color on the mono display to be closer to the color of the P39 phosphor tube that the 5151 display used? It's around 525nm and that works out to be (approximately) #33FF00 or 51,255,0.
(if someone can point me to where the color is set, I'd be happy to change it myself)
Thanks!
g.
I did a bit more research and I think I've come up with some better values to use.
Try #29CC00 for "normal" and then use #33FF00 for "high intensity" mode. If you want a larger difference, try #26BF00 for the "normal" mode. I got these values by converting #33FF00 to HSV. Both the Saturation and Value components are set to 100%, so I backed the Value down to 75 to get #26BF00 and I bumped it back up to 80 to get #29CC00. Here are links to the RGB to HSV and HSV converters that I used - you might want to play with the dimmer values to get something that you like better than my choices. https://www.rapidtables.com/convert/color/rgb-to-hsv.html and https://www.rapidtables.com/convert/color/hsv-to-rgb.html.
Thanks, I’ll give it a whirl. BTW, I just went down some rabbit holes (from new website to old website to an archived Air & Space article) to learn that you take simulation to a whole new level. Nice!
Hehe. Thanks. Here's a couple more rabbit holes for you: http://geneb.simpits.org and http://www.diy-cockpits.org/coll :)
BTW, thanks for the work you're doing on pcjs, it's really cool. :) Have you ever thought about connecting the serial port to a real one on the host (or maybe a virtual modem)?
It would be nice to have a host serial port connection option, but I think that would require running it off your own local server. The project already includes a Node-based web server, but more work would be required to interface that to a host serial port, and then providing a protocol between the server and the client for serial port communication. I have implemented serial port communication between multiple machines on the same page (eg, virtual PDP-11 connected to virtual VT100).
Anyway, regarding color, I haven't taken the plunge on a new color palette for monochrome monitors yet, but I did implement a parameter that allows you to customize the palette to your liking -- just add "?fontColor=rrggbb" to the URL. For example:
https://www.pcjs.org/?fontColor=26bf00
Whichever color component is largest (in the preceding example, bf) is increased to ff to create the intense color; if the largest component is already ff, then normal and intense will look the same.
Hope that helps. The reason I'm reluctant to change the hard-coded values, at least for now, is because they look better to me as-is. I'm not sure phosphor tells the whole story -- there's also the "glaze" they put on the glass to reduce glare, which I think softens the real-world color a bit. But, let me know what you think.
Maybe start with the P39 phosphor color and add an effect to the screen, similar to the effects done by Cathode on MacOS - http://www.secretgeometry.com/apps/cathode/ - without the silly curvature following of course. :)
If I get time this weekend, I'll hook up my 5151 and see how it compares.
Thanks for adding the configuration option!
I got my 5150 & 5151 hooked up and took some pics. Apologies for the potato quality photography.
The top image is pcjs and the bottom is from my 5151. The "No fixed disk present" is from fdisk and is just there to provide an intensity example. The camera really doesn't do well with the comparison and I wish I could provide you with a better example. :(
g.
An interesting side-effect of delving back into MDA character rendering is that I found (and fixed) several problems, including:
- Restricting reverse video to exactly 4 attributes
- Updating the display properly after the blink bit is disabled and then re-enabled
- Rendering the underline attribute as a single scanline (I was originally doubling it)
That looks pretty good actually. The intensity color looks good too. Nice job! What color picker did you use?
Fixed.
Thanks Jeff!