OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů


Právě je 28.03.2024, 17:21

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 12 ] 
Autor Zpráva
PříspěvekNapsal: 05.02.2015, 21:10 
Offline
Pan Štábní

Registrován: 29.06.2013, 16:52
Příspěvky: 1611
Has thanked: 31 times
Been thanked: 357 times
Uplynulo už několik let, co se pro ZX začaly vyrábět různé zvukové interface s čipem SAA1099 (převzaté zapojení ze SAM COUPÉ). Hardware je už dávno dostupný ale se software nic moc. Hudby ze sama jsou vykradené a naimportované do ZX. Ke stažení u mě na webu je jen pár tapek. Rusové mají prakticky všechny hudby převedeny do TRD disket, kde jsou součástí různých přehrávačů. Obojí se dá ale spustit i na divide s ESXDOSem. Me se ale nezamlouvá absence přehrávače SAA hudeb na ZX a také fakt, že nikde není popsaný formát souboru, podle kterého by se dal typ detekovat. Tak jsem v emulátoru pád hudeb zkompiloval, porovnal obsahy souborů, atd...

Přehrávací hradlo je vždy stejné (liší se jen pokud ho zkompilujete na jiné adresy v ram) a zabírá 1203 bytes. Hradlo máme umístěné řekněme od adresy 40000. Hned za něj stačí nahrát hudební data z ETRACKERu (logicky už bez hradla). Po nahrání hudebních dat je třeba ověřit jestli jde o hudbu. Prvních 10 znaků netestujeme, dalších 20 znaků musí obsahovat řetězec "ETracker (C) BY ESI.". Pokud tam řetězec není, nejde o data z E-TRACKERu a hudbu nelze přehrát. Je-li řetězec nalezen, můžeme začít přehrávat:
- Jako první je třeba provést INIT/vypnutí zvuku zavoláním přehrávacího hradla od adresy 40000 ( CALL 40000 )
- a teď už je to stejné jako při přehrávání AY hudby. Každé přerušení voláme adresu 40006 ( CALL 40006 ) stále dokola.
- pokud budeme chtít hudbu ukončit, stačí zavolat INIT ( CALL 40000 )

Rutinu detekce řetězce mám hotovou, přehrávací hradlo mám připravené a všechny hudby z E-TRACKERu mám jako čistá data bez hradla(kolem 500 hudeb). Krok za krokem odzkoušeno a funguje. Už jen to slepit a je z toho jednodušší přehrávač hudeb z E-TRACKERu. Jen vymyslet typ hudebních souborů - zě by SAA, nebo ETR ? Přehrává to jen a pouze hudby z e-trackeru, ale to jsou vlastně téměř všechny ze sama.

Jako první mě napadla možnost vytvořit nový příkaz ESXDOSu, který by hudbu pro SAA přehrál. Akorát by tomu stejně chyběl komfort. Pro přehrání každé hudby by se muselo v basicu napsat třeba .PLAYSAA POPCORN.SAA To je ale neskutečný opruz a ještě je to zdlouhavé. Délka hudebních dat se pohybuje v průměru kolem 3kB, ale jsou zde daleko větší až 14kB. Takový soubor by se ramky divide nevešel (esxdos má pro příkaz jen 7 kB vymezené vlastní ram).

_________________
http://velesoft.speccy.cz/


Nahoru
 Profil  
 
PříspěvekNapsal: 05.02.2015, 23:37 
Offline
Óm Nejvyšší

Registrován: 16.06.2014, 12:23
Příspěvky: 3676
Bydliště: Jesenice u Prahy
Has thanked: 28 times
Been thanked: 280 times
Jak je to s dostupností SAA1099 ?

_________________
Diagnóza: Touretteův syndrom, Koprolálie, Dyslexie, Obsedantně kompulzivní porucha.
Kalkulačky: Privileg PR56, TI51-III, TI57, TI58, TI59, TI83, TI-83 Premium CE, TI89
Počítadla: BOBO64, ZX48 plus, DG-88, Didaktik-M, C16, C64C, Amiga 500+, MZ800, MUPID C2A2


Nahoru
 Profil  
 
PříspěvekNapsal: 06.02.2015, 00:20 
Offline
Pan Štábní

Registrován: 29.06.2013, 16:52
Příspěvky: 1611
Has thanked: 31 times
Been thanked: 357 times
danhard píše:
Jak je to s dostupností SAA1099 ?


Cina nebo Ebay. Stoji asi 50 Kc kus.

Jo a abych nezapomel, tady je nova TAPka (ma 1.5MB) obsahujici hudebni hradlo e-trackeru + 589 hudeb. (ENTER = další)
http://velesoft.speccy.cz/samcoupe/saa1099/e-t-music.rar

_________________
http://velesoft.speccy.cz/


Nahoru
 Profil  
 
PříspěvekNapsal: 06.02.2015, 01:27 
Offline
Óm Nejvyšší

