Архитектура и программирование Philips Videopac (Magnavox Odyssey 2)

«Hardware is just software crystallized early»
— Alan Kay




Компьютер Magnavox Odyssey 2 (Videopac) появился в 1978 году и позиционировался как игровой, однако с возможностью более серьёзного применения (для чего у него имелась встроенная плёночная клавиатура). Серьёзных приложений, учитывая назначительный объём памяти, было очень мало, так что, по факту, правильнее считать Videopac игровой приставкой.

Что касается названий, Magnavox Odyssey 2 продавался в США и выдавал NTSC видеосигнал (через RF выход). Philips Videopac G7000 (он же C52) продавался в Европе, соответственно, с PAL видео. Кроме этого различия (которое, разумеется, влияло на работоспособность части игр) компьютеры совершенно одинаковые.

Videopac был одной из первых игровых приставок, для которой игры выпускались в виде картриджей с программами. Поэтому ничего удивительного, что и технически это устройство весьма аскетично.


Читать дальше →

Архитектура и программирование Vectrex

— А видеовыход у него есть?
— И как ты себе это представляешь?
(из разговора о Vectrex)


Vectrex выпускался GCE в 1982 — 1983 гг. и представляет собой игровой компьютер (приставку) ключевая особенность которой, векторный дисплей, делает его одним из самых необычных и интересных 8-разрядных компьютеров. С некоторой натяжкой можно сказать, что он является упрощённой версией векторных игровых автоматов Cinematronics, технически более совершенных.

В качестве процессора в Vectrex используется Motorola 6809 — он похож на MOS 6502/6510, но добавлены 16-битные регистры, дополнительные режимы адресации, умножение.
Тактовая частота — 1.5MHz.

Поскольку компьютер был выпущен как игровая приставка и игры для него продавались на картриджах, программа размещается в ПЗУ картриджа (32 кб), а ОЗУ — совсем крохотное (1 кб — две штуки 2114) и предназначено больше для данных.
Также есть встроенное ПЗУ с BIOS'ом (8 кб — одна 2363), который включает набор подпрограмм для рисования векторов и вывода текста, несколько примитивных мелодий и даже одну игру — Minestorm (многим известную как Asteroids).

Звук реализован на чипе AY8912 (также используется в MSX2 и поздних ZX Spectrum) однако, кроме этого существует штатная возможность проигрывания 8-битного звука через ЦАП (практическое применение этого способа, впрочем, ограничено).

Vectrex выполнен в виде моноблока (включающего ЭЛТ экран), но клавиатура не предусмотрена в принципе. Управление осуществляется двумя джойстиками (в т.ч. аналоговыми). Кроме того, может быть подключено световое перо и очки 3D Imager.

С 1982 г. по нынешнее время для Vectrex написали примерно полторы сотни игр, несколько серьёзных программ (типа редакторов графики, музыки, анимации), а также около десятка демо и интро. Интересно, что более половины игр (и все демо) выпущены после 1995 года, т.е. через десятилетие после прекращения производства и поддержки Vectrex. Возрождение платформы связано, в первую очередь, с появлением хороших эмуляторов, которые сделали разработку доступной любому желающему. Сами компьютеры пока также вполне доступны на eBay.

Читать дальше →

Архитектура и программирование компьютера Texas Instruments TI-99/4a

Компьютер Texas Instruments TI-99/4a почти неизвестен за пределами США, однако он был там весьма популярен (выпущено более двух миллионов машин). Хотя этот компьютер создавался как домашний, существенной особенностью (во многом определившей его архитектуру, а затем и судьбу) было то, что за основу был взяли уже существовавший серьёзный мини-компьютер TI-990, собранный на обычной ТТЛ логике. Фактически, микропроцессор TMS9900 в компьютере TI99/4A является реализацией TI-990, но в виде чипа. TI-990 был выпущен в 1975 году, а TMS9900 в 1976 году.



Таким образом, TI99/4a (в 1979 был выпущен чуть более простой TI-99/4, а в 1981 уже TI-99/4a) получил в наследство крайне странную, для домашних компьютеров, архитектуру. Во-первых, микропроцессор TMS9900 в нём 16-разрядный — с честной 16-разрядной шиной данных (это в конце 1970-х!). Во-вторых, на чипе нет регистров (кроме PC, флагов и указателя «регистров» WP). То, что можно назвать регистрами, находится в отдельной микросхеме 16-разрядного статического ОЗУ размером 256 байт и может адресоваться одновременно как память и (первые 16 слов) как регистры R0..R15. Называется это «scratchpad».
Аппаратного стека нет, вместо этого сохранение значений при вызове подпрограмм осуществляется изменением указателя начала регистров WP в этом самом ОЗУ (напоминает регистровые окна в Sparc'ах). В предке (TI-990) это также использовалось для переключения контекста при реализации многозадачности.

Хотя тактовая частота TMS9900 — 3 МГц, инструкции занимают довольно много тактов — не менее 8. При этом реализовано даже умножение и деление (124 такта).

Читать дальше →

Vortex Tracker II fork - work in progress

A work in progress fork of Vortex Tracker II

Since I don't have much experience with coding, most changes on my sides are purely aesthetic.
They include:
  • Merging few tabs of Options menu for easy access
  • «E» for Envelopes in Sample menu replaced with «M» for Mode for convenience
  • Numerous Engrish fixes
  • Including loader BASIC code for exported .TAP files (provided by YERZMYEY, still has to be typed manually onto the Speccy)
Planned features:
  • «E» bound to Envelope Toggle in the Sample Editor
  • Totally refreshed Options menu
  • Cleaned up UI
  • Automated Row Number setting
  • ...and whatever my little knowledge of Pascal/Delphi will allow me to do )))))
