Facebook Twitter Viber WhatsApp Telegram Linkedin ReddIt Email Принтирай LINE

...
Facebook Twitter Viber WhatsApp Telegram Linkedin ReddIt Email Принтирай LINE
Коментари Харесай

Безумните иновации и умения на феновете на графичните калкулатори

Facebook Twitter Viber WhatsApp Telegram Linkedin ReddIt Email Принтирай LINE
От средата до края на 2000-те години във всяко едно учебно заведение на Съединени американски щати имаше дете, което записваше и играеше игри на своя графичен калкулатор. Днес това вероятно няма да ви учуди, само че някой от тези хора бяха доста забавни. Тогава съществуваше една процъфтяваща сцена за хакери, които подчиняваха тези калкулатори на своята воля. Те пишеха игри за тях, математичен програмен продукт или просто хакваха тези платформи за лично наслаждение и с цел да научат повече.

Тук ще се спрем върху някои планове за калкулаторите на Texas Instruments, с което в предишното се занимавахме в продължение на цели 25 години и ще обясня за какво тези планове са толкоз впечатляващи от техническа позиция.
Това е xkcd №76. Тези 768 байта са по едно и също време и RAM буфер, който се употребява за побитово записване на изображенията на екрана. Това не е съвпадане, тъй като при xkcd в никакъв случай няма съвпадения. Платформата
През 90-те и 2000-те години TI показа на пазара редица графични калкулатори основани на. Може би сте чували за   – доста усъвършенствана версия на Intel 8080, която бе основана от Zilog. Да, този процесор е в действителност толкоз остарял. И до през днешния ден има цялостен клас от извънредно известни хоби-проекти за основаване на личен компютър с процесора Z80, който се употребява в най-различни устройства. Устройството на този чип е толкоз опростено, че дава опция напълно елементарно да се схванат основите на компютърните системи.

Когато тези процесори излязоха на пазара (преди цели 45 години!), те незабавно се постановиха, тъй като имаха доста положителни характерности. Всички калкулатори на Texas Instruments имаха съвсем едни и същи механически характерности, като техните благоприятни условия към сегашен ден наподобява прекомерно слаби.

 
Ето в съществени линии какви са те:
Процесор Z80 , нормално с тактова периодичност 8 или 10 MHz. Да уточним, че Z80 може да извършва по една процесорна команда единствено на всеки четири такта Черно-бял LCD екран с резолюция 96 X 64 пиксела. Някои модели имаха по-големи екрани, само че този бе най-разпространеният. По-новите калкулатори към този момент имаха цветни екрани с по-голяма разграничителна дарба. Така нареченият линк порт за продан на данни, който в действителност бе 2,5 милиметрово гнездо за слушалки Обикновено 32 KB RAM , а от версия 83+ и нагоре от 100 KB до 2 MB флаш памет за запис на стратегиите и на данните Операционната система на Texas Instruments с с прякор TI-OS . Нейното публично име е EOS, само че никой с изключение на компанията не я наричаше по този начин. TI-OS имаше: Енджин за осъществяване на аритметични калкулации и сформиране на графики Скриптовия език за програмиране TI-BASIC Моделите с флаш памет поддържаха стартирането на огромни приложения, които напълно бяха записани в тази памет
От казаното дотук вероятно излиза наяве, че опциите на тези устройства бяха много лимитирани.

Разбира се, най-популярният графичен калкулатор от това време бе TI-83/84 Plus, който сигурно е държал в ръцете си всеки американски студент, учил през последните 25 години. В тази публикация ще употребявам TI-84 Plus , тъй като този калкулатор вероятно е прочут на всички, тъй като бе по-разпространен поради съществуването на USB порт и променения дизайн на корпуса.
Програмирането
Средата за програмиране на асемблер за Z80 ебедоста спартанска: нямаше дебъгери, нямаше отбрана на паметта и при съществуването на бъг работата на калкулатора се сриваше и излизаше злокобното известие RAM Cleared. Да припомня, че Z80 е 8-битова машина с 16-битови указатели и се постановяваше паметта да бъде разграничено на страници от по 16 KB.
Опростената блок-схема на калкулатора
В тези години имаше редица управления за проучване асемблера на Z80, само че съгласно мен най-хубавото беше на Шон Маклафлин.Самата TI оферираше доста добра документи за подпрограмите на TI-OS. Благодарение на всичко това получавахме цялостната власт върху системата.
Програмните проекти
Всички, които следяха за новините по отношение на хакинга на тези калкулатори само че правилно ще си спомнят упоменатите по-долу хора по име или по прякор.
Проектът Phoenix

Най-популярната игра за тези графични калкулатори бе Phoenix на Патрик Дейвидсън. Това бе галактически шутър с взор от горната страна, който наподобява на аркадната игра Galaxian. Ти бе известна не по тази причина, че бе доста увлекателна (въпреки че си е увлекателна) и не поради качеството на реализацията (въпреки че реализацията бе доста качествено). Тя стана популярна просто тъй като беше една от първите, а Патрик и другите я портнаха за съвсем всеки калкулатор с процесора Z80.
Нюанси на сивото в калкулатора TI-84 Plus
RPG играта на Патрик Прендъргаст (tr1p1ea)  с име  Desolate ме порази с това, че имаше четири равнища на сивото. Тази игра Не беше просто едно софтуерно демо. Тя си имаше пълностоен сюжет и доста добра с прави това графика. Тя се оказа толкоз добра,че бе портната за ZX Spectrum и някои други компютри от това време.

 
Как може да бъде направено сходно нещо на устройство с черно-бял екран? Работата е в това, че в случай че пикселите бъдат включвани и изключвани задоволително бързо, то те стартират да наподобяват сиви. Наивните опити за реализирането на тази концепция водеха до извънредно намигване и не можаха да дадат повече от три цвята – черен, бял и сив. Но библиотеката за нюанси на сивото на Дарк Кингъм, която се употребява в Desolate, даваше опция за приемане на красива графика с четири равнища на сивото с помощта на тъкмо подбраните тайминги и дитъринга на примигващите пиксели, с цел да не могат те да се включват и изключват по едно и също време. Тази графика консумираше по-голямата част от ресурсите на калкулатора, само че такава е ориста на множеството видеоигри.
Емулатор на Game Boy за TI-84 Plus
TI напълно не е единствената компания, употребила процесора Z80. На този чип се базираше и първия Game Boy! Разбира се, всички се питаха дали има опция да стартираме игрите за Game Boy на този калкулатор – може би в нещо като хипервайзор?

