Stone Oakvalley's Authentic SID Collection (SOASC=)
The automated Commodore 64 SID Music recorded to MP3/FLAC. Project based on High Voltage SID Collection & Compute's Gazette SID (CGSC)


                              



T H E   R E A L   D E A L   I N    - A U T H E N T I C -    C O M M O D O R E   6 4   M U S I C  !



CGSC will be added to SOASC=!
in All about SOASC= | Thursday, January 21, 2016 | 22:56


I can hereby confirm I have decided to record and process all current tunes found in the CGSC (Compute's Gazette Sid Collection).

The current collection (based on v133) contains 15311 MUS files, 4208 STR files and 5224 WDS files. However, the SOASC= ROTS recorded version will ignore STR (Stereo SID), resulting in 11104 .MUS files for recording.


A quick feature list:

- Only files with single .MUS extension (without the matching .str file) will be added to recording queue.
- No .STR (Stereo SID) and .WDS files will be recorded / used (see above).
- Modified player software "basic player.64" done.
- Recordings will be done for NTSC Machine only: 6581R2, R3, R4 and 8580R5 chips.
- MP3 and FLAC files will contain all text found in the original MUS files as Comments (naturally ID3V1 dont support long comments, but our MP3 files also contain the ID3V2 flag which allows all this text to be present in the MP3 recordings).
- As a bonus a C64 screenshot (JPG) of the MUS text graphics as shown during playback on C64 will be included in the MP3 / FLAC file. See below for example.


and, as a releaseable tool/bonus as part of this project:
Modified player/timing software of "basic player.64" in progress (this will allow me/us to generate a songlengths.txt just as HVSC. This has been missing in CGSC collection). Software will be written in PureBasic, and will be available for Windows OS, command line tool working together with CGSC collection and VICE - the Versatile Commodore Emulator in a batch mode operation.

It should be noted that during original SOASC= recording project in Aug2006 to Apr2009, the CGSC was discussed and thought of, but lack of time and understanding of how to perform it automatically caused it to get low priority, and in the end; never performed. It is time to set things straight!



.MUS files that seems to loop forever

All of these songs were detected by my own tool as playing over 30 minutes, and were therefore categorized as never ending looped songs. For clarity, these will be recorded at 20 minutes MAX, then cut off. Since the amount of songs are so low, I will manually cut them where the song seems to loop and then change the Songlengths_CGSC.txt entry accordingly.

Bobbye/Judy_Blue_Eyes.mus
Daspf/Stand_by_me.mus
*Harry_Bratt/HB/Ad_Nauseum.mus
*Harry_Bratt/HB/Drum_B1.mus
*Harry_Bratt/HB/Keep_Moving.mus
*Harry_Bratt/HB/Mooichido.mus
*Harry_Bratt/HB/Yisrael_Chai.mus
*Jerry_Roth_-Dr_J-/Stereo_Help.mus
*Lord_Myrkul/Times_of_Lore.mus
*Lord_Myrkul/Ultima_IV_Merchant_Theme.mus
*Misc/Anon/Dancing_Days.mus
*Misc/Anon_Blank/Awesome.mus
*Misc/B/Infinity.mus
*Misc/C/Little_Demo.mus
*Misc/C/Start_of_Comic_Bakery.mus
*Misc/E/Sasafrass.mus
Misc/F/Heat_is_On.mus
*Misc/G/Demented_2.mus
*Misc/G/Demented_3.mus
*Misc/K/What_you_Need.mus
Misc/SoundEffects/Alarm.mus
*Neil_Baldwin/Lost_in_Space_tune01.mus
*Neil_Baldwin/Lost_in_Space_tune04.mus
*Sileo/Perpetual_Tango.mus

*Update 29th of March 2017: The following songs were manually inspected as looping songs and where trimmed down to 4 minutes. The ones NOT marked with * was adjusted automatically by using SOX to trim on silence. The reason for them being detected as over 20 minutes in recording was most likely due to that the MUS player didn't exit properly when it was running. The others were simply 1 pattern loops or very small songs (like 2-3 patterns) in a loop.


Basic source code for playback timer used for my CGSC_Timer.exe

The original basic code was found in the CGSC collection at: CGSC\00_Commodore64\MusicSys.d64

REM C64 BASIC LISTER V1.1F
REM (C) 2004-05 LUIGI DI FRAIA
REM LISTING OF FILE: BASIC PLAYER.64.PRG

REM START ADDRESS: $0801
REM END ADDRESS+1: $0C06
REM SIZE (BYTES): 1029

100 PRINT CHR$(147):PRINT " SIDPLAYER BASIC PLAYER"
105 PRINT " BY CRAIG CHAMBERLAIN":PRINT
120 DN=8:SA=780:SX=781:SY=782:SP=783
130 PRINT " TUNING INSTRUMENTS":PRINT:GOSUB 57000:REM LOAD SIDPLAYER ML
200 F$="COMMODORE":LA=PEEK(49)+256*PEEK(50)+1000:GOSUB 57500:REM LOAD SONG
210 SYS HK:REM HOOK (INSTALL)
220 POKE SX,LO:POKE SY,HI:SYS PL:REM SET FOR PLAYING
230 K=PEEK(SX)+256*PEEK(SY):REM GET ADDRESS OF TEXT LINES
240 IF PEEK(K) THEN PRINT CHR$(PEEK(K));:K=K+1:GOTO 240:REM PRINT UNTIL CHR$(0)
250 POKE SS,7:REM START PLAYING MUSIC
260 IF PEEK(SS)AND7 GOTO 260:REM STILL PLAYING
270 SYS HU:REM HUSH
280 SYS DP:REM DROP (REMOVE)
290 END
57000 POKE SA,1:POKE SX,DN:POKE SY,1:SYS 65466:F$="SID.OBJ.64":GOSUB 59000
57010 POKE SA,0:SYS 65493:IF PEEK(SP)AND1 GOTO 59100
57020 SS=49152:FL=49153:HK=49615:PL=49664:HU=49897:DP=49935:RETURN
57500 POKE SA,1:POKE SX,DN:POKE SY,0:SYS 65466:F$=F$+".MUS":GOSUB 59000
57510 HI=INT(LA/256):LO=LA-256*HI
57520 POKE SA,0:POKE SX,LO:POKE SY,HI:SYS 65493:IF PEEK(SP)AND1 GOTO 59100
57530 LA=PEEK(SX)+256*PEEK(SY):RETURN
59000 FOR K=1 TO LEN(F$):POKE 584+K,ASC(MID$(F$,K)):NEXT
59010 POKE SA,LEN(F$):POKE SX,73:POKE SY,2:SYS 65469:RETURN
59100 P=PEEK(SA):PRINT " ERROR: ";:IF P=4 THEN PRINT "FILE NOT FOUND":END
59110 IF P=5 THEN PRINT "DEVICE NOT PRESENT":END
59120 PRINT ST:END



My modified version of BASIC PLAYER.64 (only added lines) for CGSC_Timer.exe

The additions made are quite simple, but very effective :-)

