Příspěvek pro ZX retro scénu

16. 3. 2008 23:04 Pavel Chalupa

Našel jsem na jednom starém CD z roku 98 zálohu assemblerového (Z80) prográmku s jednoduchým demem pro ZX Spectrum, které předvádí funkčnost. Nikdy to neopustilo můj počítač, tak to teď dávám sem.

Vytvořil jsem to všechno někdy v roce 1990 a v roce 1998 jsem to převedl do .tap formátu, abych o to nepřišel. Zda by se to někomu z retro scény hodilo, to netuším. Je to kompletní assemblerová rutina pro zobrazování a práci s textem v matici 5×6 oproti původní 8×8. V době kdy to vzniklo, nebyly zobrazovací zařízení na dost dobré úrovni. Existovaly rutiny pro zobrazení v matici 4×8, které zobrazovaly 64 znaků na řádek, ale tímto způsobem zobrazené znaky byly špatně čitelné. S maticí 5×6 je na řádku 51 znaků (původně 32) a řádků je 32 (původně 24). Nejzajímavější je na tom asi rychlost zobrazování a hlavně rolování obrazovky o jeden řádek. Což je posun o 6 pixelů.

Demo5x6-1

Pokud si pamatujete, jak byla „šikovně“ adresována video-paměť ve spectru, tak si představte posun celé obrazovky rychle o 6 pixelů. Psaní jednoho znaku 5×6 taky zrovna nebylo triviální vzhledem k tomu, že to bylo systémově kompatibilní. Celá rutina se dala naroubovat na tehdy oblíbený překladač Pascalu.

Demo5x6-2

Na rootu se tu lidé z retro scény pohybují, tak pokud máte na někoho kontakt, tak jim dejte přečíst tento příspěvek. Pokud by se to někomu hodilo, můžete to použít. Budu rád, když mi dáte vědět, zda jste to někdo na něco využil.

Rutina i s demem má pouhých 1852 bajtů: demo5×6.tap
(zdrojáky bohužel nejsou, zachovalo se jen toto funkční demo)

Sdílet