Registrován: 16.06.2014, 12:23
Příspěvky: 3676
Bydliště: Jesenice u Prahy
Has thanked: 28 times
Been thanked: 280 times
To jde, myslel jsem jestli to nemá cenu nějak "digitalizovat", ale asi ne.

_________________
Diagnóza: Touretteův syndrom, Koprolálie, Dyslexie, Obsedantně kompulzivní porucha.
Kalkulačky: Privileg PR56, TI51-III, TI57, TI58, TI59, TI83, TI-83 Premium CE, TI89
Počítadla: BOBO64, ZX48 plus, DG-88, Didaktik-M, C16, C64C, Amiga 500+, MZ800, MUPID C2A2


Nahoru
 Profil  
 
PříspěvekNapsal: 06.02.2015, 05:48 
Offline
Pan Generální
Uživatelský avatar

Registrován: 11.06.2013, 15:27
Příspěvky: 3025
Has thanked: 2192 times
Been thanked: 894 times
danhard píše:
To jde, myslel jsem jestli to nemá cenu nějak "digitalizovat", ale asi ne.


Cenu to mozna ma: SAA je sestikanalovy, ale jeho registry jsou pripraveny na kanalu 8.

_________________
// na co myslím, když sedím u oldkompů: Blood Products from Genetic Vaccine Recipients


Nahoru
 Profil  
 
PříspěvekNapsal: 06.02.2015, 08:43 
Offline
Radil
Uživatelský avatar

Registrován: 13.05.2013, 17:48
Příspěvky: 529
Bydliště: Košice
Has thanked: 423 times
Been thanked: 265 times
VELESOFT píše:
Jo a abych nezapomel, tady je nova TAPka (ma 1.5MB) obsahujici hudebni hradlo e-trackeru + 589 hudeb. (ENTER = další)
Máš, prosím ťa, zdrojový kód toho hradla?

_________________
https://pmd85.borik.net - PMD 85 Emulátor, PMD 85, PMD 32-SD
https://pp01.borik.net - PP 01 Emulátor, PP 01, SD-ROM Modul


Nahoru
 Profil  
 
PříspěvekNapsal: 06.02.2015, 10:34 
Offline
Pan Štábní

Registrován: 29.06.2013, 16:52
Příspěvky: 1611
Has thanked: 31 times
Been thanked: 357 times
rombor píše:
VELESOFT píše:
Jo a abych nezapomel, tady je nova TAPka (ma 1.5MB) obsahujici hudebni hradlo e-trackeru + 589 hudeb. (ENTER = další)
Máš, prosím ťa, zdrojový kód toho hradla?


Nemam disass. Funkcni hradlo mas v priloze zkompilovane od adresy 50000 a s delkou 1203 bytes. Hudebni data pak musis umistit od adresy 51203. Kdo se v tom chcete stourat, jak je libo.

Uploadnul jsem tu TAPku s hudbama. Ta predchozi verze jen naslepo brala kazdy soubor jako hudebni data bez overeni. Nova TAP ma pridanou 45bajtu dlouhou rutinu, ktera detekuje jde-li skutecne o hudebni data z e-trackeru (podiva se jestli je od 11. bajtu textovy retezec E-Tracker....). Pokud dojde k podstrceni spatneho souboru, detekci neprojde a zkusi nahrat dalsi hudbu v poradi.


Přílohy:
ETRACKER_50000,1203.zip [1020 bajtů]
495 krát

_________________
http://velesoft.speccy.cz/
Nahoru
 Profil  
 
PříspěvekNapsal: 06.02.2015, 16:20 
Offline
Radil
Uživatelský avatar

Registrován: 13.05.2013, 17:48
Příspěvky: 529
Bydliště: Košice
Has thanked: 423 times
Been thanked: 265 times
VELESOFT píše:
Nemam disass. Funkcni hradlo mas v priloze zkompilovane od adresy 50000 a s delkou 1203 bytes. Hudebni data pak musis umistit od adresy 51203. Kdo se v tom chcete stourat, jak je libo.
Ja som sa mylne domnieval, že máš zdrojové kódy od samotného hradla a prekladal si ho podľa potreby na zvolenú adresu. Neuvedomil som si, že si rutinu pravdepodobne generuješ priamo v ETrackeri na Samovi.
Nevadí, aj tak vďaka.

_________________
https://pmd85.borik.net - PMD 85 Emulátor, PMD 85, PMD 32-SD
https://pp01.borik.net - PP 01 Emulátor, PP 01, SD-ROM Modul


Nahoru
 Profil  
 
PříspěvekNapsal: 06.02.2015, 17:28 
Offline
Pan Generální
Uživatelský avatar

Registrován: 11.06.2013, 15:27
Příspěvky: 3025
Has thanked: 2192 times
Been thanked: 894 times
A nepostačí soubory etplayer.asm, saaplayer.asm apod.
ze zdrojáků od Micka?

http://micklab.narod.ru/ZXMSoundCard.htm#soft