200: F$="000010001"
- (This was originally COMMODORE, but changed it into something unique).

251: TIME$="000000"
- (Reset internal clock of Commodore 64 to hhmmss, just before it starts playing).

281: PRINT "DONE PLAYING!"
- (Just added to certify playback was ended).

282: PRINT TIME$
- (Just added to certify playback timer counter).

283: OPEN2,8,4,"TIMER,SEQ,W"
- (Open up to write a SEQ file called "TIMER" to local PC directory for Vice).

284: PRINT#2,TIME$
- (Simply write out the hhmmss timer value).

285: CLOSE 2
- (and close the file).

200 F$="000010001":LA=PEEK(49)+256*PEEK(50)+1000:GOSUB 57500:REM LOAD SONG

251 TIME$="000000"

281 PRINT "DONE PLAYING!"
282 PRINT TIME$
283 OPEN2,8,4,"TIMER,SEQ,W"
284 PRINT#2,TIME$
285 CLOSE 2



My modified version of BASIC PLAYER.64 for playback & recording

Based on the exact original source as shown above for "BASIC PLAYER.64", I simply added a line to set screen to black, text to black, screen off and clear previous keyboard buffer (as it was used in my MMC64 loader).

In addition I did a COLD RESET (SYS) as I figured out that after regular reset, the SD2IEC card loader took a long time to load again for some reason. This is called straight after the SID PLAYER had played until the end.

