Jednotný formát emulátoru - Unified Emulator Format

Jednotný formát emulátoru
Přípona názvu souboru
.uef
Typ internetového média
aplikace / oktetový proud
Magické čísloSoubor UEF!
VyvinulThomas Harte
První vydánípřed 10. srpnem 2000[1]
Poslední vydání
0,10 ponor 28
(10. ledna 2006)
Typ formátuPočítačová emulace
Kontejner pro8bitová počítačová data
webová stránkahttp://electrem.emuunlim.com/UEFSpecs.htm

Jednotný formát emulátoru (UEF) je formát kontejneru pro stlačený skladování zvukové pásky, ROMy, diskety a snímky stavu stroje pro 8bitovou řadu počítačů vyráběných společností Počítače žaludů. Nejprve implementováno Thomasem Harte Elektr emulátor a související nástroje, je nyní podporován hlavními emulátory strojů Acorn a přenášen dvěma online archivy softwaru Acorn čítajícími tisíce titulů.

UEF se pokouší výstižně reprodukovat signály nesené médii, spíše než jen jimi reprezentovaná data, záměr je přesný archiv spíše než jen schopnost reprodukovat soubory na nich uložené. Výběr z metadata mohou být zahrnuty, například hodnocení kompatibility, značky polohy, obrázky balení a text návodů k použití.[2]

Stroje Acorn implementují Kansas City standard (KCS) pro kódování dat na pásku a ve výsledku je formát souboru vhodný pro vytváření zálohy originálního média pro několik strojů jiných než Acorn. Od verze 0.10 má formát souboru ZÁKLAD signály také.

TZX je blokový formát s podobným rozsahem pro ZX Spectrum série.[3]

Dějiny

Před vývojem UEF byly archivy počítačového softwaru Acorn na internetu Celosvětová Síť přijal úmluvu o hostování ZIP archivy nezpracovaných souborů na pásku, každý nezpracovaný soubor doprovázen a přívěsný vozík, s prodloužením .inf, přenášející adresy zátěže a spuštění z hlavičky souboru. Konvence INF popsaná a implementovaná Wouterem Scholtenem v bbcim (1995) rozšiřuje výstupní formát souboru * INFO příkaz (žalud DFS, ADFS ) na krytí CRC a pořadí souborů na pásku.[4] I když funguje adekvátně pro ukládání uživatelských souborů, nezachová baud rychlost záznamu, přesné informace o načasování nebo nestandardní datové toky použité v titulech chráněných proti kopírování.

V případě softwaru založeného na disku bylo stále pohodlnější místo toho poslat sektorovou skládku disku a v době zavedení UEF přípony souborů .ssd a .dsd již byly stanoveny pro jednostranné a oboustranné nezpracované obrazy disků DFS. Distribuovány holé nebo v ZIP archivu zůstávají populární na archivních webech.

Cíle

V příspěvku z roku 2010 na fóru Stardot Harte zdlouhavě vysvětlil své důvody pro vytvoření formátu: Harte chtěl jako první řešit emulaci Acorn Electron a jeho primárního média, pásky, jemně zrnité a technicky optimální zastoupení médií, ve srovnání se stávajícími formáty ad hoc; a zabalit více mediálních prvků vydání softwaru do jednoho souboru, takže stahování UEF je „spíš jako získání původního produktu“.[5] Dále poznamenal, že to byly právě používané nástroje a „uživatelská potřeba“, které určovaly skutečné využití, k němuž se UEF dostal.

Struktura

Soubor UEF se skládá z pevné délky záhlaví který se identifikuje, následovaný a spojový seznam z kousky obsahující zájmové údaje. Záhlaví obsahuje kouzlo tětiva Soubor UEF!, ukončení nulový znak a číslo dvoubajtové verze použité specifikace UEF. Aplikace pro čtení musí věnovat pozornost číslu verze, protože měrná jednotka v některých blocích se liší podle verze specifikace a jeden blok byl předefinován mezi verzemi.