;--------------------------------------------------------------------
; Описание: Проигрывающий модуль музыкального редактора E-Tracker
; портирован с компьютера Sam Coupe
; Автор порта: Тарасов М.Н.(Mick),2010
;--------------------------------------------------------------------
;-------------------------------------------------------------------
; описание: Инициализация проигрывателя
; параметры: нет
; возвращаемое значение: нет

_________________
// na co myslím, když sedím u oldkompů: Blood Products from Genetic Vaccine Recipients


Nahoru
 Profil  
 
PříspěvekNapsal: 26.03.2015, 19:06 
Offline
Pan Štábní

Registrován: 29.06.2013, 16:52
Příspěvky: 1611
Has thanked: 31 times
Been thanked: 357 times
Stahujte znovu (stejny link) opravenou verzi tapky. Detekce ETrackerackych souboru probihala chybne a nektere hudby nebylo mozne prehrat. Konkretne treba hudba 293. Ted uz to snad pojede dobre. Problem byl v tom, ze jsem v souboru hledal od desateho bajtu jen presny textovy retezec a bohuzel nektere hudebni soubory tam maji mensi rozdil (v textu za "ETracker" nemaji nekdy mezeru a nekdy zase jo). Nova rutina hleda jen text "ETracker" a to ji staci. Prilozil jsem take zdrojak detekcni rutiny s assemblerem prometheus a dale i TXT soubor s popisem nazvu skladeb (takto jsem to dostal od MICKa ze ZX.PK.RU).

http://velesoft.speccy.cz/samcoupe/saa1099/e-t-music.rar

_________________
http://velesoft.speccy.cz/


Nahoru
 Profil  
 
PříspěvekNapsal: 27.03.2015, 08:24 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3642
Bydliště: Bratislava
Has thanked: 371 times
Been thanked: 788 times
VELESOFT píše:
Jako první mě napadla možnost vytvořit nový příkaz ESXDOSu, který by hudbu pro SAA přehrál. Akorát by tomu stejně chyběl komfort. Pro přehrání každé hudby by se muselo v basicu napsat třeba .PLAYSAA POPCORN.SAA To je ale neskutečný opruz a ještě je to zdlouhavé. Délka hudebních dat se pohybuje v průměru kolem 3kB, ale jsou zde daleko větší až 14kB. Takový soubor by se ramky divide nevešel (esxdos má pro příkaz jen 7 kB vymezené vlastní ram).
A musi vyuzivat iba tych 7kB ? Nemohol by si alokovat miesto v basicu tak, ako to robi napr. kopirovanie pomocou MOVE v MDOSe ?


Nahoru
 Profil  
 
PříspěvekNapsal: 27.03.2015, 17:37 
Offline
Pan Štábní

Registrován: 29.06.2013, 16:52
Příspěvky: 1611
Has thanked: 31 times
Been thanked: 357 times
Busy píše:
VELESOFT píše:
Jako první mě napadla možnost vytvořit nový příkaz ESXDOSu, který by hudbu pro SAA přehrál. Akorát by tomu stejně chyběl komfort. Pro přehrání každé hudby by se muselo v basicu napsat třeba .PLAYSAA POPCORN.SAA To je ale neskutečný opruz a ještě je to zdlouhavé. Délka hudebních dat se pohybuje v průměru kolem 3kB, ale jsou zde daleko větší až 14kB. Takový soubor by se ramky divide nevešel (esxdos má pro příkaz jen 7 kB vymezené vlastní ram).
A musi vyuzivat iba tych 7kB ? Nemohol by si alokovat miesto v basicu tak, ako to robi napr. kopirovanie pomocou MOVE v MDOSe ?


V novem esxdosu uz bude prehravani hudebnich souboru i primo z filebrowseru. A jak vsichni vime, do browseru se leze skrze NMI tlacitko a to funguje ikdyz bezi nejaka hra/program. Takze basic casto byva uplne pryc, nebo nema misto v ram. Vysledek by byl takovy, ze by prehravani vetsich souboru jak 6kB fungovalo jen nekdy (za danych okolnosti). Ja bych navrhoval lepsi reseni. A sice:
- esxdos pri stisku NMI tlacitka (pred vstupem do browseru) musi nejprve zazalohovat ZX videoram (7kB) na disk do souboru, protoze cela ram divide je uz obsazena. V pripade DIVMMC s rozsirenou pameti se nemusi zalohovat do souboru, ale zalohuje se primo do rozsirene pameti, ktere je v drtive vetsine vzdy 512kB. Ja bych videl jako lepsi reseni zazalohovat rovnou celych 48kB zx ram do teto pameti (bleskove pomoci LDI(R) ) a zx ramku pak vyuzit pro potreby systemu, ci pro prikazy, proste jak bude treba. Pred navratem z browseru se zase obnovi celych 48kB zx ram a preruseny program nic nepozna. Zalohovani u klasickeho divide pripada v uvahu jen do souboru.

_________________
http://velesoft.speccy.cz/


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 12 ] 

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 5 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz