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
* ej5
has a new crazy project!
<ej5>
sorta on the D/L for now, but i'm working on a clone of the MCA Ad Lib card.
<cr1901_modern>
That's quite a task
<ej5>
why do you say that?
<cr1901_modern>
AFAIK MCA cards are intelligent, like PCI (for some value of intelligent). Guessing you'll need to emulate MCA functionality on FPGA
<cr1901_modern>
Unless you can source old chips
<ej5>
it uses the 82C611 bus interface chip which may be available from some chinese sources
<cr1901_modern>
Okay I've exhausted my meme quota for the month
<ej5>
thanks, that's helpful
<cr1901_modern>
Anyways, if you ever decide to do a MCA FPGA core, I think that 1. Would be tough, but 2. Would be very valuable :P
<cr1901_modern>
s/you/someone/
<ej5>
should be doable in a CPLD, maybe i'll look into that at some point.
<cr1901_modern>
IIRC, MCA doesn't have PCI autoconfig, but the cards have some level of intelligence, and you need to access an IBM PS/2 BIOS via a special boot floppy to write config information to each card's memory.
<cr1901_modern>
The boot floppy has a program which talks to the cards so they can negotiate their addresses
<cr1901_modern>
But, I don't own any system w/ MCA, so this is all based on a video of someone trying to get an MCA sound blaster to work :P
<ej5>
yeah i have a ps/2 model 50z so i have gone through it myself. it sucks, i'd rather mess with jumpers
<ej5>
BUT having an MCA ad lib would be nice.
<cr1901_modern>
My ps/2 is a model... uhh, idk actually. It's a 386 budget model without FPU and ISA slots. Comes with a very snazzy AT modem that I can't use
<cr1901_modern>
and with 3 ISA slots*
<cr1901_modern>
I put a Sound Blaster 16-bit and an 3c5x9 thinnet card in it, but I haven't used it in literal years
<ej5>
well, the ad lib MCA analog portion is mostly identical to the ISA version.
<andlabs>
oh
<andlabs>
let's talk about yamaha synths again
<andlabs>
is the existence of bambootracker news to anyone here?
<cr1901_modern>
never heard of it
<andlabs>
it is a YM2608 tracker based on famitracker's UI
<andlabs>
I haven't fully evaluated it yet so I don't kow what it can do with existing FM data dumps but I know devin acker/revenant did some stuff for something in hoot so???
<cr1901_modern>
Would revenant find use in idling here?
<cr1901_modern>
Anyways looks fascinating, I'll have to give it a look when I'm feeling up for it
<cr1901_modern>
Right now I'm kinda partial to MML
<andlabs>
I stilld on't know what kind of DAW is best for me
<andlabs>
libarchive - 9 hr to 3 hr - not bad
Xyz_39808 has joined ##yamahasynths
<andlabs>
hm, adding av_log_set_level(AV_LOG_QUIET) didn't silence these errors...
<andlabs>
maybe it'scoming from mpg123?
<andlabs>
[mp3 @ 0x7f8a40800e00] Failed to read frame size: Could not seek to 3038.
<andlabs>
good /Users/pietro/extsrc/packs/_zips/_tg16/Gradius_(TG-16).zip
<andlabs>
oh...
<andlabs>
I think it's the m3u files
andlabs has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
andlabs has joined ##yamahasynths
andlabs has quit [Ping timeout: 276 seconds]
andlabs has joined ##yamahasynths
<andlabs>
E2019-08-11 21:48:50.955377 EDT vgmstreamdriver.cpp:197 Final Soldier.png
<andlabs>
[mp3 @ 0x7f825b000600] Invalid frame size (522): Could not seek to 8177.
<andlabs>
lol
<andlabs>
it was trying to open the pngs for some reason
<andlabs>
filtering those out gets rid of most of the logs
ej5 has quit [Read error: Connection reset by peer]
Sarayan has joined ##yamahasynths
_whitelogger has joined ##yamahasynths
_whitelogger has joined ##yamahasynths
glowcoil has quit [Remote host closed the connection]
glowcoil has joined ##yamahasynths
Xyz_39808 has quit [Read error: Connection reset by peer]
Xyz_39808 has joined ##yamahasynths
<Sarayan>
hey people-who-know, is yosis/nextpnr working for cyclone v/de10 ?
<cr1901_modern>
I think that's ZirconiumX's pet project?
<Sarayan>
looks so
<cr1901_modern>
(anyways, afaik, no. Retro projects insistence on using Altera parts annoys me to no end
<ZirconiumX>
Sarayan: no, nowhere close to working
<Sarayan>
ZirconiumX: ok, too bad
<cr1901_modern>
For whatever reason, the venn diagram of ppl interested in open FPGAs and those using Altera parts is nearly two non-intersecting circles
<Sarayan>
errr, I don't think Xilinx is in any more open
<cr1901_modern>
But lots more ppl are interested in making it open :P (ty ZirconiumX for your work)
<Sarayan>
is th cyclone v dev software free and without some kind of nda from hell?
<cr1901_modern>
Last I checked, Quartus is free for cyclone v parts
<Sarayan>
I guess that's what they use for MISTer then
<cr1901_modern>
MiST is the original, MiSTer is an add-on board that was so successful that MiST is no longer sold AIUI?
<Sarayan>
MISTer is a port of MiST to the de10
<Sarayan>
so not a specific board, hence less expensive
<cr1901_modern>
Wonder how difficult it would be to port to ECP5 or even ice40
<Sarayan>
isn't there a fpga size issue?
<cr1901_modern>
yup! :D
<Sarayan>
plus, mister uses the fact that there's an arm available too to do logistic duties
<cr1901_modern>
(doesn't the add-on board provide the SDRAM/ARM?)
<Sarayan>
fpga-exclusive sdram yes, arm no, it's there by default
<cr1901_modern>
I guess someone should create the MiSTerer or MiSTest
<Sarayan>
the sdram board is more about low-latency and exclusivity than anything else
<cr1901_modern>
furrtek seems to be having trouble meeting latency requirements for certain NeoGeo games b/c sdram is a f*** :(
<Sarayan>
ZirconiumX: You're concentrating on RE-ing the bitstream I guess?
<Sarayan>
or something else?
l_oliveira has joined ##yamahasynths
<ZirconiumX>
Sarayan: an entire flow, but the bitstream primarily
<Sarayan>
ok
<Sarayan>
I'll have a look if I find the time, if I go anywhere I'll ping you about it :-)
<Sarayan>
7;2~(yeah, that's alot of ifs)
andlabs has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<cr1901_modern>
7;2~?
andlabs has joined ##yamahasynths
andlabs has quit [Client Quit]
<cr1901_modern>
Also Sarayan, you may wish to /join ##openfpga
andlabs has joined ##yamahasynths
<ZirconiumX>
Right, I am free for a little while
<ZirconiumX>
Yes, I have a MiSTer board
<ZirconiumX>
The DE-10 Nano uses a Cyclone V SoC, so it has ARM cores for basic duties, but the Cortex-A9 can't do too much
<ZirconiumX>
I do plan to use it as a dev board, so it'll probably be among the first chips to have some semblance of support
<ZirconiumX>
But it's like a handful of people working in their spare time
<ZirconiumX>
At least I'm getting the hang of wringing information out of Quartus
<ZirconiumX>
Sarayan: don't expect rapid progress; I'm still getting the hang of things
<superctr_>
quartus is awful, it would be nice to have a good alternative
andlabs has quit [Ping timeout: 248 seconds]
<ZirconiumX>
superctr_: Things are better the longer you wait for them /s
<Sarayan>
ZirconiumX: Did you reverse the hdb/rdb/etc formats?
<ZirconiumX>
I'm focusing on the rbf format
<Sarayan>
of course, since that's the bitstream format. But how do you attack it? I was thinking of hitting quartus_asm while controlling its input
<Sarayan>
That's how I broke open the spartan2 format
<Sarayan>
(it was xdl2bin, but same thing)
<ZirconiumX>
I use VQM to input a netlist, and then I can constrain place and route using a Routing Constraints File
andlabs has joined ##yamahasynths
<Sarayan>
interesting
<ZirconiumX>
VQM is a dick to work with though
<ZirconiumX>
Altera share a lot of primitives between families (you can trace the ALM used in the Cyclone V back to the Stratix II)
<ZirconiumX>
Unfortunately despite these primitive cells being - as far as I can tell - identical, Altera insist on naming them separate things
<Sarayan>
huhuhu
<ZirconiumX>
So you have a cyclonev_lcell_comb, a stratixv_lcell_comb, an arriav_lcell_comb
<Sarayan>
how surprising
<ZirconiumX>
And I reckon it would go back to the S2 if they still supported it
<ZirconiumX>
So I'm reworking the Yosys flow because it simply won't scale
<Sarayan>
yosis won't scale?
<ZirconiumX>
Yosys will scale just fine
<ZirconiumX>
But the target-specific backend - synth_intel - is very broken
<Sarayan>
ahhhh
<ZirconiumX>
I don't plan to keep Quartus as a back end
<Sarayan>
of course not
<ZirconiumX>
I managed to get it to ICE
<ZirconiumX>
From feeding it a VQM
<Sarayan>
huhu
<ZirconiumX>
Because it doesn't verify it properly
<Sarayan>
that's hard
<Sarayan>
properly verifying
<ZirconiumX>
It's not that hard
<ZirconiumX>
But they just skip the verification entirely
<ZirconiumX>
Because obviously VQM users know what they're doing
<Sarayan>
heh, it's faster that way, and they're slow enough already
<ZirconiumX>
For example, VQM users won't ever mix LUT masks, right?
<Sarayan>
of course not
<ZirconiumX>
Or try to use a LUT with disconnected inputs
<ZirconiumX>
Or disconnected outputs
<Sarayan>
they're perfect after all
<ZirconiumX>
(seriously though: you can use either binary integers or hexadecimal strings for a LUT mask; the moment you combine them, you crash the parser)
<ZirconiumX>
(apparently this was closed as WONTFIX internally because this is invalid input and it's not their problem)
<Sarayan>
huhuhu
<ZirconiumX>
One last thing
<ZirconiumX>
Ultrasauce lent me their computer to mass produce bitstreams
<ZirconiumX>
But it turns out that Quartus leaves a incremental compilation DB in /tmp
<ZirconiumX>
Even if you rm -rf the build folder
<ZirconiumX>
So I accidentally filled up their ram with incremental compilation DBs in tmpfs
<Sarayan>
interesting
<Sarayan>
the /tmp/alt* directories I guess
<andlabs>
kode54: since your foo_psf uses it, is ther eany reason I should prefer aopsf over highly experimental?
cr1901_modern1 has joined ##yamahasynths
cr1901_modern1 has quit [Client Quit]
cr1901_modern1 has joined ##yamahasynths
cr1901_modern has quit [Ping timeout: 276 seconds]
cr1901_modern1 has quit [Client Quit]
cr1901_modern has joined ##yamahasynths
<cr1901_modern>
I really wish "/nick" still worked for me
<andlabs>
[mp3 @ 0x7fb232000000] Format mp3 detected only with low score of 1, misdetection possible!
<andlabs>
[mp3 @ 0x7fb232000000] Failed to read frame size: Could not seek to 2214.
<andlabs>
huh
<andlabs>
there's no way to tell something is a MP3 just from the start of the file?
<andlabs>
I guess I'll have to skip vgmstream for last... maybe
<andlabs>
also oh, highly experimental is foo_qpsf
<andlabs>
heh
<cr1901_modern>
I would've figured there's a magic constant, like "Ehm", "Pee", "Three" at the beginning
<Ultrasauce>
it didnt even fill my ram, my /tmp is bounded at half that size
<Ultrasauce>
it's astonishing how much stuff broke with /tmp full though
<kode54>
no
<kode54>
qpsf naming was eliminated
<kode54>
I reverted that
<kode54>
oh
<kode54>
foo_qpsf is the source repo, yes
<kode54>
damn
<kode54>
did not intend to keep that mixup
<Foone_>
has anyone done any research into building clone cards from the later more integrated chips? like some of the cheaper cards that are just an ESS audiodrive
<cr1901_modern>
Foone_: Funny you should mention that... ej5 announced an MCA Adlib clone project yesterday
<cr1901_modern>
not quite what you're looking for, but MCA is certainly more integration
<Foone_>
not quite in the way I need. and adlib isn't a problem for what I want... basically I was thinking of building a PC/104 soundcard
<Foone_>
adlib is small enough for sure, but using the snark barker might be pushing it unless I do some above-my-paygrade redesigning to make it much smaller
<Foone_>
so I was wondering if anyone else had played with making ISA cards using the later SB clones that seriously cut down on the component count
<cr1901_modern>
There's a thread on vogons about a sound card that does basically f***ing everything you can think of. IIRC it uses a bunch of old stock integrated chips
<cr1901_modern>
to get the functionality of 4 sound cards into one full length ISA card
<Foone_>
oh, I think I heard about that one, yeah
<cr1901_modern>
also, ppl use pc104?
<Foone_>
people are weird, people who hang out in IRC channels like this one extra so
<cr1901_modern>
I mean I like it b/c it's ISA, but I figured pc/104 died once the broadcom dev board came about
<cr1901_modern>
>people who hang out in IRC channels like this one extra so
<cr1901_modern>
can't argue with that
ej5 has joined ##yamahasynths
<Foone_>
I might just build a clone of a clone. like the Cirrus Logic/Crystal CS4237B-KQ chip is an OPL3 clone with pretty much everything integrated into it, so cards made with it are pretty simple: https://i.ebayimg.com/images/g/SbYAAOSwrw1ciksQ/s-l1600.jpg
<Foone_>
and it doesn't seem it's too hard to find CS4237Bs
<Foone_>
some fun quotes on there like "The OPL3 clone on this card is actually good, providing better definition of different instruments than an OPL3 does."
<cr1901_modern>
Sounds like this person has a lot of sound card woes. Ahhh the good ol' days
<andlabs>
kode54: but which is better, highly experimental or aopsf?
<andlabs>
I see highly experimental uses sony code (which I don't care about, especially since this is a private thing) and aopsf has inaccuracies (but I don't know how accurate HE is)
Foone_ has quit [Quit: upgrading]
<andlabs>
also if I could make a suggestion, ikf you ever go back to editing these psf plugins, you should try to get rid of all the code duplication...
Foone has joined ##yamahasynths
<cr1901_modern>
Foone: Looks like your upgrade went smoothly :3?
<Foone>
mostly! still not got bitlbee working right, cause I forgot my password again
<cr1901_modern>
bitlbee is that Windows 98 multichat program?