mod2vic - VIC-20 tunes for the masses
BotB Academy Project Dev
 
 
Level 25 Mixist
cce
 
 
 
post #35644 :: 2014.01.15 3:41am :: edit 2016.09.10 1:27am ::
  
  TristEndo, TMM12, Lukas Eriksson, rainwarrior, RoccoW, Sinc-X, JINTAKE, HertzDevil, anewuser, Tilde, irrlicht project, Interrobang Pie, raphaelgoulart and Slimeball liēkd this
Create VIC-20 music from ProTracker modules.

VIC 20 music toolkit
1. Write your song and save it as SONG.MOD.
2. run make_song.bat

You can change the song by editing make_song.bat


You need to have Python 3.x
installed to run this.

Download: vicmusicconverter_r1.zip


The package includes the conversion scripts, a template module and the win2c64-assembler.

Converter source: http://bitbucket.org/seece/mod2vic/


Edit: Fixed the links, for some reason BotB doesn't like https.
 
 
Level 27 Chipist
raphaelgoulart
 
 
 
post #35652 :: 2014.01.15 5:29am :: edit 2014.01.15 5:29am ::
Any specific limitations? Analyzing the example mod, seems like instrument 1 can only go to channel 1, 2 to 2 and so on, and the only effects allowed are Fxx, Cxx and ECx... Am I right?
(And thanks for sharing this with us! \:D/)
 
 
Level 25 Mixist
cce
 
 
 
post #35653 :: 2014.01.15 6:30am :: edit 2014.01.15 6:31am ::
  
  sleeparrow and raphaelgoulart liēkd this
Yes there are a plenty of limitations. Here's some excerpts from README.md:


### Gotchas
* All patterns are exported, even those not appearing in the order list
### Channel layout
The imported module must contain 4 channels.
CHN 1 low pulse (alto)
CHN 2 medium pulse (tenor)
CHN 3 high pulse (soprano)
CHN 4 noise (lion growl!)
Instrument values are ignored by the exporter.
### Supported effect commands
Note: you *cannot* use an effect command and a note on the same row.
0EC note cut
CXX set global (not channel!) volume
FXX set speed, valid values 0-1F
## Playroutine
If you run out of RAM (more than 10 patterns of music or so) the song data will be written over VRAM. This is OK but you need to disable all screen operations by setting `--draw_graphics 0`. Good luck.
 
 
Level 27 Chipist
raphaelgoulart
 
 
 
post #35654 :: 2014.01.15 6:46am ::
Ah, that helps a lot! Thanks =D (why didnt I even try reading the readme? -_-)
 
 
Level 23 Chipist
irrlicht project
 
 
 
post #35660 :: 2014.01.15 7:51am ::
  
  nitrofurano and garvalf liēkd this
Very very nice. I hope it can be ported to *nix somehow (because after all, what's the point of having a python script if it's not portable).
 
 
Level 20 Chipist
linde
 
 
 
post #35665 :: 2014.01.15 9:21am ::
  
  irrlicht project, raphaelgoulart, cce and Slimeball liēkd this
The script looks platform independent except for the dependency on the assembler, so I guess the player source could be reworked to build with a cross platform assembler.

And there are plenty of reasons for using python beside platform independence :).
 
 
Level 20 Chipist
linde
 
 
 
post #35667 :: 2014.01.15 10:31am ::
  
  cce, irrlicht project and raphaelgoulart liēkd this
I made a fork that generates source that builds with Kick Assembler (cross platform assembler)

https://bitbucket.org/boomlinde/mod2vic/overview

The readme still applies except you need to build with "java -jar kickassembler.jar -binfile player.s; mv player.bin player.prg"
 
 
Level 19 Chipist
YERZMYEY
 
 
 
post #35677 :: 2014.01.15 11:37am ::
Hi, there is a 404 error in the DOWNLOAD link http://https//dl.dropboxusercontent.com/u/5753422/exe/vicmusicconverter_r1.zip
Could You upload the prog again, somewhere?
 
 
Level 27 Chipist
raphaelgoulart
 
 
 
post #35679 :: 2014.01.15 11:47am ::
  
  MiDoRi and Slimeball liēkd this
the error can be fixed easily by removing the http:// beggining and putting a ":" between the "https" and the "//".
 
 
Level 31 chipist
Chip Champion
 
 
 
post #35805 :: 2014.01.18 5:37am ::
  
  MiDoRi, TMM12, raphaelgoulart and Slimeball liēkd this
i couldnt get it to work :'(

i can only understand drag and drop technology
 
 
Level 27 Chipist
raphaelgoulart
 
 
 
post #35808 :: 2014.01.18 6:12am :: edit 2014.01.18 6:12am ::
  
  Xemogasa, Slimeball and cce liēkd this
