Hi! I'm making a native tracker for MegaDrive/Genesis
DL/Source code: GitHub
Works on: BlastEm, PicoDrive (partially), Mega Everdrive Pro
Last edited by Corthax (Jun 13, 2021 2:36 pm)
chipmusic.org is an online community in respect and relation to chip music, art and its parallels.
You are not logged in. Please login or register.
Hi! I'm making a native tracker for MegaDrive/Genesis
DL/Source code: GitHub
Works on: BlastEm, PicoDrive (partially), Mega Everdrive Pro
Last edited by Corthax (Jun 13, 2021 2:36 pm)
YO what??? This looks amazing. Excited to play around with this.
There are no pitch or volume effects yet (except instrument arp sequencer), these are the next things I need to focus on.
Also no DAC or CSM currently implemented.
Graphics may be slow to update with default SGDK text drawing. Need to be replaced with something faster, but for now it's fine.
I tried it on my Mega Drive. It's a re-release here in Brazil that Tectoy did a few years ago (2017 I guess?) and it has a built in sd card port, so I can load roms on it, while it loads cartridges too, but I don't own a everdrive cart.
I was expecting this to not even boot on it, but it ran and I could move on the first screen.
But the program crashes after i go to the pattern editor.
My guess is that's a console issue with the rom.
Hoping to see further work on this one, I love the idea of a native MD tracker!
If there is not enough built-in SRAM (it's used as RAM), and it's not allowed to write it in 16-bit mode (both odd and even bytes), then rom will not work, or will display garbage data. Or crash
Its great to see a native tracker for the Genesis! I will keep my fingers crossed for this one
Sounds intriguing and a really ambitious project - definitely going to check it out!
0.9a landed for testing. I guess it's better to make 3 effects per row and 768 patterns instead of 2 and 1024 for the next one
do you have a formula to calculate the bpm tempo?
Tempo is just raw timer B values, 1 timer tick = 1 song pulse. There is up to 16 pulses per row.
From docs (is it correct?):
8 Bit Timer B lasts:
288 × (256 - Timer B ) microseconds
It is possible to convert it to bpm (need to take into account if even and odd row pulses may be different), but not a priority task right now.
If there is not enough built-in SRAM (it's used as RAM), and it's not allowed to write it in 16-bit mode (both odd and even bytes), then rom will not work, or will display garbage data. Or crash
So... being cheap and not wanting to fork out the cash for an Everdrive x7, I'm wondering if something like this could work?
http://www.second-dimension.com/store/14
It supports a 256k sram chip... but looking at it (https://www.digikey.com/product-detail/ ND/4234592) it is listed as an 8-bit sram...
Sorry if this is a silly question, but when you say "allowed to write it in 16-bit mode, does that mean the cart needs 16-bit sram? (presumably we're talking one with a hi-byte/low-byte write pin(s)??)
Last edited by Shifty Pixlz (Feb 20, 2020 8:43 pm)
Yeah, the one that writes both hi and low bytes.
With 8 bit SRAM only half of it will be accessible, that gives 128KB, which is... very limiting the possible song data.
I can make different tracker versions with different SRAM requirements though. 256KB is just to make it at least somewhat usable.
In Deflemask we can have:
128 instruments,
128*10 (or 128*13 if ch3 special mode) unique, but channel dependent, patterns,
4 + vol command columns,
128 matrix rows,
256 rows pattern size.
In my tracker, when full 256KB SRAM is used, the maximum is:
255 instruments,
~896 unique patterns,
3 command columns,
250 matrix rows,
32 rows pattern size.
Almost all available space is taken by pattern data. (32 * 8 * 896 bytes)
Last edited by Corthax (Feb 20, 2020 11:01 pm)