Важная информация
RSS лента

Шынни

Знакомство с Amstrad PCW

Оценить эту запись


Еще один интересный экземпляр, с которым я столкнулся, когда изучал CP/M, однако знакомство с архитектурой было отложено.
Для начала:
Wiki
Программы, игры и другая документация

Для начала нужно скачать CP/M Box


и сконфигурировать: OPtions->Hardware, выбрать Mapping, включить External Drive и указать папку в поле Directory, в этом случае файлы, находящиеся в папке будут видны как диск M:

Первый шаг: File-Drive A->Insert, указать образ дискеты, который можно найти здесь

Теперь можно запустить эмулятор и начать программировать. Я остановился на звуке и графике

Звук
Карта портов меня запутала, поэтому помогло дизассемблирование одной программы.

Запись $0C в порт $F8 включит бипер, $0B - выключает.
Звук я взял из Beepola, и переписал полученный .asm

Например, для движка Triton код выглядит так:

DRUM_NOISE_L0: LD A,(HL)
AND D
; OUT ($FE),A

ld a,$0C
jr nz,nobit2
ld a,$0B
nobit2:
OUT ($F8),A

Качество эмуляции звука оставляет желать лучшего.

графика
С информацией тоже негусто, помогли книги, найденые на пропавшем сайте: PCW Machine Code.pdf и PCW Super Code.pdf.

Разрешение экрана 720х256. Для памяти отводится Блок1, Блок2 хранит информацию о шрифтах и об адресах, так называемые Roller-RAM. Мало, что понятно, заработал этот пример кода:

;******************************************
; ZEICHENSATZ MAL ANDERS *
; DIREKTE KOPIE IN DEN BILDSCHIRMSPEICHER *
;******************************************

ORG 0100H

CALL 0FC5AH ;XBIOS
DEFW 00C2H ;BILDSCHIRMRESET
DI ;RST 38H SETZT AUF
;BANK 1
LD A,081H ;BILDSCHIRMSPEICHER
OUT (0F1H),A ;IN BANK 0
LD A,082H
OUT (0F2H),A
LD HL,(0B700H) ;BILDSCHIRMMITTE
ADD HL,HL ;OFFSET
LD E,L ;ADRESSE IN DE
LD D,H
LD HL,0B800H ;ANFANG ZEICHENSATZ
LD BC,0800H ;LAENGE ZEICHENSATZ
LDIR ;KOPIERE
JP 0 ;WBOOT SCHALTET
;BANK 1 EIN

END

при подключенных страницах адреса, начиная с $B600, указывают на видеопамять, 8 байт сверху вниз, затем следующие позиции 0-79.

источник

Вышло вот что:


Исследования продолжаются.
Метки: Нет Добавить / редактировать метки
Категории
Без категории

Комментарии

  1. Аватар для Raider
    Отличное исследование. keep going

Трекбэков