OldComp.cz

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


Právě je 23.04.2024, 21:07

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 59 ]  Přejít na stránku 1, 2, 3, 4  Další
Autor Zpráva
 Předmět příspěvku: Samorozbalovací archivy pro Turbo 2000
PříspěvekNapsal: 05.01.2024, 14:47 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 31.08.2014, 16:27
Příspěvky: 1010
Bydliště: Praha
Has thanked: 64 times
Been thanked: 400 times
Na základě podnětů pro program TURGEN na fóru AtariAge, rozpracoval jsem myšlenku tzv. Samorozbalovacích archivů pro Turbo 2000.

Představte si, že si z nějakého důvodu chcete nahrát programy na kazetu, ale jediný magnetofon, který máte k dispozici je ten datový, co připojujete k Atari.
V takovém případě nelze TURGEN použít tradičním způsobem, protože chybí to nejdůležitější a zároveň nejhůře sehnatelné - obyčejný magnetofon.
Předpokládám, že jinak máte k dispozici SIO2PC, univerzální cartridge či podobné zařízení.

Pro řešení takové situace mne napadlo použít tzv. "samorozbalovací archiv". Samorozbalovací archiv je binárka (.xex), která v sobě obsahuje program co se má nahrát na kazetu a funguje takto:

1. Samorozbalovací archiv se zavede z univerzální cartridge, SIO2PC nebo i z fyzické diskety
2. K počítači připojíte magnetofon s úpravou Turbo 2000
3. Vložíte prázdnou kazetu, na magnetofonu stisknete press PLAY+RECORD.
4. Stisknete klávesu START

Samorozbalovací archiv může být užitečný také v situaci, kdy svoji hru distribuujete a chcete zákazníkovi dát možnost udělat si kazetovou verzi, bez toho, že byste mu museli posílat kazetu.

Vývoj myšlenky můžete sledovat zde na AtariAge.
Provedl jsem nějaké úspěšné zkoušky s emulátorem a se skutečným hardwarem.

Kdo by samorozbalovací archivy chtěl vyzkoušet a dát mi vědět jako to dopadlo? Přejděte na odkaz výše.

P.S. Princip samorozbalovacího archivu byl samozřejmě v minulosti již použit. Například kazetová verze zavaděče Universal Turbo se distribuovala ve formě tzv. generátoru, který na kazetu zapsal dva bloky ve standardu a jeden speciální turbo blok.


Nahoru
 Profil  
 
PříspěvekNapsal: 09.01.2024, 17:56 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 31.08.2014, 16:27
Příspěvky: 1010
Bydliště: Praha
Has thanked: 64 times
Been thanked: 400 times
Tak je to venku:
TURGEN 9.2.8 s podporou tvorby samorozbalovacích archivů.

A instruktážní video:
phpBB [video]


Nahoru
 Profil  
 
PříspěvekNapsal: 10.01.2024, 19:14 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 31.08.2014, 16:27
Příspěvky: 1010
Bydliště: Praha
Has thanked: 64 times
Been thanked: 400 times
Trochu jsem zkoumal, zda by bylo možné podporovat vyšší přenosové rychlosti - Super Turbo. A zjistil jsem, že by to nemuselo být až tak těžké.

Kopírovací program pro Super Turbo funguje totiž tak, že na základě zvolené přenosové rychlosti jednoduše natvrdo přepíše několik časovacích konstant v rutině pro záznam bloku, která je jinak stejná jako pro Turbo 2000.
Pomocí debuggeru snad bude možné zjistit, která místa se přepisují jakou hodnotou pro danou přenosovou rychlost. Pokud se to podaří, tak samorozbalovací archivy budou podporovat i Super Turbo a B-TAPE. Uvidíme, jaký bude zájem.


Nahoru
 Profil  
 
