Na codzien uzywam Linuxa, wiec wszystko bylo robione na tym systemie.
Wszystkie uzyte narzedzia dostepne sa takze na Windows.
1. Konwersja WAV do TAP
http://www.zimmers.net/anonftp/pub/cbm/crossplatform/transfer/datassette/tape64_source.ziphttp://www.zimmers.net/anonftp/pub/cbm/crossplatform/transfer/datassette/tape64_win32.zip./tape64 -i:Voicetracker\ V4.0\ from\ tape\ -\ 48000Hz\,\ 16Bit\,\ Mono.wav -or -r
2. Przeglad otrzymanego pliku TAP.
https://luigidifraia.wordpress.com/tag/tcfe/TAPClean version: 0.38
GENERAL INFO AND TEST RESULTS
TAP Name : ~/tap/Voicetracker V4.0 from tape - 48000Hz, 16Bit, Mono.tap
TAP Size : 245317 bytes (239 kB)
TAP Version : 1
Recognized : 22%
Data Files : 4
Pauses : 5
Gaps : 4
Magic CRC32 : B683B4DA
TAP Time : 1:38.76
Bootable : YES (1 part, name: VOICETRACKER V4)
Loader ID : n/a
Overall Result : FAIL
Header test : PASS [Sig: OK] [Ver: OK] [Siz: OK]
Recognition test : FAIL [53966 of 245297 bytes accounted for] [22%]
Checksum test : PASS [4 of 4 checksummed files OK]
Read test : PASS [0 Errors]
Optimization test : FAIL [0 of 4 files OK]
FILE FREQUENCY TABLE
UNRECOGNIZED (4)
PAUSE (23)
C64 ROM-TAPE HEADER (2)
C64 ROM-TAPE DATA (2)
3. Disassemblacja loadera:
Najwazniejsze fragmenty
T02FB .byte $00
T02FC .byte $04 ; adres startowy $0400
T02FD .byte $00
T02FE .byte $5F ; adres koncowy $5F00
T02FF .byte $06
T0300 .byte $C0,$02
........
STA $DD00
JSR $FD15
JSR $E453
LDA #$78
STA $2D
LDA #$0D
STA $2E
JMP $0400 JMP $A7C4
Czyli po odczytaniu pliku TAP przez Vice wykonywanie musi zostac zatrzymane przed wykonaniem skoku JMP $0400.
5. Uruchomienie Vice bez wczytywania pliku TAP i ustawienie w monitorze break $0400.
6. Wczytanie i uruchomienie pliku TAP, czekanie na zatrzymanie na break $0400 w monitorze.
7. Zapisanie zaladowanego pliku TAP za pomoca s "voicetracker" 0 400 5F00
8. Spakowanie zapisanego pliku do postacji automatycznie startujacej za pomoca exomizera
https://bitbucket.org/magli143/exomizer/wiki/Homehttps://csdb.dk/release/download.php?id=203632 exomizer sfx 0x400 voicetracker -o voicetracker.prg
THE END