xemogasa taught me how to fix that on skype
[11:23:58] Xemogasa: i don't know how it is in portuguese but i'll try to translate
[11:24:11] Xemogasa: start menu -> right click computer -> properties
[11:24:18] Xemogasa: advanced system parameters
(...)
[11:25:02] Xemogasa: then when you're in there
[11:25:10] Xemogasa: the button just before "ok"
[11:25:20] Xemogasa: variables or some shit
[11:25:27] raphaelgoulart: k
[11:25:30 | Editado 11:26:14] Xemogasa: then find the variable with the name Path
[11:25:34] Xemogasa: edit it
[11:25:38] Xemogasa: and add this :
[11:25:49] Xemogasa: ;C:\{insertpythonfolder}
[11:25:55] Xemogasa: of course edit the last part
[11:26:22] Xemogasa: the ; is intentional too
[11:26:40] Xemogasa: of course if there already is an ; at the end don't add it
[11:27:02] Xemogasa: then click apply, ok then ok
[11:27:05] Xemogasa: then retry
 
 
Level 22 Chipist
brightentayle
 
 
 
post #35815 :: 2014.01.18 7:20am ::
  
  Xemogasa, raphaelgoulart, cce and Slimeball liēkd this
I knew it had to do something with PATH! ._.
 
 
Level 19 Chipist
YERZMYEY
 
 
 
post #35882 :: 2014.01.19 11:23am ::
I installed all of this.
And I get only a requester:
"Name >>Python<< not recognized as an internal not external order, executable program or a batch file".
 
 
Level 27 Chipist
raphaelgoulart
 
 
 
post #35886 :: 2014.01.19 12:30pm ::
YERZMYEY the solution is my long comment above
 
 
Level 19 Chipist
YERZMYEY
 
 
 
post #35890 :: 2014.01.19 1:24pm ::
Utz helped me finally and it works now.
Sadly I have to resign as the chip generates far too much false tones, for my taste. :( I regret.
 
 
Level 24 Renderist
anewuser
 
 
 
post #36153 :: 2014.01.24 8:12pm ::
the charm of RAW XDDD
 
 
Level 20 Chipist
Xemogasa
 
 
 
post #36159 :: 2014.01.25 4:08am :: edit 2014.01.25 4:16am ::
  
  MiDoRi and cce liēkd this
actually, every folder in the "path" variable is where it will search for an exe with an unspecified folder. obviously, if you don't specify to the computer where to find the file, it won't find it, so there's a pre-made variable to make your life easier. alternatively, in the bat file, you could have replace python by "C:\Python33\python.exe" (with the quotes) so it'd know the precise location for python.exe, then you wouldn't have had to add the folder to the path variable. but python/java/etc bat files don't specify the folder for the following reason : imagine your install folder is not C:\Python33, then the bat file would become wrong. without specifying the folder, windows will search in the path variable to find where to search for python.exe, therefore, since you have added your real python folder to the path variable, it will find python.exe in this folder.
 
 
Level 30 Chipist
Warlord
 
 
 
post #37583 :: 2014.02.18 3:47am ::
  
  Jangler, Savestate, JINTAKE, Slimeball, cce, irrlicht project and Chip Champion liēkd this
The only instruction you need for making VIC music ;P http://sid.fi/~grue/vicvoices1.gif
 
 
Level 23 Chipist
irrlicht project
 
 
 
post #37604 :: 2014.02.18 8:17am ::
  
  JINTAKE, b00daw, Slimeball and Warlord liēkd this
And coming up in the next version: viznut waveforms


Now if you'll excuse me folks, I'm busy floating around on my magic carpet...
 
 
Level 23 Chipist
irrlicht project
 
 
 
post #39064 :: 2014.03.04 8:29am :: edit 2014.03.04 11:56am ::
  
  Slimeball liēkd this
Btw, I just noticed mod2vic prgs crash with memory expansion enabled. Can that be fixed somehow?

Edit: Nevermind, here's a dirty fix
. To use it, replace all occurances of "player" in the batch file with "player16", obviously.
 
 
Level 28 Chipist
KungFuFurby
 
 
 
post #39307 :: 2014.03.07 1:38pm :: edit 2014.03.07 1:40pm ::
Does the noise provided in the .MOD file really sound like that on the real hardware? Sounds different from the noise I usually hear in BOTB VIC-20 entries, that much I know. Same goes for tenor and soprano.
 
 
Level 27 Chipist
raphaelgoulart
 
 
 
post #39318 :: 2014.03.07 3:02pm :: edit 2014.03.07 3:05pm ::
  
  Robyn hæitd this
the tenor and soprano sample are also 50% square waves, for some reason they arent in the .mod provided.
just fix that with the pencil tool, because the length of those samples are correct
 
 
Level 25 Mixist
cce
 
 
 
post #39373 :: 2014.03.08 8:34am :: edit 2014.03.08 8:38am ::
I don't know why the samples are mangled in the mod file. They were just 50/50 square waves when I saved the file, I promise! The .MOD playback is just an approximation in any case. For example the noise channel is completely different in reality.

@irrlicht project: yeah the player is designed only with the unexpaned VIC-20 in mind. Good to hear you got it working.
 
 
Level 27 Chipist
raphaelgoulart
 
 
 
post #52219 :: 2015.01.25 10:10am :: edit 2015.01.25 10:28am ::
ok i'm trying to convert an unfinished tune of mine and even with draw_graphics off it wont work (the output file is larger than the vic20's available RAM, which is 5kb i guess)
but irrlitch's fix doesn't work for me either, it just gives a lot of errors (396 to be exact)(seemingly most of these were syntax errors which i was able to fix myself and bring it down to 9 errors of undefined stuff) but i may have done something wrong idk
 
 
Level 27 Chipist
raphaelgoulart
 
 
 