Každý blok se skládá ze dvou bajtů ID který určuje jeho význam, délka těla ve čtyřech bajtech a tělo sám. Aplikace může snadno přeskočit těla bloků, které nemusí zpracovávat. Po posledním bloku soubor jednoduše končí. V současné době se bloky UEF nehnízdí.

Celý soubor UEF, včetně záhlaví, může být volitelně komprimován gzip formát. Prozkoumáním začátku souboru pro záhlaví gzip nebo UEF lze podle potřeby vyvolat dekompresní knihovnu.

Obsah

Software Unified Emulator Format modeluje software na kazeta jako souvislá posloupnost segmentů, které mohou být nosné tóny, modulovaný asynchronní signály běžných datových bloků, bezpečnostní cykly (modulované synchronní signály, o kterých se říká, že jsou „identifikačními prvky“[2]) nebo mezery kde není přítomen žádný rozpoznaný signál. Tape UEF chunks are concatenated in the order they appear, to build up the representation of a whole recording. Když jsou generovány z pásky skutečného zdroje, každý tvar vlny na pásku odpovídá přímo bloku pásky, takže lze zdroj přesně rekonstruovat (s libovolnými nekódovatelnými signály nahrazenými mezerami stejné délky.)

Standardní streamy žaludů (ID bloku: 0x0100) jsou kódovány tak, aby se jejich bajty znovu objevily v těle bloku UEF. Od verze 0.10 je přímá podpora rozšířena na všechny asynchronní formáty (0x0104) včetně 8, N, 2 formát BASICODE. Jinak existuje obecný blok (0x0102), který pojme libovolnou sekvenci bitů. Chunky vln zabezpečení (0x0114) také nesou bitové toky kódované v jiné formě, aby bylo možné reprezentovat poloviční délku jednoho bitu pozorovaného v komerčních záznamech.

Interpretaci těchto bloků ovlivňují některé modální proměnné: přenosová rychlost, 1200 baudů pro signály Acorn nebo 300 baudů pro KCS; přesná nosná frekvence, která určuje dobu přehrávání rekonstruované pásky; a fáze signálu. Poslední dvě se mohou v rámci publikovaného záznamu změnit a jejich absolutní hodnoty závisí na páskovém přehrávači, zesilovači a zvukové kartě použité k digitalizaci signálu.[6]

Soubor UEF může obsahovat značky pro oddělení pásek distribuce více pásek a stran každé pásky; lze také označit zájmové pozice na každé straně.

Disky jsou uloženy jako skládky surového sektoru každého povrchu spolu s jejich geometrie a bajt identifikující souborový systém. Předchozí verze specifikace měly ustanovení pro kódování disků na úrovni bajtového proudu nebo magnetická doména úroveň. Díky SSD a DSD sektorovým skládkám dobře slouží standardní disky BBC a jsou zralé PZI Ve formátu pro software chráněný proti kopírování je funkce obrazu disku UEF málo využívána.

Bokem ROMy jsou rovněž uloženy jako nezpracovaná data plus údaj o jejich účelu a doporučení slotu ROM. Uživatelská základna opět upřednostňuje pro archivaci holé výpisy ROM.

Stavový snímek Soubory UEF obsahují standardizované bloky pro ukládání hlavních částí stavu Acorn Electron nebo BBC Micro: hlavní, stínová a rozšiřující sběrnice, CPU a řadič disketové jednotky WD1770; také Electron ULA a Slogger Master RAM Board, společný doplněk Electron. A opravná paměť blok přepíše blok paměti na libovolnou adresu, což umožní zabalení formátu UEF tyče. Chcete-li uložit stavové prvky, které nejsou obsaženy ve standardních blocích, mohou emulátory definovat své vlastní bloky. A oblast pro soukromé použití ID bloků je vyhrazeno pro tento nebo jakýkoli jiný účel, ačkoli některé emulátory ukládají stav pod neplatnými ID bloků ve veřejném prostoru.

