ZX Spectrum
Game

CP/M 256

John Elliott (Великобритания),

Автор:

Жанр: Утилиты: Визуализация


Доступные версии

Нет доступных файлов

Язык

  • Русский
  • English

Управление

  • Клавиатура(?)

Игроков

  • Один
  • Описание (авт.пер.)
  • Информация

ULA256 и PAL256 Джон Эллиотт, 7 ноября 2009

  ULA256 и PAL256 утилиты для Spectrum +3 CP / M для поддержки 256 цветов расширение ULA (см).

На момент написания, эта функция доступна только на 3 эмуляторов.

Установка

  Копировать ULA256.FID и PAL256.COM к Spectrum +3 CP / M начало операционного дня диска и загрузиться с него. Если все прошло хорошо, вы должны увидеть сообщение о входе систему:

Установлен ULA256 v1.00.

  и, если у вас есть 256-цветной ULA, на экране будет идти немного темнее

синий. Помните, что если вы _don’t_ есть 256 цветов ULA, то установка ULA256 сделает цвет выборы ведут себя очень странно.

В употреблении

  Все цвета функции CP / M (PALETTE.COM, избежать коды, и TE_SET_INK и система TE_SET_BORDER называет) теперь будет использовать 6-битный цветовой диапазон, Максимум, что CP / M поддерживает. Так, в то время как на нерасширенном Spectrum +3 к команды

ПАЛИТРА 1 63 (ярко-белый на темно-синий)

ПАЛИТРА 2 63 (ярко-белый на средней синий)

бы оба карту с тем же серо-на-синий схеме, на расширенном спектре с

ULA256, они бы явно отличается – и белый станет ярким.

Цвет повторное

  256 цветов ULA имеет ограниченный палитру; он может только отображать до 64

Уникальные цвета на экране в любой момент времени, 32 с чернилами и 32 бумажных. ULA256 оставляет одну из бумажных цветов для границы. Кроме того, в любом характере площади чернил и бумаги цвета должны прийти из того же квартала Палитра.

  Что это означает на практике, что, когда ULA256 просят изменить к новым Цветовая гамма, существующая запись палитра, возможно, придется использовать повторно. ULA256 пытается чтобы найти тот, который используется в качестве нескольких местах, как это возможно, но неизбежно некоторые будут затронуты части экрана. Следующая программа кряква BASIC демонстрирует эффект:

10 ШИРИНА 255 ‘Stop BASIC пытается обернуть линии 20 PRINT CHR $ (27) “30” “Выберите режим 24×32 30 при п = 0 TO 63 ‘Попробуйте распечатать со всеми 63 фонов 40 PRINT CHR $ (27) “в” CHR $ (32 + п) “*”; ‘Рисуем звезду с цветной п 50 я $ = ВХОД $ (1) “Подождите нажатия клавиши 60 Далее ‘Повторите 70 PRINT CHR $ (27) “в” CHR $ (34) ‘Переключитесь на синем фоне

  При запуске, программа будет рисовать два ряда звезд. Когда он начинает

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

PAL256

  CP / M использует 6-разрядный truecolour, в то время как расширение ULA256 использует 8-битные. К получить полную цветовую гамму, можно использовать PAL256. Синтаксис такой же, как ПАЛИТРА:

PAL256<фон>
<основной>

кроме того, что фон и передний план в 8-битные числа truecolour, не 6-бит.

Технические детали

  ULA256 может быть вызван из кода манипулировать палитру; Это то, что PAL256 делает, например. Чтобы найти его, позвонить FIND_FID:

LD DE, fidname; Должно быть выше 0C000h позвоните userf DEFW 00ECh; FIND_FID

fidname: DEFB ‘ULA256 “

  Если FIND_FID вернулся с переносом множества, то HL является адрес ULA256.FID

в банке 0. Следующие адреса в ULA256.FID могут быть использованы:

FID + 20h: Палитра. В памяти копию палитры регистров 64, в Такой же порядок, как они написаны.