PříspěvekNapsal: 23.01.2024, 16:45 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 31.08.2014, 16:27
Příspěvky: 1010
Bydliště: Praha
Has thanked: 64 times
Been thanked: 400 times
Než se dostanu k vyšším přenosovým rychlostem, vydal jsem TURGEN 9.2.9, kde lze samorozbalovací archivy vytvořit také pro Dolnoslezské Turbo 2000 a Hard Turbo. Obojí z Polska. Implementace byla jednoduchá, protože tato
turba používají úplně stejný formát bloku jako čs. Turbo 2000 (což není náhoda, ale na začátku poctivá výpůjčka). Samorozbalovací archivy jako takové se moc nezměnily, jenom zobrazí příslušný typ turba.

Momentálně si brousím zuby ještě na polské Turbo Blizzard, protože zdrojový text jeho zařízení T: je volně k dispozici. Uvidíme, jak se mi podaří "vysekat" z něj rutinu na zápis jednoho bloku (tedy nejdůležitější kus kódu pro případný samorozbalovací archiv). Turbo Blizzard nemám moc rád - základní přenosová rychlost je podle mne nastavená zbytečně vysoko. Na druhou stranu, toto turbo bylo poměrně oblíbené a jeho programové vybavení (zavaděče, kopíráky) bylo na velmi vysoké úrovni. Pro kodéry může být zajímavé i jinak - k detekci šířky pulzů používá časovače a nikoliv jen prostou čekací smyčku.


Nahoru
 Profil  
 
PříspěvekNapsal: 26.01.2024, 19:05 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 31.08.2014, 16:27
Příspěvky: 1010
Bydliště: Praha
Has thanked: 64 times
Been thanked: 400 times
Co se týče podpory pro Super Turbo, tak jsem se při analýze kopírovacího programu k něčemu dopracoval.
Při změně rychlosti kopírovací program přepisuje celkem 11 hodnot. 10 hodnot určuje časovací konstanty pro šířky pulzů, 11. hodnota nastavuje délku zaváděcího tónu.
Podařilo se mi je celkem snadno korelovat se zdrojovým kódem.

Takže to dopadne asi takhle:
Vytvořím novou kostru samorozbalovacího archivu. Od kostry pro Turbo 2000 se bude poněkud lišit.
- Tabulka bloků bude mít položky dlouhé 5 bytů. Pátý byte bude vyhrazen na indikaci rychlosti - buď základní, nebo zvýšená. To je nutné, protože je potřeba podporovat předřazené zavaděče v základní rychlosti.
- Přidám rutinu na nastavení těch 11 hodnot zmíněných výše, podle pátého bytu v tabulce bloků.
- V archivu budou dvě tabulky pro časovací konstanty. Jedna pevná, pro základní rychlost 2270 bd, druhá tabulka pro rychlost zvýšenou. Tabulku hodnot pro zvýšenou rychlost bude v kostře doplňovat TURGEN, podle přenosové rychlosti zvolené v položce projektu
- Je jasné, že na vlastní bloky zbyde poněkud méně místa v paměti; nemělo by to být nic kritického. V nejhorším případě mohu jít trochu níže se zaváděcí adresou. Zatím je to 3072, lze jít ještě níže.

TURGEN upravím tak, aby pro zásuvné moduly B-TAPE a Super Turbo použil tuto novou kostru.
Pro začátek bude mít TURGEN tabulku pro rychlosti do 3200 bd, později i více.


Nahoru
 Profil  
 
PříspěvekNapsal: 28.01.2024, 22:05 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 31.08.2014, 16:27
Příspěvky: 1010
Bydliště: Praha
Has thanked: 64 times
Been thanked: 400 times
Do samorozbalovacích archivů se mi vloudila jedna chyba.

Po nahrání záznamu na kazetu je mezi hlavičkovým blokem a datovým blokem příliš dlouhá mezera. Zavaděče Universal Turbo (tedy třeba i VisiLoader) něco takového nemají rády, a pokud má magnetofon pomalejší "rozjezd" motoru, skončí to chybou při čtení dat. Zavaděče Turbo 2000 tímto problémem netrpí, protože po zobrazení jména souboru magnetofon zastaví a následující blok načtou jako kterýkoliv jiný blok.

