Schémátka k Sord M5

m_sord_m5

Sem budu ukládat návody na stavbu a schémata různých periférii pro Sorda. Moc se jich nezachovalo, ale třeba se časem najdou další.


Je libo MIDI? Ale jistě….

usb-midi

Potěšila mě zpráva, že s příchodem Androidu ICS byla přidána podpora MIDI USB kontrolerů. Tak jsem se rozhodl, že ji hned vyzkouším. Ale ouha! Na mém tabletu nic. To bylo zklamání. Midi Melody žádné USB zařízení připojené pomocí OTG kabelu nedetekovala. Začal jsem tedy pátrat na internetu a dozvěděl se následující. Zřejmě né uplně všechny systémy mají MIDI podporu zapnutu. Jak ji zapnout? Čtete dál.


Sledování TV na tabletu

droidtvKe sledovaní televizního příjmu budete samozřejme potřebovat aplikaci, to je jasné. V zásadě to funguje takhle: nahrajete dvbt drivery viz. dřívější článek, připojíte se k tuneru a vytvoříte stream, který někde zobrazíte. Samozřejmě je poprvé třeba naladit programy. Aplikací pod Android které udělají všechno toto zmíněné moc není nebo jsem je zkrátka neobjevil. Naštestí jedna existuje a vratím se k ní později. Čeho existuje však spousta jsou video přehrávače, které umí přehrávat stream, který někdo vysílá a těch je vícero (BSplayer, MXplayer, KODI, XBMC atd). Nyní se však vraťme k prvně zmíněné skupině.


Sord M5 programs library II.

Další várka programů, tentokráte  to bude krmivo pro disketovky nebo alespoň emulátory disketovek. Dlouho jsem přemýšlel jaký formát zvolit, aby byl univerzální. Nakonec rozhodl program na vytváření Amstradovských disket nazvaný CPCDiskXP (seženete ho tady ), který umožňuje velice pohodlně programy do image přidávat nebo z image ukládat na PC. Navíc formát který jsem zvolil přečte nejenom Mess, ale i CP/M bez úprav. Pokud tedy použijete CPCDiskXP a budete chtít být také kompatibilní, vyberte formát PCW/+3DOS – Double Side – 80 Tracks  – 64Dir. Entries 720Kb. Každopádně CP/M i Mess zvládne i jiné formáty,  je to tedy jen na Vás který použijete.


Vylepšený SordM5 pro Mess

Po delší odmlce tady na blogu jsem se rozhodl vysdílet vlastní build Sorda pro Mess. Oproti původní oficiální verzi jsme společně s bratrem doplnili emulátor o pár zajímavých funkcí. Aby se nové funkce nepletly s originálem, vytvořili jsme nový mód pojmenovaný m5p_lzr. Níže jsou uvedeny některé z novinek

  • podpora paměti 64kBi a 64kRx
  • podpora bloku F v záznamu na pásku
  • standardně nabíhají Windows, nabídka která umožnuje rychlé spouštění nejpoužívanějších programů. Dle modifikace pana Stuchlíka a LZR softu.
  • ROM obsahující BI,BG,BF, MSX1.C a CPM
  • podpora 2 disketových mechanik 3.5″. Podpora původní FD5 byla odstraněna.
  • přidána podpora QuickLoad, pro načítání programů přímo do paměti. Specifikaci formátu m5q doplním později.

26/09/2014 verze 1.1

  • přidána podpora vytvářet a zapisovat dsk image disky (CPC EXTENDED) – pravděpodobně to bude ještě dost zabugované

Nástroje pro práci s CAS soubory

Vytvořil jsem pár prográmků pro práci s CAS soubory pro Sorda (castool není můj výtvor.) CAS je CASsette formát pro emulátor Mess.  Jedná se vlastně o binární soubor, tak jak se vlastně kdysi zaznamenával na magnetofonovou pásku ve formě audio signálu.

[wpfilebase tag=list id=11 pagenav=1 /]


Automatické spouštění scriptů po bootu

Pořád mě vrtalo hlavou, jak u mého tabletu zavést mnou dodané moduly po startu zcela automaticky bez přeflashování kernelu. Jelikož není android jako android nelze napsat jeden obecný návod.
Co ale lze předpokládat u všech je to že při nabíhání androida spustí příkaz init skripty init.rc init.goldfish.rc a podobné umístěné v rootu. U některých androidů stačí umístit svůj skript do adresáře /system/etc/init.d a je hotovo, ale na mém kernelu tato vlastnost chyběla. Existují postupy jak ji zprovoznit na každém kernelu viz. zde, ale já se vydal trochu jinou cestou.

Otevřete postupně všechny init.rc soubory a najděte všechny příkazy které spouštějí shellovský skript. Typicky to bude vypadat nějak takto:

/system/bin/sh /system/etc/install-recovery.sh

U mě init.rc spouští za 1. /system/etc/install-recovery.sh a za 2. /system/bin/preinstall.sh. Přičemž 1. soubor na mém tabletu neexistuje 2. ano. Pokud 1. soubor vytvoříte bude se po každém startu spouštět také. Takže je na Vás který použijete. Důležité je, že se tyto skripty nepřepisují s každým restartem a Vámi udělané změny tak zůstanou zachovány.

Je nutné si, ale uvědomit že ve chvíli kdy se skript provádí není ještě namountovaná sd karta(y) a tak ji nelze použít jako úložiště pro případné použití.

V mém případě stačilo přidat nakonec souboru preinstall.sh řádek /system/bin/sh /system/vendor/modules/myscript.sh, kde jsou všechny nutné úkony pro zavedení modulů.

 

 


Netradiční vytváření programů pro Z80

autocompleteNedávno jsem potřeboval vytvořit jednoduchou utilitku pro Sorda v assembleru a protože klávesnice Sorda není to pravé ořechové pro vkládaní textu, napadlo mě jak to udělat pohodlněji.

Na stránce clrhome.org/asm/ je možno psát program v assembleru Z80, následně ho online zkompilovat a uložit na disk. To je přesně to co potřebuji. Pak pomocí malé utilitky bin2cas vytvořím CAS soubor, který již mohu nahrát do MESSu a program vyzkoušet. Samozřejmě že složitější program bude lepší vyvíjet přímo na Sordu v nějakém assembleru s debugerem, ale pro jednoduší prográmky mohu jen doporučit.

 

Ukázka jednoduchého programu v assembleru

 


Sord M5 programs library

Má sbírka programů pro Sorda, ještě časem nějaké zdigitalizuji. Jsou ve formátu CAS, což je nativní formát pro MESS teď už MAME. Narozdíl od WAV formátu je v pár kilobytové velikosti. Musím ale předeslat že programy vyžadující modul 64kB RAM nebudou v starém MESSu fungovat, v MESSU totiž nejde  programově odpojit MONITOR ROM a cartridge a to program nerozdýchá. Proto použijte vylepšenou verzi zde nebo novější MAME zde

Prosím vemte na vědomí že nejsem autorem těchto programů. Pokud by skutečným autorům vadilo že je tu nabízím napište mi mail a já je ze stránky odstraním.


Extrahujeme Module.symvers a config

Pokud potřebujete kompilovat moduly do kernelu ke kterému nemáte zdrojový kód, budete potřebovat z tohoto kernelu získat určité informace. A právě o tom bude tento návod.


cs_CZCzech