Брендън Флетчър (calc84maniac) приложи голям брой инженерни решения за основаването на TI-Boy SE , който прави тъкмо това. Касетката на Game Boy има много огромни запаси – ROM-ът на Pokémon Red е с величина 1 MB, а TI-Boy реши този проблем като компресира ROM-а и по-късно го записва във флаш паметта на калкулатора, който смята това за една от своите библиотеки и я разкомресира. Компресията става благодарение на личен компютър, като несъмнено, по това време трябваше да се употребява истинския ROM на касетата за Game Boy.

Другият по-голям проблем бе, че редица Game Boy касети имаха доста оперативна памет (до 128 KB), а калкулаторът TI-84 Plus предлага единствено само 32 KB. Да припомня, че Game Boy има единствено 8 MB RAM, само че касетките могат да прибавят памет. Това ни се струваше задънена улица – по какъв начин може да се емулира спомагателна RAM?

Ксавие Андреани видя, че калкулаторите на TI в действителност имат спомагателна RAM, тъй като универсалният чип с интегриран процесор и други модули има лична оперативна памет, което не се вижда в документите на калкулатора. TI-Boy извърши реверсивно инженерство на специфичните команди, употребявани за работа с тази вградена памет и откри метод да я включи в адресното пространство на процесора във тип на банки памет.

Резултатът бе впечатляващ. По-горе се вижда по какъв начин наподобява Legend of Zelda на този калкулатор.
USB драйвер за потреблението на TI-84+ като външен диск
Калкулаторът 84+ имаше прекомерно чудноват USB порт. Това бе порт On-the-Go и когато се появи, за него нямаше никаква информация. Казано най-общо, 84+ можеше да работи в качеството на USB хост. Програмата Usb8x на Дан Енглендър добавяше изчезналия код в потребления от TI драйвер, и даваше опция за потребление на мишката (съмнително удоволствие), клавиатурата и най-важното – калкулатора като флаш диск.

Зареждащият код на калкулатора дава подпрограми от ниско равнище за работа с USB врата за продан на данни. Но най-учудващ бе горният стек на USB. Това бе истинският драйвер на калкулатора плюс FAT16 с помощта на msd8x. Разбира се, всичко това бе написано на асемблер за Z80.



 Програмата Usb8x разкри маса извънредно забавни благоприятни условия и Майкъл Винсънт вероятно е един от дребното хора, гледали Матрицата на калкулатор. 
KnightOS

Дрю Деволт (SirCmpwn) показа своя план за цялостната подмяна на TI-OS със напълно нова многозадачна операционна система в жанр Unix и име KnightOS . Интересното в тази Оценка за съвместимост и че тя съблюдава парадигмата за многозадачна работа, която при Linux и MAC се схваща от единствено себе си, единствено че тук всичко е осъществено съвсем без хардуер – само на софтуерно равнище. Програмите можеха да бъдат премествани, вградена бе предпочитана многозадачност, имаше програмни библиотеки, които работят по напълно същия метод като обектите в Unix. Имаше си и в действителност към момента има файлова система с папки, съобразена с износването на флаш-паметта и протокол за свързване с компютър.

 
Разбира се, всичко това бе доста деликатно написано на асемблер за Z80, а в подпрограмите на ядрото и библиотеките са документирани положенията на всеки указател на процесора.

Сорс кодовете към този момент са качени в GitHub. За страдание, прекомерно необятния набор от благоприятни условия, които трябваше да бъдат вградени в тази операционна система, не даде опция за излизането на нейна постоянна версия. Но главните неща работеха и са прелестни.

Аз също имам принос в този план. Успях да въведа в KnightOS главните правила на синхронизацията, мютексите и условните променливи.
Какво следва?
Паралелно с всеки показан тук план има десетки, които не са включени в този публикация, само че ширината и дълбочината на направеното са потресаващи.

В учебните заведения и институтите Texas Instruments постоянно е имала конкуренция, в това число и няколко много забавни устройства на Casio. За калкулаторите на Casio също има редица забавни сходни планове.
 

Но процесорът Z80 се употребява и през днешния ден в най-различни устройства за индустрията и освен. След изтеклите толкоз доста години той към този момент е добре прочут и е една постоянна основа за основаването на най-различни нови уреди. Създадените преди години планове за калкулаторите с този процесор включват редица похвати и техники, които се употребяват и до през днешния ден. 

Лично аз имам вяра в духа на същинския хакер и съм на мнение, че хората ще продължат да уголемяват опциите на всяко съоръжение, което им попадне в ръцете.

 
Източник: kaldata.com

СПОДЕЛИ СТАТИЯТА


Промоции

КОМЕНТАРИ
НАПИШИ КОМЕНТАР