Chyba se nemusí projevit každému, u mně se při testování s reálným hw neprojevila, u jiných uživatelů ano.
Dolnoslezské Turbo 2000 a Hard Turbo tímto problémem netrpí.

Na opravě chyby pracuji. Po prvním bloku se nebude vypínat motor a nebude se spouštět zpožďovací smyčka. Místo toho se zaznamená prodloužený zaváděcí tón.

Nejdříve jsem trochu hartusil na Universal Turbo zavaděče, ale pak mi došlo, že cílem bylo omezit zastavování magnetofonu uprostřed souboru a nenutit uživatele tisknout klávesu. Přesto, i bez zastavení motoru by to šlo vyřešit lépe.

Problém si můžete nasimulovat v emulátoru. Stačí TURGEN nastavit tak, aby mezi hlavičkou a datovým blokem bylo 10 sekund ticha. Universal Turbo zavaděč to poměrně rychle zabalí. Pak můžete zase naopak nastavit 0 sekund ticha a nastavit délku druhého zaváděcího tónu na maximum a zavaděč zafunguje bez problému.


Nahoru
 Profil  
 
PříspěvekNapsal: 29.01.2024, 16:20 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 31.08.2014, 16:27
Příspěvky: 1010
Bydliště: Praha
Has thanked: 64 times
Been thanked: 400 times
Na opravě se pracuje, v architektuře SFXek proběhlo několik změn:

1. Tabulka bloků má 5bajtové položky. Pátý byte je vyhrazen na příznaky, např. žádná mezera za blokem, nebo prodloužený zaváděcí tón. Stejně to bude potřeba pro Super Turbo.
2. Motor magnetofonu se zapíná na začátku a vypíná na konci celého záznamu. Tak není záznam zbytečně narušován "šoky" z opakovaných rozjezdů po každém bloku.
3. Při záznamu obrazovka nebliká. Na začátku záznamu zhasne a po jeho skončení se rozsvítí.
4. Zaváděcí adresa byla snížena na $0B80, což by nemělo ničemu vadit. Kapacita archivu je teď asi o 100 byte vyšší, i při zvýšené složitosti kódu.

Pokud by někdo chtěl testovat, přikládám archiv se hrou Diamondz.


Přílohy:
sfx_ng_diamondz_blockloading.zip [27.8 KiB]
17 krát
Nahoru
 Profil  
 
PříspěvekNapsal: 30.01.2024, 11:01 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 31.08.2014, 16:27
Příspěvky: 1010
Bydliště: Praha
Has thanked: 64 times
Been thanked: 400 times
Videa z živou ukázkou jak se zavádí programy nahrané na kazetu pomocí samorozbalovacího archivu zde:
https://forums.atariage.com/topic/309140-turgen-system-88x-adventures/?do=findComment&comment=5399498
Ano, je to ten můj proslavený 2,5palcový monitor. Mám ještě 12palcový, ale na nějaké to rychlé testování je ten malý pořád dobrý.


Nahoru
 Profil  
 
PříspěvekNapsal: 01.02.2024, 17:20 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 31.08.2014, 16:27
Příspěvky: 1010
Bydliště: Praha
Has thanked: 64 times
Been thanked: 400 times
Trochu jsem zapracoval na podpoře pro Super Turbo. Jak jsem již napsal, je to maličko složitější, protože takový samorozbalovací archiv musí podporovat nejen zvýšenou, ale i základní rychlost. Na to je potřeba jak podpora v kostře SFXka, tak v TURGENu. Nicméně zdá se, že se zadařilo. Kapacita archivu se snížila jen o 128 bytů.

Přikládám balíček se dvěma samorozbalovacími archivy.
Jeden rozbalí hru Incoming, a zaznamená ji v základním formátu Super Turbo.
Druhý rozbalí hru Diamondz, a to v systému BlockLoading. Zavaděč BlockLoader je zaznamenám v základní rychlosti, zbytek hry pak v rychlosti zvýšené. Je to tedy ukázka kombinace přenosových rychlostí.