Some screenshots:



Latest build
Click here

Weekly Game Club #5 SECTOR



В этот раз я нагло воспользуюсь служебным положением :) Будем играть в мою игру 2013 года — SECTOR. Мне кажется она отлично подходит для соревнований — партия длится не слишком долго и очков можно прилично набрать.

Лента Диск

Это была моя первая игра после двухлетнего перерыва и надо сказать что разные эксперименты с C64 неожиданно улучшили мои скилы в z80. После 6502 процессор от Zilog был как калькулятор после счёт. Идея сделать ремейк Transversion образца 1984 года сидела во мне очень давно. Меня всегда раздражали движения по знакоместам — хотелось плавности. Поэтому у меня всё движется плавно и даже получилось сделать эффект аля Матрица — игра замедляется когда рядом пролетают вражеские выстрелы.

Это первая игра которую я не делал в одиночку. За музыкой я решил обратиться к Ромычу Splinter'у и он очень быстро откликнулся и сделал офигенные треки. Потом он начал рисовать картинку, а Талич ему помог и перерисовал всё как нужно :) Оказалось что вместе веселее и больше я уже в одиночку стараюсь не шпарить игры!

А ещё с этой игрой я первый раз столкнулся с таким явлением как «дребезг» клавиатуры, пришлось брать антидребезг библиотеку из z88dk. Но это уже совсем другая история, вряд ли кому — нибудь интересно :)

Нужны ли минусы для Хайпа?

Q&A
Собственно настал момент, прими гастал нюрофен, но тем не менее.



Давайте таки выясним, «минусы», это плюсы или же попаболь и недопанимание?

3aRulem #18

Друзья! Мы продолжаем работу над 18-ым номером газеты!
Дата выхода — ноябрь 2016! Ждём ваших материалов!
В оформлении номера нам помогала очаровательная Анна!

Анна

TR-DOS: типы файлов

Q&A
Что означали типы файлов Data Array и Print в TR-DOS? По поводу первого рискну предположить, что это какой-то довесок к бейсик-программам. А Print? Тоже?
Есть ли где-то софт, который их использует?

Weekly Game Club #4: a tu imaginación


На мой взгляд, Dynamite Dan – одна из самых хардкорных игр на ZX Spectrum. Игра настолько сложная, что авторы не побоялись объявить приз за прохождение игры — в финале на экране отображается номер телефона, по которому нужно было позвонить. Не знаю, получил ли хоть кто-нибудь этот приз. Хотя, rzx с полным прохождением игры существует в природе. Не перевелись еще безумцы.

Читать дальше →

ZX Spectrum Demoparty Calendar 2017

Demoparty calendar: 2015, 2016, 2017, 2018
DateDemopartyPlatformRemoteLinksOrganizers
JANUARY
06-08 DiHalt 2017 LiteAll, OLDSCHOOLAllowed Vinnny, TmK
14-15 Russian Winter 20178 bitAllowed unbeliever
21 AFMC December 2016ZX, OLDSCHOOLAllowed aturbidflow
MARCH
17-19 FOReVER 2017ZX, C64,CPC, AtariAllowed MikeZT
APRIL
29 RetroTech Squad 53c gfx compoZX 53CAllowed mihhru
29-30 Multimatograf 2017ZX, OLDSCHOOLAllowed Nyuk
MAY
12-14 Wapniak 2017Atari 8bit, ZXAllowed Pinokio, Mikera
25-28 Outline 2017Atari, OLDSCHOOLAllowed ?
JUNE
03-04 Artfield 2017ZX, C64, BK0010/11Allowed kasik_kacuk
JULY
01-02 DIHalt 2017ALL, ZXAllowed Vinnny, TmK
29-30 CrazySiberianParty'2017ZXAllowed
AUGUST
26-27 speccy.pl party 2017.1ZX, OLDSCHOOLAllowed tygrys
26-27 Chaos Constructions 2017ALL, ZXAllowed Random
SEPTEMBER
01-03 International Vodka Party 2017ZX, OLDSCHOOLAllowed yerzmyey
09 VERVE 2017ZX, OLDSCHOOLAllowed aturbidflow
OCTOBER
20-22 RetroKomp / LOAD ERROR 2017Amiga, 8bitAllowed sachy
NOVEMBER
25 Out of Compo 2017ZXAllowed Shuran


update1: demobit, dihalt lite, revision, outline added (07/10/2016)
update2: afmc december added (04/12/2016)
update3: afmc december date changed, russian winter and multimatograf added (18/01/2017)
update4: verve, artfield, afmc march, downgrade mag gc, wapniak added (03/04/2017)
update5: dihalt added (08/04/2017)
update6: afmc spring added (09/04/2017)
update7: retrocomp/loaderror added (14/05/2017)
update8: chaos constructions added (27/06/2017)
update9: csp, speccy.pl, ivp added (10/09/2017)
update10: out of compo added (11/10/2017)