FID + 60h: Обновление одну запись палитры. E = вход, 0-63; = Чернил, 0-255.

Развращает BC D HL. Сохраняет E-А.

FID + 63H: Написать все 64 значений в FID + 20h на ULA.

Развращает AF BC DE HL.

FID + 66h: Truecolour версия TE_SET_INK. Параметры как для TE_SET_INK, кроме цвета 8 бит truecolour:

= Чернил число, 0 для фона, 1 для переднего плана

B = цвет, 0-255 C = вспышки цвета (игнорируется)

Развращает AF BC DE HL.

FID + 69h: Truecolour версия TE_SET_BORDER. Параметры как для TE_SET_BORDER, кроме цвета 8 бит truecolour:

B = цвет, 0-255
  Например, чтобы установить границу, используя 8-битный цвет, вы могли бы использовать:

LD DE, fidname; Должно быть выше 0C000h позвоните userf DEFW 00ECh; FIND_FID JP пс, ошибка LD DE, 69h ADD HL, де; HL ->Настройка границы LD (setbdr), гл LD B, 0A0h; Выбранный цвет позвоните userf setbdr: DEFW 0

; ; Как и прежде, fidname выше 0C000h ; fidname: DEFB ‘ULA256 “

Реализация

  ULA256 непосредственно перехватывает в следующих функций на экране +3 CP / M код драйвера:

  • В 0EDBh, функции, которые сбрасывает атрибуты экрана, когда TE сброса  называется.
  • В 0EE7h, в функции, которая вызывается, когда объект или задний план  цвет изменяется и вычисляет параметры спектра. Это называется  внутренне ТЕ набор чернил и обработчика побег кода эмулятора терминала в.
  • В 0F2Ah, в функции, которая вызывается, когда цвет рамки устанавливается. Это  называется внутренне ТЕ SET ГРАНИЦЕ и эмулятора терминала.

 Он также исправляет ошибку, которая появляется, чтобы присутствовать во всех версиях Amstrad CP / M, который останавливает TE набор чернил, работающий на чернилах 0 и 1.

Копирование

       Copyright (C) 2009 Джон Эллиотт

    Эта программа является свободным программным обеспечением; Вы можете распространять и / или изменять

    это в соответствии с условиями в GNU General Public License, опубликованной     Фонд свободного программного обеспечения; либо версии 2 Лицензии, либо     (По вашему выбору) любой более поздней версии.

    Эта программа распространяется в надежде, что она будет полезной,

    но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемой гарантии     Или ПРИГОДНОСТИ ДЛЯ КОНКРЕТНЫХ ЦЕЛЕЙ. Смотреть     GNU General Public License для более подробной информации.

    Вы должны были получить копию GNU General Public License     вместе с этой программой; если нет, то пишите в Free Software

    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

Играйте в CP/M 256 онлайн. Программа для визуального представления, выпущенная в Великобритании в 2009 году компанией John Elliott, которую разработал John Elliott.

Не запускается или глючит игра, или не можете пройти? Спросите в комментариях.

Subscribe
Уведомлять об
guest
0 Comments
Inline Feedbacks
View all comments
 

Сохранённые игры[X]

  

Справка[X]

Помощь уже в пути!

Не забывайте периодически сохранять игровой прогресс на сервере (клавишей F8), чтобы уверенно продвигаться вперёд!

Если вы гость на сайте, то прогресс будет сохранён только в памяти браузера и потеряется при закрытии. Чтобы этого не произошло - просто войдите в свой профиль.

Для загрузки сохранённой игры жмите F3 или откройте меню "Диск" кнопкой на правой панели.

Если игра не запускается, или у вас есть вопросы по игре - задайте их ниже.

Помощь

Размер

  • x1 [256x192]
  • x2 [512x384]
  • x3 [768x576]
  • Полный

Диск

Кликни в окно эмулятора, чтобы управлять!
<<<<
Close
0
Would love your thoughts, please comment.x
()
x