Oba záznamy se normálně dají zavést a spustit jen s pomocí Universal Turbo zavaděče, na hru Diamondz dokonce stačí i obyčejný Turbo 2000 zavaděč.

Přidat podporu pro B-TAPE už bude jen laskomina. Pracnější bude přidat podporu pro všechny zvýšené rychlosti - znamená to mít puštěný Universal Turbo kopírák v debuggeru, mačkat SELECT a zapisovat časovací konstanty pro každou rychlost. Tento proces automatizovat nebudu, protože ho stačí provést jen jednou. Tabulku, pokud bude někoho zajímat, bude možné dohledat ve zdrojovém textu zásuvného modulu Super Turbo pro TURGEN.

A ještě jedna poznámka na konec.
Pokud používáte speciální formáty - BlockLoading, ChainLoading, ExpressLoading, pak vězte, že jejich správná funkce je závislá na tom, zda váš datový magnetofon respektuje signál MOTOR CTRL.
To znamená, že při stisknuté klapce PLAY je počítač schopen řídit zda se kazeta točí nebo ne. To je výchozí, žádoucí a tovární stav.

Vím, že množství Ataristů mělo magnetofon upravený tak, aby signál MOTOR CTRL nerespektoval a točil kazetou vždy, když je klapka PLAY stisknutá. To samozřejmě zabraňovalo situacím, kdy je čtecí hlava dlouhodobě přitisknutá k pásku, který se nepohybuje. Magnetofon je tak ovšem zbaven dosti důležité funkce. Jednou mi někdo mylně tvrdil, že je to normální součást úpravy na Turbo 2000. Ne, není.


Přílohy:
super_turbo_sfx.zip [32.3 KiB]
15 krát
Nahoru
 Profil  
 
PříspěvekNapsal: 02.02.2024, 14:34 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 31.08.2014, 16:27
Příspěvky: 1010
Bydliště: Praha
Has thanked: 64 times
Been thanked: 400 times
Další nášup. Tentokrát testovací archivy pro zvýšené rychlosti přenosu (kolem 3000 bps).
Jedna hra v klasickém Super Turbu a Druhá v B-TAPE (samozřejmě s předřazeným binárním zavaděčem v Turbu 2000).


Přílohy:
tsfx_faster.zip [14.01 KiB]
16 krát
Nahoru
 Profil  
 
PříspěvekNapsal: 05.02.2024, 13:48 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 31.08.2014, 16:27
Příspěvky: 1010
Bydliště: Praha
Has thanked: 64 times
Been thanked: 400 times
Přes víkend jsem provedl důkladnou kontrolu funkčnosti všech nedávno zveřejněných SFXek na své Atari sestavě. A všechno za zapsalo a zpětně přečetlo bez problémů.
To je dobrá zpráva, samozřejmě.

Do nového vydání programu TURGEN ještě zbývá pár maličkostí:
  • Prodloužit standardní mezeru mezi bloky z 0.5 na 0.75 sekundy.
  • Při generování názvů SFX volitelně možnost připojovat kód zásuvného modulu (t2k, st, t2kb, btape, om), tak aby bylo zřejmé co v SFX je. Samozřejmě jen při volbě dlouhých názvů.
  • Přidat podporu pro další zvýšené rychlosti. Zatím jsem se při opisování tabulky zasekl někdo kolem 3600 bps.
  • Zatím platí, že co vybraná položka projektu, to jeden nebo více SFX. Zvažuji volitelně možnost vygenerovat jeden "obrovský SFX" pro více položek projektu. Představte si, vložíte kazetu, z univerzální cartridge pustíte SFX a za půl hodiny bude celá strana kazety nahraná. Samozřejmě na to musíte mít dostatečně schopnou univerzální cartridge, nebo třeba SIO rozdvojku.
  • Počkat až se někdo z Oldcomp.cz ozve, že SFX úspěšně vyzkoušel.


Nahoru
 Profil  
 
