ChanServ changed the topic of ##yamahasynths to: Channel dedicated to questions and discussion of Yamaha FM Synthesizer internals and corresponding REing. Discussion of synthesis methods similar to the Yamaha line of chips, Sound Blasters + clones, PCM chips like RF5C68, and CD theory of operation are also on-topic. Channel logs: https://freenode.irclog.whitequark.org/~h~yamahasynths
<whitequark> ya
ej5 has joined ##yamahasynths
andlabs has quit [Ping timeout: 246 seconds]
andlabs has joined ##yamahasynths
andlabs has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
andlabs has joined ##yamahasynths
ej5 has quit [Quit: Leaving]
Xyz_39809 has joined ##yamahasynths
Xyz39808 has quit [Ping timeout: 252 seconds]
futarisIRCcloud has joined ##yamahasynths
andlabs has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
andlabs has joined ##yamahasynths
Xyz_39809 has quit [Quit: Leaving]
andlabs has quit [Ping timeout: 258 seconds]
Xyz_39808 has joined ##yamahasynths
andlabs has joined ##yamahasynths
futarisIRCcloud has quit [Quit: Connection closed for inactivity]
andlabs has quit [Remote host closed the connection]
andlabs has joined ##yamahasynths
sixtysix has joined ##yamahasynths
andlabs has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
andlabs has joined ##yamahasynths
andlabs has quit [Ping timeout: 248 seconds]
ne0npunk has joined ##yamahasynths
sixtysix has left ##yamahasynths ["Leaving"]
andlabs has joined ##yamahasynths
<cr1901_modern> Foone_: "EGA gave you better graphics even without an EGA monitor, and monitors were fucking expensive back in 1984." Huh, now _this_ I did _not_ know. I know that CGA and EGA use different polarity h/vsync, but most EGA cards can tolerate this. But I didn't think you got any benefit
<Foone_> you do: more colors! EGA on a CGA monitor can do 16 colors, because it can do all 16 CGA colors at once, instead of only 4 of them
<cr1901_modern> The undocumented "low resolution" mode of CGA can do 16 colors. This is what Paku Paku the game does. However, CGA is a massive hack in the first place that abuses a CRT controller meant for _text mode terminal displays_ by setting the line width for characters to "1 char per line" or something like that.
<cr1901_modern> The "low resolution" mode AIUI doesn't use "1 char per line", and so many ppl consider it a text mode.
<Foone_> right. the low res mode is really text mode, and CGA could happily do 16 colors in text mode
<Foone_> EGA can just do all 16 CGA text-mode colors but in graphics mode
<Foone_> so if you use an EGA card on a CGA monitor you miss out on the 640x350 high res mode and you can't remap the palette
<Foone_> well, you can, but it's kinda useless. you can switch from the 16 colors to a different ordering of the palette
<Foone_> since you don't get any extra colors
<cr1901_modern> EGA is 64 colors max?
<Foone_> you might still want to do that for palette animation effects, though
<Foone_> yeah. it's a RRGGBB format
<cr1901_modern> Ahhh
<Foone_> so EGA lets you map 16 palette entries to any of the 64 possible colors
<Foone_> CGA is RGBI*, EGA is RRGGBB (but only 16 at a time), VGA is RRRGGGBBB (but only 256 at a time)
<Foone_> err, VGA is RRRRRRGGGGGGBBBBBB
<cr1901_modern> (and the original VGA was only 18-bit color)
<Foone_> that's 6 bits per channel, yeah.
<Foone_> SVGA (VBE3) does give you truecolor modes like 15bit color, which sounds like a step back but isn't, cause it's truecolor.
<Foone_> so you have fewer colors to pick from but you can use them all at once, without worrying about a palette
<Foone_> fun fact: the VBE spec tells you to make room for the new VESA functions by deleting the 7x14 font used in 640x350 mode
<Foone_> since that was a weird EGA-only resolution that didn't get a lot of use because of CGA monitors
<whitequark> VBE3...
<whitequark> has anyone ever implemented it
<Foone_> this'll save a massive 3.5 kilobytes and mean you won't have to move to a bigger rom chip
<cr1901_modern> I confess I know almost nothing about EGA and VGA programming. I know books exist on both, but IBM didn't do a good job themselves explaining how it worked in their manuals (afaik)
<cr1901_modern> contrast to CGA which is quite well explained as a companion to the reference manual for 51x0
<Foone_> the end result is that depending on how programs access the character set , it's entirely possible that instead of a valid font you render an EGA text screen where each character is the wrong size and/or made up of VESA code
<cr1901_modern> haha
<cr1901_modern> reminds me of the time I tried to upload a file via xmodem... from my serial mouse
<cr1901_modern> (and crashed the machine)
<Foone_> the way cards usually handle this is that they modify the bios routine that draws text, so that it makes the 8x14 font by taking the 8x16 font and chopping out some lines
<Foone_> but the problem is that programs can also get a pointer to the font in ROM, which the card obviously can't provide
<Foone_> so either they get the 8x16 font which is the wrong size, or they get the VESA code
<Foone_> neither works very well
<cr1901_modern> and of course chopping up lines is likely slow as hell
<Foone_> getting the pointer to the video card's font was actually kinda common back then because it was an easy way to draw text over a graphics scene without having to include your own font
<whitequark> wait. what
<whitequark> BIOS routine draws text?
<Foone_> yeah
<whitequark> don't you put it to B8000 and then the card looks it up or something
<whitequark> in text modes
<cr1901_modern> int 10h, subfunction 15h gives you basic terminal abilities
<Foone_> in text modes, yes. but if you're in graphics mode you either have to draw it yourself or you call the BIOS routine
<whitequark> oh, didn't know there was a BIOS routine to draw text in graphics modes
<cr1901_modern> Oh, I don't remember if that one works in gfx, but yes pretty sure there is a BIOS-provided routine for this
<Foone_> yep. int 10h, ah=13h
<cr1901_modern> the BIOS keeps a copy of a font outside the gfx font ROM for this purpose
<cr1901_modern> inside the actual BIOS image
<cr1901_modern> outside the text* font ROM
<whitequark> PhysTechSoft?!
<whitequark> is that PhysTech like Физтех
<whitequark> lmao it is
<cr1901_modern> Huh, so Физтех created a DOS?
<cr1901_modern> (Translates to "Moscow Institute of Physics and Technology" according to Google)
<whitequark> yes, Физтех is a slang/insider name for MIPT
andlabs has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<cr1901_modern> Does "Физтех" have a meaningful translation in English, or "makes sense in Russian only?"
<Lord_Nightmare> iirc impulse tracker does shenanigans with overwriting parts of the font for the mouse cursor
<whitequark> cr1901_modern: it's literally just PhysTech
<cr1901_modern> ahhh
<cr1901_modern> тех => Tech :P?
<whitequark> yes
<cr1901_modern> cute, my second russian word after KOT
<whitequark> it's not a word
<cr1901_modern> oh
<whitequark> it's an acronym (in the pedantic sense of acronym)