Multiplexovaná data je rozšíření pro emulátory, používané společností ElectrEm, ale bez publikované specifikace:[2]

Bitový multiplexing dodává emulátoru další informace, aby bylo možné spouštět staré programy, které produkují vyšší kvalitu výstupu. Tato funkce je ve skutečnosti pouze pro emulační použití souborů UEF a ignorování bitového multiplexování nebude mít žádný vliv na přesnost vašeho nástroje vůči originálu Hardware.

— Thomas Harte, specifikace formátu souboru UEF 0,10 (koncept dokumentu 28)

Jednou z hlavních aplikací zmíněných Harte je překrývat „novou grafiku na staré hry“,[7] a jediný příklad, vylepšená 256 barev Daredevil Dennis, je k dispozici od StairwayToHell.com běžet v ElectrEm.

Multiplexované datové bloky mají sledovat běžné datové bloky v kterékoli z výše uvedených tříd a doplňovat data. Jejich obsah nemá být viditelný počítačem Acorn, ať už skutečný nebo emulovaný, ale jinak nebyl jejich význam specifikován.

Kusy poskytují informace o obsahu patří původ souboru chunk, který identifikuje aplikaci, která vygenerovala soubor UEF. Skenování vložky bloky, určené jako náhled souboru, obsahují surovou bitmapu souboru obal umění i když cokoli za a miniatura může zabírat více dat než běžná hra. Autor UEF může také poskytnout text návod k použití nebo URL pro více informací, a krátký název pro zobrazení, minimální specifikace stroje a mapování klávesnice pro přiložený software; a kde hra nepoužívá celou obrazovku, souřadnice viditelná oblast lze dát. Menšina souborů UEF dostupných online obsahuje cokoli v této třídě kromě původního bloku.

Soubor UEF může obsahovat více tříd dat najednou, jak Harte zamýšlel;[5] bez skenování celého souboru není možné zjistit, které třídy obsahuje. Ve svém poli pro výběr souboru zobrazí ElectrEm ikonu podle prvního bloku datové třídy, který najde.

Aplikace

MakeUEF

MakeUEF je aplikace pro Windows napsaná Thomasem Harte a rozšířená Fraserem Rossem o převod zvukových vzorků do souborů UEF. Jsou nabízeny dva stupně. Přečte se „amatérská“ verze WAV soubory nebo živý signál přehrávaný na zvukové kartě a s přesností přepisuje pouze standardní datové bloky.[6] Hodnocení „professional“ přijímá pouze soubory CSW, které představují vlny předzpracované do obdélníku pulzní vlaky, ale kóduje všechny zvukové informace podporované specifikací UEF.

Společnost MakeUEF tvrdí, že byla jediným tvůrcem všech souborů UEF dostupných na webu před listopadem 2004, měsícem vydání verze 1.0.[6] Ačkoli formát souboru byl schopnější a podporoval „délky mezer“ nejpozději od února 2001,[8] pouze "programová data" byla zachována MakeUEF před verzí 1.0. Od listopadu 2004 se věrnost MakeUEF zlepšila a specifikace souboru byla dále vylepšena a rozšíření o .hq.uef („vysoká kvalita“) byla přijata, aby to odrážela.[6] The AcornPreservation.org archiv obsahuje pouze odrůdu HQ.UEF a zdrojové soubory CSW. Jeho sesterský web StairwayToHell.com přijímá „amatérské“ překlady a soubory UEF vytvořené programem MakeUEF před verzí 1.0. Od roku 2008 druhý web hostí 1494 transkripcí titulů kazet BBC Micro a nejméně 800 titulů Electron.