PříspěvekNapsal: 06.02.2024, 11:00 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 31.08.2014, 16:27
Příspěvky: 1010
Bydliště: Praha
Has thanked: 64 times
Been thanked: 400 times
Tady je k vyzkoušení tzv. Jumbo SFX. Má v sobě dvě hry.
Stačí spustit, stisknout START a počkat dokud obě hry nezapíše na kazetu a ohlásí, že je vše zapsáno.


Přílohy:
jumbo.zip [12.18 KiB]
14 krát
Nahoru
 Profil  
 
PříspěvekNapsal: 06.02.2024, 12:34 
Offline
Kecálek

Registrován: 14.06.2022, 08:58
Příspěvky: 133
Has thanked: 61 times
Been thanked: 105 times
baktra píše:
Tady je k vyzkoušení tzv. Jumbo SFX. Má v sobě dvě hry.
Stačí spustit, stisknout START a počkat dokud obě hry nezapíše na kazetu a ohlásí, že je vše zapsáno.


tý brďo, to je ale dobrej nápad, udělat jeden mega turbo SFX soubor, který se zapíše rovnou celý v jednom kuse na kazetu :) a v turgenu si jen zvolíš jestli máš 30 min nebo 45 min na stranu, naházíš tam jen xexy a on ti to celé sám připraví a ty to pak jen z AVG cartu spustíš a ono ti to tu kazetu nahraje :)


Nahoru
 Profil  
 
PříspěvekNapsal: 06.02.2024, 16:48 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 31.08.2014, 16:27
Příspěvky: 1010
Bydliště: Praha
Has thanked: 64 times
Been thanked: 400 times
poison píše:
baktra píše:
Tady je k vyzkoušení tzv. Jumbo SFX. Má v sobě dvě hry.
Stačí spustit, stisknout START a počkat dokud obě hry nezapíše na kazetu a ohlásí, že je vše zapsáno.


tý brďo, to je ale dobrej nápad, udělat jeden mega turbo SFX soubor, který se zapíše rovnou celý v jednom kuse na kazetu :) a v turgenu si jen zvolíš jestli máš 30 min nebo 45 min na stranu, naházíš tam jen xexy a on ti to celé sám připraví a ty to pak jen z AVG cartu spustíš a ono ti to tu kazetu nahraje :)

Při současném stavu vývoje to už vlastně jde. Prozatím bez toho chytrého rozdělování po 30 či 45 minutách, ale i to se třeba jednou dodělá. Zatím se musí chytře využívat funkce Preview.

Změnil jsem trošku terminologii, místo lehce infantilního, i když přiléhavého "Jumbo" jsem přešel na nudnější "Composite". Chce to mít schopnou univerzální cartridge (s velkým limitem na velikost .XEXu) nebo SIO rozdvojku. Jinak pokud to není zřejmé, v rámci jednoho kompozitního archivu může být různorodá směsice souborů, jeden třeba Turbo 2000, druhý B-TAPE a třetí třeba SUPER TURBO. Je to tím, že kompozitní soubor není nic než hromada natvrdo pospojovaných SFXek s extra úvodním a koncovým segmentem.

To vše nahrává pohodlné tvorbě SFXek tímto postupem:
1. Přetáhnout hromadu .XEXů do okna TURGENu, což spustí průvodce (jen málo uživatelů ví, že něco takového jde už několik let udělat)
2. Odklikání průvodce
3. Výběr několika či všech položek projektu
4. Tvorba SFX

Proč mne myšlenka na SFXka nenapadla dříve???


Nahoru
 Profil  
 
PříspěvekNapsal: 06.02.2024, 17:16 
Offline
Kecálek

Registrován: 14.06.2022, 08:58
Příspěvky: 133
Has thanked: 61 times
Been thanked: 105 times
Každý génius potřebuje občas popostrčit jiným . . . noo tak nemáš zač ;-)

já se k testování asi dostanu teď o víkendu, když žena bude s kámoškama na pařbě, takže bych si mohl zkusit jednu celou kazetu nahrát :)
to bude zase atari copy párty :)


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ů: 59 ]  Přejít na stránku 1, 2, 3, 4  Další

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 4 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