post #52222 :: 2015.01.25 10:34am ::
ok i was able to get a prg file but it says "?SYNTAX ERROR" when i open it on winvice with the 16k memory expansion
 
 
Level 30 Mixist
Baron Knoxburry
 
 
 
post #52223 :: 2015.01.25 10:48am ::
  
  raphaelgoulart and Slimeball liēkd this
RAM addresses change when you add expansion memeory. I have no idea if this tool is designed for the default vic or an expanded one.
 
 
Level 23 Chipist
irrlicht project
 
 
 
post #52224 :: 2015.01.25 11:00am ::
  
  raphaelgoulart liēkd this
Yep, it's for unexpanded vic. If you want to use it with 16k expansion you can use the dirty fix that I posted somewhere a few posts earlier.
 
 
Level 27 Chipist
raphaelgoulart
 
 
 
post #52225 :: 2015.01.25 11:02am :: edit 2015.01.25 11:05am ::
i tried with your fix, it didn't work either
lemme retry
396 errors, mostly unexpected character/input
 
 
Level 28 Renderist
Slimeball
 
 
 
post #52227 :: 2015.01.25 11:34am ::
  
  raphaelgoulart liēkd this
raphaelgoulart, you should get this batch file:

https://dl.dropboxusercontent.com/u/70256161/asdf.bat

Copy it to the the same directory that contains make_song.bat and post the resulting error_log.txt here ;)
 
 
Level 27 Chipist
raphaelgoulart
 
 
 
post #52228 :: 2015.01.25 11:57am ::
 
 
Level 28 Renderist
Slimeball
 
 
 
post #52229 :: 2015.01.25 12:07pm :: edit 2015.01.25 12:08pm ::
  
  raphaelgoulart liēkd this
irrlicht project seems to have used a different assembler for his driver. It looks like he based it on linde's version, which uses kickassembler rather than the assembler that comes with the music kit. :P

It probably should work if you download linde's converter and apply irrlicht project's fix to that.
 
 
Level 27 Chipist
raphaelgoulart
 
 
 
post #52230 :: 2015.01.25 12:10pm :: edit 2015.01.25 12:11pm ::
(redacted)ok, i think i'll give it a try!
 
 
Level 28 Renderist
Slimeball
 
 
 
post #52233 :: 2015.01.25 12:27pm ::
  
  raphaelgoulart liēkd this
And if that doesn't work, you could try THIS 8==========D

https://dl.dropboxusercontent.com/u/70256161/player16.s

I applied my own dirty fix to the player.s that comes with the music kit.... It should work! ....if you don't mind the glitchy visuals. ;)
 
 
Level 27 Chipist
raphaelgoulart
 
 
 
post #52235 :: 2015.01.25 12:32pm :: edit 2015.01.25 12:33pm ::
(redacted again)ok, will try again! thanks a lot :D
 
 
Level 27 Chipist
raphaelgoulart
 
 
 
post #52237 :: 2015.01.25 12:35pm ::
  
  cce and Slimeball liēkd this
ok, this worked haha <3 thank you! :D
 
 
Level 28 Renderist
Slimeball
 
 
 
post #52238 :: 2015.01.25 12:35pm :: edit 2015.01.25 12:36pm ::
  
  raphaelgoulart liēkd this
I forgot to mention that the player16.s I posted works with winc64 (and probably not with Kick Assembler)

If you get any errors let me know. :P

(ninja'd) ;)
 
 
Level 27 Renderist
b00daw
 
 
 
 
post #72278 :: 2016.09.10 4:56am ::
  
  Jangler, cce, shinichi and Savestate liēkd this
*bump* For those that were having issues, cce has graciously fixed the link to the distribution package.
 
 
Level 30 Mixist
tennisers
 
 
 
post #132998 :: 2020.12.20 5:43pm ::
how do you set `--draw_graphics 0`? is that in the make song bat or in vice itself?
 
 
Level 32 Chipist
kleeder
 
 
 
post #133008 :: 2020.12.20 10:30pm ::
  
  tennisers liēkd this
its in the bat

python mod2vic\converter.py ..\SONG.MOD --tempo 42 --output tune.s --title "unnamed song" --draw_graphics 0 && ^
 
 

LOGIN or REGISTER to add your own comments!