Тогда так "super video mode" или "SVM".
(Чуть веселей, чем нолик из порта.)
Вид для печати
Ребята, не надо читать "SVM" из порта. Не хочу я писать в игре вот такой код:
Я хочу вот такой:Код:ld bc,#ffff
in a,(c)
cp "S"
jr nz,.missing
in a,(c)
cp "V"
jr nz,.missing
in a,(c)
cp "M"
jr nz,.missing
.present:
...
.missing:
...
Кстати, использование порта #xxff черевато тем, что самоделки с дешифрацией порта #00ff по младшему байту и кидающие всякую хрень (ну или честные атрибуты) для имитации порта #ff будут мешать карте. Да и вероятность того, что при выполнении in a,(#ff) в a будет #ff достаточно высока, соответственно, на платах, выдающих честные атрибуты, нарушится синхронизация видео по этому порту.Код:ld bc,#ffff
halt ; чтобы не прочитать атрибуты экрана вместо номера версии
in a,(c)
cp MINIMAL_SUPPORTED_CARD_VERSION
jr c,.version_mismatch
inc a
jr z,.missing
.present:
...
.version_mismatch:
...
.missing:
...
вот и я о том же )
вообще для программиста в идеале карта должна предоставлять какойто минимальный API - например команды "загрузить в карту спрайт № 1 из памяти по адресу 0xc000", "отобразить спрайт № 3 по координатам X,Y" - после чего программы будут писаться легко и непринуждённо даже на бейсике.