How to dump Eskimonika :)
pik33
Posts: 2,398
Sid dumper can only dump about 90 seconds of this tune...
So I did this:..
Got a serial player/serial slave and modified it like this:
then used this "minimalistic player" from obex
to play this.
It plays, but it have some glitches in it. Edit: now it haven't Solution was simple: use faster SD card.
So I did this:..
Got a serial player/serial slave and modified it like this:
CON _CLKMODE = xtal1 + pll16x _XINFREQ = 5_000_000 _SD_DO = 0 _SD_CLK = 1 _SD_DI = 2 _SD_CS = 3 _SD_WP = -1 ' -1 ifnot installed. _SD_CD = -1 ' -1 ifnot installed. OBJ sid : "SIDcog" serial : "FullDuplexSerial" fat : "SD3.01_FATEngine.spin" VAR byte registers[25] long s byte k PUB main | readyToUpdateRegisters, i, j sid.start( 10, 11 ) serial.start( 31, 30, 0, 115200 ) fat.FATEngineStart(_SD_DO, _SD_CLK, _SD_DI, _SD_CS, _SD_WP, _SD_CD, -1,-1, -1) fat.mountPartition(0) ' mount the sd card fat.openFile(fat.newFile(string("e.dmp")), "W") repeat j from 0 to 95999 readyToUpdateRegisters := false repeat while not readyToUpdateRegisters repeat while serial.rx <> 13 if serial.rx == "S" and serial.rx == "D" and serial.rx == "M" and serial.rx == "P" readyToUpdateRegisters := true repeat i from 0 to 24 registers[i] := serial.rx sid.updateRegisters( @registers ) fat.writeData(@registers, 25) fat.closefile fat.unmountPartition dira[16]:=1 outa[16]:=1 repeat
then used this "minimalistic player" from obex
' ' A minimalistic SID dump player. ' Plays a C64 tune dumped from a .sid file. ' CON _clkmode = xtal1 + pll16x _xinfreq = 5_000_000 SD_PINS = 0 playRate = 200'Hz rightPin = 10 leftPin = 11 VAR byte buffer[25] OBJ SID : "SIDcog" SD : "fsrw" PUB Main sd.mount(SD_PINS) ' Mount SD card sid.start(rightPin, leftPin) ' Start the emulated SID in a cog sd.popen(string("e.dmp"), "r") ' Open tune 'Main loop repeat waitcnt(cnt + (clkfreq/playRate)) ' Wait one VBL sd.pread(@buffer,25) ' Read 25 bytes from SD card sid.updateRegisters(@buffer) ' Write 25 byte to SIDcog
to play this.
It plays, but it have some glitches in it. Edit: now it haven't Solution was simple: use faster SD card.
Comments
I don't have the time right now though!
So, for those who likes this tune, here is headerless raw Eskimonika 8 minutes dump. Because it is headerless, use this "minimalistic player" from OBEX (set playback rate to 200 Hz)
If you want to do a serial sid dump for yourself, you can use code from first post of this topic. This "SD3.01_FATEngine.spin" is renamed (for use with KyeDOS) Kye's FAT16/32 driver from OBEX.
Eskimonika.dmp.raw..zip
http://c64sklastcompo.miina.com/eskimonika.mp3
At first try, she did get hurt badly. SD card I used first time was too slow to write data as fast it comes from serial player. So I thought about rewrite this code to add a circular buffer for RS232 data - or something similar. Then I tried another SD card which was fast enough. Now I can make a "serial dump" of SIDs for any time I want