101 POKE 53280,0:POKE 53281,0:POKE 53265,11:POKE 198,0
281 SYS 64738

This will ensure that the VIC chip is turned off and thus hopefully reduce the noise a bit more during playback and recording :-). The same exact thing was done with HVSC collection during the conversion of SID to PRG with PSID64 and its "--blank-screen" option.

Then I created my own unique modifed version of each player to load the same corrosponding .MUS file (filename as xxxxxxxxx.mus and xxxxxxxx.prg) and copied everything over to a SDCARD to my SD2IEC device and started recording with my own SIDREC tool as done with HVSC collection.



On 23th of July 2016, the statistics are:

As a result of everything done above, we can estimate the following playtime AND recording time needed to playback or record the current CGSC collection:

MUS Files: 11104
Total Minutes: 29551
Total Hours: 492
Total Days: 20.

Since we do have 4 chips to perform, the total days of recording time will be 80 days (at least), which is approx 2.5 months.



Some screenshots of various techniques used for planning the recordings


My own "CGSC_Timer.exe" playback detector in progress. During about 1 day or so, all the 14397 .MUS files were played back in Vice (NTSC, WARP MODE) with modified "basic player.64" to allow using the basic variable "TIME$" to act as a timer.

After the song ended normally, the value were saved out in a file and picked up by my own tool.

The end results are available below. For the first time ever in history, this might be the only complete CGSC Songlengths.txt file there exists (its format is the same as HVSC).

When finetuned, I will release the software to public to allow scan of newly added MUS songs to the CGSC collection. Naturally I will do the same as long as the recording project is going on.

Enjoy!



Contents of the CGSC\00_Commodore64\MusicSys.d64

The files "BASIC PLAYER.64", "SID.OBJ.64" where copied off and included into my own CGSC_Timer.exe package.

The "BASIC PLAYER.64" was modifed slightly to allow TIME$ to time the playback until the end, in which the timer value "hhmmss" was saved and picked up by my tool (see original and modifed basic source above).



This is an screenshot automatically taken of all MUS files during its playback. MUS can have 5 lines of PET ASCII text and/or colors and symbols, creating cool ASCII art.

Song shown is CGSC/John_Meyers_-Diskdriver-/Hymne.mus

This screenshot will be embedded into every MP3 and FLAC recording as a bonus :-)




Please review these related article links:
Click to open urlCGSC Homepage (Compute's Gazette Sid Collection)
Click to open txtStone Oakvalley's CGSC Songlengths.txt (same format as HVSC) for single MUS v130
Click to open txtStone Oakvalley's CGSC Songlengths.txt (same format as HVSC) for single MUS v131
Click to open txtStone Oakvalley's CGSC Songlengths.txt (same format as HVSC) for single MUS v132
Click to open txtStone Oakvalley's CGSC Songlengths.txt (same format as HVSC) for single MUS v133
Click to open txtStone Oakvalley's CGSC Songlengths.txt (same format as HVSC) for single MUS/STR files v130
Click to open txtStone Oakvalley's CGSC Songlengths.txt (same format as HVSC) for single MUS/STR files v131
Click to open txtStone Oakvalley's CGSC Songlengths.txt (same format as HVSC) for single MUS/STR files v132
Click to open txtStone Oakvalley's CGSC Songlengths.txt (same format as HVSC) for single MUS/STR files v133


------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Posted by: Old-schooler, Stone Oakvalley | Publisher: Crazy Multi Talent, Stone Oakvalley
Last revised: December 07, 2022 - 17:33 | Page views: 3865


Website Design by post@stone-oakvalley-studios.com - Copyright © 2024 www.stone-oakvalley-studios.com