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
<TD-Linux> isn't that more like vgmasm
<whitequark> it doesn't have to output vgm, does it
<whitequark> i guess you have to make it output something that can represent delays
<cr1901_modern> whitequark: Sounds like an interesting idea for testing instruments and writing small snippets. If there's a cycle-based delay one could do interesting timing experiments.
<whitequark> should i embed it in another language?
<whitequark> scheme maybe?
<whitequark> *cough* forth
<cr1901_modern> I would prefer scheme if given a choice :)
<whitequark> i mean, i could do python
<whitequark> but that sounds unpleasnt
<whitequark> i mean
<whitequark> i could do literally any non-esoteric language you want pretty much
<Foone> VISUAL BASIC 5
<whitequark> sure?
<Foone> * Foone has been kicked from ##yamahasynths
<cr1901_modern> I would rather have a forth than BASIC
<whitequark> i'm not a vb5 hater
<Foone> me either. I did a lot of work in VB5.
<whitequark> i've been known to indulge in worse perversion, too
<cr1901_modern> like writing C?
<Foone> although I did buy the big VB5 manual and I'll tell you that the best use it had was dropping it on crickets
<whitequark> lol
<Foone> they're good at dodging if you try to step on them but they apparently can't see straight up and heavy book + gravity equals one dead cricket
<cr1901_modern> whitequark: Really, Python is probably most ergonomic for me right now
<cr1901_modern> why do you think it's unpleasant?
<Foone> so I kept that book on my shelf for years after I moved on to VB6 and C++, just because it was a good anti-cricket weapon
* cr1901_modern wants this one damn house fly _out_ of the house
<whitequark> cr1901_modern: i use my blowtorch for that
<whitequark> quick pulse in the general direction of the fly & it's cooked.
<whitequark> i do recommend to have a fire extinguisher on hand when doing that.
<whitequark> but i've yet to set anything important on fire.
<cr1901_modern> I have the fire extinguisher at least, but not the blowtorch.
<TD-Linux> if I were to try that my apartment complex would turn into a superfund site
<cr1901_modern> Not to mention I actually try to release insects/arachnids that get into the house alive
<cr1901_modern> But this one is overstaying its welcome...
<TD-Linux> if it isn't already. *checks map*
<cr1901_modern> Fun fly fact I just learned: They have three single-lens eyes on the top of their head.
<whitequark> cr1901_modern: i don't touch spiders
<whitequark> but if it's a housefly or a wasp it gets incinerated
<whitequark> hey so i had this *amazing* idea
<whitequark> release a game with opl3 music
<whitequark> where a part of the composition would be derived from PRBS31
<whitequark> and then see how long the vgmrips track is going to be :p
<cr1901_modern> So Crazy Bus, except using the FM chip
<cr1901_modern> oh _derived_ from
<cr1901_modern> yea that sounds interesting given the right composer
<cr1901_modern> https://www.youtube.com/watch?v=i3tiuGVDDkk Basically do this, except with a random sequence
<cr1901_modern> might even be possible to procedurally generate chord transitions
<whitequark> yep
<whitequark> you could do something as simple as decide which sample to use
<whitequark> but that vgm loop is going to be looooong :p
<cr1901_modern> There's an old Genesis game called Sword of Vermilion. One of the tracks loops and goes up a semitone per loop.
<cr1901_modern> Due to an oversight, the driver programmer forgot to add a reset to go back down to the starting key
andlabs has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<cr1901_modern> so after about 10 minutes, the chip is programmed with notes it can't play and becomes a horrific mess
<cr1901_modern> at about 40 minutes, the registers overflow and return back to the starting key
<cr1901_modern> except some of the registers are improperly set
<cr1901_modern> so it sounds glitchy
<cr1901_modern> I wonder if someone did a VGM of a few loops of that
<cr1901_modern> "loops", since each time the song loops back to the starting key it sounds more glitchy
<cr1901_modern> Potentially infinite VGM length :P?
<whitequark> make a VGM mode called "V86" and then stuff an entire Sega emulator
<whitequark> there, programmed to go to a memory dump that plays that specific song
<whitequark> would probably be more compct
<cr1901_modern> Bahahaha
<cr1901_modern> Sword of Vermilion is a mostly a 68k music driver, w/ z80 used to play samples (not needed for this specific song)
<cr1901_modern> https://www.youtube.com/watch?v=zaXsqKHnzxg Of course someone uploaded a video of two hours of the loop
<cr1901_modern> Oh right. I totally forgot, the VGM pack of Sword of Vermilion comes with a recording of the song for 2 hours
<cr1901_modern> the VGZ (compressed) file is 1.08MB
<cr1901_modern> and unpacked is 22.5MB
<TD-Linux> two hours of music, on one floppy
<whitequark> lol
<Foone> if I ever finally make that stupid floppy-music-device I'll have to add support for compressed music, so you can have lots of songs on the go
<cr1901_modern> galaxy brain: Playing vgz files without decompressing them first
<Foone> isn't that called noisecore
<cr1901_modern> Probably
<whitequark> hm
<whitequark> lots of OPM tracks use PCM chips
<whitequark> should i just add support for one of them inside glasgow? they don't look complex or hard to get right
<cr1901_modern> the x68k OKI PCM chip is probably the big one
<whitequark> wait
<whitequark> can i just buy those
<cr1901_modern> I don't know.
<cr1901_modern> 528 pieces lmao
<Foone> does it arrive in jigsaw form?
<cr1901_modern> yes, and it takes 7-8 years to complete. It says so on the box
<cr1901_modern> whitequark: I understand completely if this isn't the route you want to take, but PCM chips of the era are simple enough that you can get pretty good results just implementing an HDL core from the manual.
<cr1901_modern> "Well why haven't you done it yet, cr1901?" Shut up, that's why
<whitequark> okay
<whitequark> i don't mind that actually, it's less wrok
<cr1901_modern> RF5C68 is actually a pretty dirt simple chip. I was just curious about timing and wanted a specimen of my own.
<cr1901_modern> But the only way to get one is to scavenge one from a Sega CD unit
<cr1901_modern> and those are kinda expensive (not to mention I'll piss ppl off for destroying a Sega CD)
<whitequark> hey, destroying one for decapping is a good reason to do it
<cr1901_modern> Yes, indeed. All things being equal I would rather scavenge from a dead unit tho
<cr1901_modern> https://www.ebay.com/itm/Sega-CD-Model-2-Console-For-Repair/254369530179?hash=item3b399b0143:g:FAsAAOSwcqFdiorb Okay, this isn't too bad of a price. Gonna sleep on it before buying.
<TD-Linux> some sort of oki pcm chip was super common alongside a FM chip for arcade hw
<cr1901_modern> Looks like OKI MSM6258 is an ADPCM chip. Lord_Nightmare can help with that if you have any q's, since a lot of ADPCM info is outright wrong.
<cr1901_modern> l_oliveira: Does Model 2 Sega CD have a discrete PCM chip?
<l_oliveira> yes, same as the CD1
<l_oliveira> early CD1 units had the original chip, US CD1 units and CD2 untis had the "A" variant
<l_oliveira> MSM5205? Supper common on old arcade games, Double Dragon have a pair
<l_oliveira> oh and the PC Engine, it uses that on the CD IFU
<l_oliveira> it's a simple stream chip
Xyz_39808 has quit [Read error: Connection reset by peer]
Xyz_39808 has joined ##yamahasynths
andlabs has joined ##yamahasynths
andlabs has quit [Ping timeout: 245 seconds]
andlabs has joined ##yamahasynths
andlabs has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
andlabs has joined ##yamahasynths
andlabs has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
l_oliveira has quit [Quit: ChatZilla 0.9.92-rdmsoft [XULRunner 35.0.1/20150122214805]]
andlabs has joined ##yamahasynths
andlabs has quit [Quit: Textual IRC Client: www.textualapp.com]
andlabs has joined ##yamahasynths
Xyz_39808 has quit [Ping timeout: 264 seconds]
andlabs has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
andlabs has joined ##yamahasynths
balrog has quit [Quit: Bye]
balrog has joined ##yamahasynths
andlabs has quit [Ping timeout: 268 seconds]
andlabs has joined ##yamahasynths
<Foone> although at the same time, don't drop your current pledges. the kickstarter union has made it clear they're not asking for that
<Foone> and people doing that is mainly going to hurt the creators, not kickstarter itself
<superctr> the shenmue 3 debacle was the last straw for me
<superctr> no more kickstarters for me
<KitsuWhooa> do you not want your epic game store code?
<KitsuWhooa> :p
<superctr> no, epic games and their broken launcher doesn't deserve to exist. definitely wasn't what i signed up for either
<superctr> at least i didn't buy the "physical" disc. All you're going to get is a download code for the EGS launcher.
<superctr> now that is a bait and switch
<KitsuWhooa> yeah, that was terrible
<Foone> I like how the untitled goose game reddit has a stickied post saying THE GAME IS UP ON THE EPIC GAME STORY: STOP ASKING WHEN IT COMES UP ON PC
<Foone> because apparently a lot of people think it is only out on switch right now, because it's not on steam yet
<superctr> heh, i like that. EGS exclusive doesn't even count as PC
<Foone> PC isn't even a platform anymore, it's just steam
<KitsuWhooa> I wouldn't mind EGS if they a. supported linux, b. had an actual working store
<KitsuWhooa> :p
<superctr> it's an outdated term anyway
<Foone> a regional dialect
<superctr> "PC" doesn't take into account that there is more than one operating system nowadays
<Foone> lies. there's windows 95 and a bunch of other bullshit that doesn't matter
<KitsuWhooa> yeah, DOS isn't the only OS
<KitsuWhooa> :p
<superctr> BeOS
<KitsuWhooa> I only use OS/2 Warp
<Foone> I have legitimately had to use OS/2 warp! in the last 5 years, even
<Foone> admittedly it was to help reverse engineer a windows 95 program but shut up
<KitsuWhooa> I've actually never used it
<superctr> it's still used in embedded systems
<KitsuWhooa> or know what machines it even runs on
<superctr> things like ATMs and POS terminals
<KitsuWhooa> most of those run Windows XP here
<KitsuWhooa> :p
<KitsuWhooa> and a few WinCE
<Foone> I was at a US government office yesterday and they had a kiosk for signing in and getting a ticket number and it was distinctly making the IE6 click every time I touched a link on the touch screen
<Foone> so it was probably XP... if I'm lucky
<Foone> it was also very very slow, so probably full of viruses and cryptocurrency miners
<Foone> which is great for a machine that asks you to type your social security number into it
<KitsuWhooa> that thing was still a thing up until some relatively recent version of IE
<KitsuWhooa> and windows explorer
<KitsuWhooa> s/thing/click/
<emily> Foone: that exact *click* sound is burned into my head
<Foone> I really don't know why this machine was making it. who leaves that on, especially on an embedded system, and why did it even have speakers?
<Foone> it was some kiosk model, clearly custom built
<superctr> how easily do you think you update an embedded system running xp or older?
<superctr> hint: not so easily
<Foone> it's not about updating it, it's about setting it up correctly in the first place
<KitsuWhooa> eh, it can be done
<superctr> you'd have to replace the entire unit for $$$, possibly having to rewrite custom software written for it
<KitsuWhooa> Windows 10 32 bit can still run 16 bit applications
<KitsuWhooa> :p
<Foone> yeah! and I need to do a video about that
<KitsuWhooa> someone needs to port winevdm to Windows x64 :p
<KitsuWhooa> (not happening, I know)
<Foone> I'm gonna compile a program on my IBM 5150 running DOS 1.0 and then bring it forward through every DOS/Windows version right up to Windows 10 and show that it still works
<Foone> does it not run on windows 64? https://github.com/otya128/winevdm
<KitsuWhooa> I thought it depends on wine itself
<KitsuWhooa> guess not
<Foone> yeah I think this uses only a partial copy of wine
<Foone> basically it uses wine's 16-to-32bit conversion functions
<Foone> and then runs the program on an emulated 16bit CPU
<Foone> so it only emulates enough to get windows to take over and do the rest.
<KitsuWhooa> would be nice if they had ported ntvdm
<KitsuWhooa> apparently it doesn't even come preinstalld on win10 x86 anymore
<KitsuWhooa> +e
<Foone> yeah, it's on-demand installed, apparently
<cr1901_modern> TD-Linux: HOT? Horizontal Oven Transformer?
<KitsuWhooa> Horizontal Output Transistor? :p
<KitsuWhooa> oh, I just looked at the tweet. Guess I got it right :l
<KitsuWhooa> * :p
<cr1901_modern> Yes, I know the "H" was horizontal, I just couldn't figure out the other two
<cr1901_modern> Clearly "Oven" was wrong, but I've seen "MOT" used as an acronym plenty of times
<KitsuWhooa> ignore that :p
<cr1901_modern> Nintendo is what Genesisn't.
<KitsuWhooa> lol
<ZirconiumX> MIPS has three ABIs, all named after the consoles they were used on: N64, N32 and O32
* ZirconiumX will stop the shitposting now
<cr1901_modern> It's not Shitpost Saturday...
<Foone> it's always shitpost saturday
<ZirconiumX> It's shitpostuesday
<cr1901_modern> vintage computer factoid tuesday?
<cr1901_modern> (apparently factoid means "something that sounds true but isn't")
<superctr> i've always wanted an ointendo 32
<KitsuWhooa> lol
<cr1901_modern> The 68k was named after the number of transistors required to create it
<KitsuWhooa> makes me wonder where the Z80 name came from
<superctr> zilog 8080?
<cr1901_modern> KitsuWhooa: that was a semi-joke, btw.
<KitsuWhooa> yeah :p
<KitsuWhooa> but I genuinely got curious about the Z80
<cr1901_modern> 68000 transistors was used as a marketing gimmick, but I'm pretty sure the actual name comes from appending a zero to "6800"
<cr1901_modern> (it has closer to 35000 transistors)
<KitsuWhooa> sounds accurate
<superctr> there's the motorola 56000 dsp, which probably has more transistors than the 68k
<superctr> probably in that case the name comes fro mthe 56-bit ALU
<cr1901_modern> Nobody seems to know where the 430 comes from in MSP430
<cr1901_modern> (MSP is "Mixed Signal Processor")
<superctr> perhaps it was conceived on 30th april :P
<cr1901_modern> In b4 "MSP420"
<superctr> then there's the hitachi h8
<superctr> the name was probably chosen to incite h8red in emulator developers
<whitequark> lol
<cr1901_modern> I guess SuperH must been SuperHitachi
<emily> SuperH, used in the magic wand
* cr1901_modern was waiting for someone to suggest that :P
<Sarayan> h8 is in love with weird numbers
<cr1901_modern> h8 is an 8-bit superH or something completely different?
<superctr> h8 is quite different from superh
<superctr> and h8/300 is different from h8/500 is different from h8s and so on
<cr1901_modern> h8 is mostly for embedded/microcontroller apps, correct?
<superctr> it's a microcontroller family. still used in automotive (along with SH) i think
<Sarayan> 300/300h/s/s26 are not *that* different, there's a clear lineage
<Sarayan> h8/500 is a different planet
<Sarayan> h8 is a lot of yamaha synths too
<cr1901_modern> >along with SH
<cr1901_modern> Yea, the "cool" thing about SH is it's insn density is amazing b/c it only has 16-bit opcodes
<cr1901_modern> (of course if you ever want to load a literal, go f*** yourself and place it in a pool)
<superctr> the sh2 instruction set inspired THUMB and riscv compressed mode
<superctr> it's decent for compilers probably. it's really not that good as an assembler language, imo. plus it has a delay slot
<superctr> it doesn't feel very RISC-y when you look at the instruction reference, i can say at least http://www.shared-ptr.com/sh_insns.html
<cr1901_modern> I would rather SH took the route of the v810 (and prob v850?), which is normally 16-bit insns, but some are 32-bit (including orhi, etc)
<cr1901_modern> I guess like the "C" extension to riscv
<cr1901_modern> (fun fact I learned from reading the "B" spec draft: RV has no compressed encoding for NOT)
<superctr> risc-v is even worse from ASM perspective
<whitequark> the question i ask about assembly is "is it easy to read when you're debugging compiler output"
<superctr> yeah
<cr1901_modern> If objdump were smarter, code heavy w/ literal pools would be easier to read
<whitequark> objdump is useless
<cr1901_modern> *cough ARM cough*
<whitequark> and you don't really read that most of the time, you use -S
<superctr> also i look at how viable it is for inline asm, if it is ever needed. usually i try to avoid inline asm but it can be useful for performance reasons
<superctr> but in the case of risc-v there's no point. better off just writing optimized c code instead
<Sarayan> hey wq
<Sarayan> how are you?
<superctr> sidenote: i recently did a project for Z80 using SDCC. i ended up writing a huge "peephole" rules file plus rewrite a few functions entirely with inline asm. z80 is not very compiler-friendly :P
<cr1901_modern> whitequark: Using objdump and dumping to a text editor tab is an ergonomics thing for me right now. I know there are much better disassemblers
<whitequark> Sarayan: alive
<superctr> objdump in itself is probably good enough. all you'd need is a front end, as with gdb
<Sarayan> sounds good, still hk?
<whitequark> no
<whitequark> in ru
<Sarayan> oh good
<superctr> of course if you are disassembling binary code someone else wrote, i would use IDA or ghidra instead
<Sarayan> tell me when it makes sense trying sending you the votrax again
* cr1901_modern is stalling and actually needs to do work, privmsg if important
<whitequark> Sarayan: let's try it again, same address but you specify the phone # now
<Sarayan> ok
<whitequark> and ideally photo the label before sending
<Sarayan> not sure when I'll have the time to do it, I'll let you know
<whitequark> alright
Xyz_39808 has joined ##yamahasynths
Xyz39808 has joined ##yamahasynths
Xyz_39808 has quit [Ping timeout: 245 seconds]
ej5 has joined ##yamahasynths
Xyz_39809 has joined ##yamahasynths
Xyz39808 has quit [Ping timeout: 245 seconds]
Xyz_39809 has quit [Ping timeout: 245 seconds]
Xyz_39808 has joined ##yamahasynths
<whitequark> Sarayan: btw
<whitequark> i added stereo support to my glasgow opx applet
<whitequark> and also opm
<m4t> i splurged on a bunch of NOS chips :P
<m4t> after all those remarked ones i had an itch that needed scratched. mostly eproms but also have a votrax sc-01-a on the way
Xyz39808 has joined ##yamahasynths
Xyz_39808 has quit [Ping timeout: 245 seconds]