Ostatní

  • Několik emulátorů strojů Acorn nativně podporuje UEF pro čtení a zápis dat na pásku (původní rychlostí nebo rychlejší) a ukládání stavových snímků. Mezi příklady patří ElectrEm, BeebEm a B-Em.
  • FreeUEF Thomas Harte a UEFReader Plugin Java Sound převádí soubor UEF na vlnu vhodnou pro záznam na pásku nebo přehrávání na fyzickém počítači.
  • UberCassette jsou multiplatformní víceformátové kodéry emitující UEF ze vzorků kazet Acorn.[9]
  • The UEFwalk Perl skript ověřuje a extrahuje data ze souborů UEF.[10]
  • The XVUEF patch rozšiřuje Xv editor obrázků pro podporu málo používaných bloků skenování inlaye UEF.

Použijte na skutečném BBC Micros

GoMMC[11] a hardwarová rozšíření GoSDC, vyrobená Johnem Kortinkem z roku 2004, poskytují možnost přehrávání virtuální kazety. Doprovodné nástroje pro PC importují data kazety ze souborů UEF a ukládají extrahovaný proud kazety na paměťovou kartu.[12]

V únoru 2012 vydal Martin Barr verzi 5.0 UPURS, sada nástrojů na bázi ROM pro podporu přenosu dat do skutečných mikropočítačů BBC. V rámci tohoto vydání došlo k prvnímu vydání nástroje UPCFS[13] což umožnilo nárokovanou 86% kompatibilitu se stávajícími dekomprimovanými soubory UEF[14] což umožňuje jejich přenos do reálného BBC Micro pomocí kabelu uživatelského uživatelského portu, který umožňuje připojení k počítači přes rozhraní RS-232.

Reference

  1. ^ "Předmět: OZNAM: první vydání 'FreeUEF'". Mdfs.net. 10. srpna 2000. Citováno 27. června 2011.
  2. ^ A b C Harte, Thomas (10. ledna 2006). „Specifikace formátu souboru UEF 0,10 (koncept dokumentu 28)“. Citováno 5. září 2016.
  3. ^ "Technické specifikace TZX". Worldofspectrum.org. 19. prosince 2006. Citováno 21. června 2011.
  4. ^ „BBC související software (mikropočítač BBC od Wouteru)“. Wouter.bbcmicro.net. Citováno 27. června 2011.
  5. ^ A b Harte, Thomas (22. října 2010). „Re: BeebEm save state UEFs“. Fóra Stardot.org.uk. Citováno 12. listopadu 2010.
  6. ^ A b C d Ross, Fraser; Harte, Thomas (18. ledna 2007). "Distribuce MakeUEF 2.1" (ZIP archiv obsahující PDF). Acornpreservation.org. Citováno 24. února 2008.
  7. ^ Harte, Thomas (1. srpna 2003). „Re: BBC obrázky s dvojitou hustotou disku“. Archiv BBC Micro Mailing List. Citováno 25. května 2008.
  8. ^ Harte, Thomas (17. února 2001). „Specifikace formátu souboru UEF 0,7 (koncept dokumentu 10)“. (prostřednictvím internetového archivu). Archivovány od originál dne 17. února 2001. Citováno 24. února 2008.
  9. ^ http://www.retroreview.com/iang/UberCassette/
  10. ^ http://regregex.bbcmicro.net/#prog.uefwalk
  11. ^ Cook, Greg (říjen 2010). „8bitový Roundup: rozhraní GoMMC“. Drag 'n Drop. Paul Stewart. 2 (1): 23–25. Citováno 11. ledna 2020.
  12. ^ Kortink, John (8. dubna 2012). "Průvodce GoSDC - použití". Průvodce GoSDC (Archiv ZIP obsahující HTML). Citováno 10. dubna 2012.
  13. ^ Barr, Martin. „Fóra Stairway to Hell“, Dráty? PAH. Verze UPCFS, 19. února 2012. Citováno 19. února 2012.
  14. ^ Retro sada. „Představujeme UPCFS“, Spuštěno UPCFS, 19. února 2012. Citováno 19. února 2012.

externí odkazy