Порт |
Доступ |
Маска
|
Название
|
Описание
|
000h |
RW |
00******
|
REG_DISP_CTRL
|
Управление дисплеем
Биты:
- 0 - BG включен
- 1 - FG включен
- 2 - спрайты включены
- 3 - спрайтовое окно включено
- 4,5 - FG-окно
- 0 0 - слой FG отображается внутри и снаружи зоны окна
- 0 1 - ??
- 1 0 - слой FG отображается только внутри окна
- 1 1 - слой FG отображается за пределами окна.
|
001h |
RW |
00000*** (WS) ******** (WSC)
|
REG_BACK_COLOR
|
Определяет цвет фона
Биты:
- WS: 0-2 - цвет фона из пула
- WSC: 0-3 - цвет фона, 4-7 палитра фона
|
002h |
R |
********
|
REG_LINE_CUR
|
Отображение текущей строки
|
003h |
RW |
********
|
REG_LINE_CMP
|
Сравнение линий (для прерывания обнаружения рисованной линии)
|
004h |
RW |
000***** (WS) 00****** (WSC)
|
REG_SPR_BASE
|
Определяет базовый адрес для таблицы спрайтов. Чтобы получить адрес таблицы, сдвиньте значение влево 9 раз: х хххххх0 00000000
|
005h |
RW |
0*******
|
REG_SPR_FIRST
|
Определяет номер спрайта для начала рисования
|
006h |
RW |
********
|
REG_SPR_COUNT
|
Количество спрайтов для рисования. Любое значение выше 080h действует как 080h.
|
007h |
RW |
0***0*** (WS) ******** (WSC)
|
REG_MAP_BASE
|
Базовый адрес тайловых карт
Формат:
- Биты 7-0 : ffffbbbb
- Биты 7-4 - Определение FG (адрес - 0ffff000 00000000)
- Биты 3-0 - Определение BG (адрес - 0bbbb000 00000000)
|
008h |
RW |
********
|
REG_SCR2_WIN_X0
|
Определение X верхнего левого угла окна FG
|
009h |
RW |
********
|
REG_SCR2_WIN_Y0
|
Определение Y верхнего левого угла окна FG
|
00Ah |
RW |
********
|
REG_SCR2_WIN_X1
|
Определение X нижнего правого угла окна FG
|
00Bh |
RW |
********
|
REG_SCR2_WIN_Y1
|
Определение Y нижнего правого угла окна FG
|
00Ch |
RW |
********
|
REG_SPR_WIN_X0
|
Определение X верхнего левого угла окна спрайтов
|
00Dh |
RW |
********
|
REG_SPR_WIN_Y0
|
Определение Y верхнего левого угла окна спрайтов
|
00Eh |
RW |
********
|
REG_SPR_WIN_X1
|
Определение X нижнего правого угла окна спрайтов
|
00Fh |
RW |
********
|
REG_SPR_WIN_Y1
|
Определение Y нижнего правого угла окна спрайтов
|
010h |
RW |
********
|
REG_SCR1_X
|
Скролл BG по оси X
|
011h |
RW |
********
|
REG_SCR1_Y
|
Скролл BG по оси Y
|
012h |
RW |
********
|
REG_SCR2_X
|
Скролл FG по оси X
|
013h |
RW |
********
|
REG_SCR2_Y
|
Скролл FG по оси Y
|
014h |
RW
|
******** (WS) ****00** (WSC) 0000000* (SC)
|
REG_LCD_CTRL
|
Бит 0 включает и выключает дисплей. Фукнкция остальных бит зависит от системы:
- WonderSwan:
- WonderSwan Color:
- 4-7 - ???
- 1 - контраст (0 - низкий, 1 - высокий)
- SwanCrystal
|
015h |
RW |
00******
|
REG_LCD_ICON
|
Иконки.
Биты:
- 5 - большой круг
- 4 - средний круг
- 3 - маленький круг
- 2 - положение иконки по горизонтали
- 1 - положение иконки по вертикали
- 0 - индикатор сна
|
016h |
RW |
********
|
REG_LCD_VTOTAL
|
Дисплейное прерывание VTOTAL. Влияет на все видеотайминги. Начальное значение 09Eh.
При установке значения на 255 дисплей отключается.
Установка значения меньше 143 прекращает вызов прерывания VBLANK и вызывает повторение первых строк VTOTAL на дисплее.
На SwanCrystal установка нечётных значений в регистре приводит к плохой работе дисплея: сканлайн, размытие, временное выгорание.
|
017h |
RW |
********
|
REG_LCD_VSYNC
|
Вероятно, положение VSYNC
На SwanCrystal регистр нулевой. Начальное значение - 09Bh
Должен быть больше 144 или меньше, чем VTOTAL, иначе дисплей выключится (?).
|
018h |
--
|
019h |
--
|
01Ah |
????
|
01Bh |
--
|
01Ch |
RW |
********
|
REG_PALMONO_POOL_0
|
Выбор пула монохромной палитры
Биты:
- 4-7 - Цвет (reg*2)+1
- 0-3 - Цвет (reg*2)+0
|
01Dh |
RW |
REG_PALMONO_POOL_1
|
01Eh |
RW |
REG_PALMONO_POOL_2
|
01Fh |
RW |
REG_PALMONO_POOL_3
|
020h |
RW |
0***0*** 0***0*** |
REG_PALMONO_0 (Low)
|
Монохромная палитра.
Биты:
- 12-14 - цвет 3
- 8-10 - цвет 2
- 4-6 - цвет 1
- 0-2 - цвет 0
|
021h |
RW |
REG_PALMONO_0 (High)
|
022h |
RW |
REG_PALMONO_1 (Low)
|
023h |
RW |
REG_PALMONO_1 (High)
|
024h |
RW |
REG_PALMONO_2 (Low)
|
025h |
RW |
REG_PALMONO_2 (High)
|
026h |
RW |
REG_PALMONO_3 (Low)
|
027h |
RW |
REG_PALMONO_3 (High)
|
028h |
RW |
REG_PALMONO_4 (Low)
|
029h |
RW |
REG_PALMONO_4 (High)
|
02Ah |
RW |
REG_PALMONO_5 (Low)
|
02Bh |
RW |
REG_PALMONO_5 (High)
|
02Ch |
RW |
REG_PALMONO_6 (Low)
|
02Dh |
RW |
REG_PALMONO_6 (High)
|
02Eh |
RW |
REG_PALMONO_7 (Low)
|
02Fh |
RW |
REG_PALMONO_7 (High)
|
030h |
RW |
REG_PALMONO_8 (Low)
|
031h |
RW |
REG_PALMONO_8 (High)
|
032h |
RW |
REG_PALMONO_9 (Low)
|
033h |
RW |
REG_PALMONO_9 (High)
|
034h |
RW |
REG_PALMONO_A (Low)
|
035h |
RW |
REG_PALMONO_A (High)
|
036h |
RW |
REG_PALMONO_B (Low)
|
037h |
RW |
REG_PALMONO_B (High)
|
038h |
RW |
REG_PALMONO_C (Low)
|
039h |
RW |
REG_PALMONO_C (High)
|
03Ah |
RW |
REG_PALMONO_D (Low)
|
03Bh |
RW |
REG_PALMONO_D (High)
|
03Ch |
RW |
REG_PALMONO_E (Low)
|
03Dh |
RW |
REG_PALMONO_E (High)
|
03Eh |
RW |
REG_PALMONO_F (Low)
|
03Fh |
RW |
REG_PALMONO_F (High)
|
040h |
RW |
******** *******0 |
REG_DMA_SRC (Low)
|
Адрес источника DMA, как линейный адрес (младшие 16 бит). Обновляется после каждой передачи
|
041h |
RW |
REG_DMA_SRC (Mid)
|
042h |
RW |
0000****
|
REG_DMA_SRC_HI
|
Адрес источника DMA, как линейный адрес (старшие 4 бита). Обновляется после каждой передачи
|
043h |
--
|
044h |
RW |
******** *******0 |
REG_DMA_DST (Low)
|
Адрес назначения DMA IRAM, как линейный адрес. Обновляется после каждой передачи
|
045h |
RW |
REG_DMA_DST (High)
|
046h |
RW |
******** *******0 |
REG_DMA_LEN (Low)
|
Размер передачи DMA в байтах. Обновляется после каждой передачи
|
047h |
RW |
REG_DMA_LEN (High)
|
048h |
RW |
**000000
|
REG_DMA_CTRL
|
Управление передачей DMA.
Биты:
- 7 - стоп/старт передачи. Когда передача закончена, бит принимает значение 0.
- 6 - шаг адреса (0 = увеличение, 1 = уменьшение)
|
049h |
--
|
04Ah |
RW |
******** ******** |
REG_SDMA_SRC (Low)
|
Адрес источника Sound DMA как линейный адрес (младшие 16 битов). Обновляется после каждой передачи
|
04Bh |
RW |
REG_SDMA_SRC (Mid)
|
04Ch |
RW |
******** ********
|
REG_SDMA_SRC_HI
|
Адрес источника Sound DMA как линейный адрес (старшие 4 бит). Обновляется после каждой передачи
|
04Dh |
--
|
04Eh |
RW |
******** ******** |
REG_SDMA_LEN (Low)
|
Размер передачи Sound DMA в байтах (младшие 16 бит). Обновляется после каждой передачи
|
04Fh |
RW |
REG_SDMA_LEN (Mid)
|
050h |
RW |
0000****
|
REG_SDMA_LEN_HI
|
Размер передачи Sound DMA в байтах (старшие 4 бит). Обновляется после каждой передачи
|
051h |
--
|
052h |
RW |
**0*****
|
REG_SDMA_CTRL
|
Управление передачей Sound DMA
Биты:
- 7 - стоп/старт передачи. Когда передача закончена, бит принимает значение 0. В случае зацикливания бит не сбрасывается сам по себе.
- 6 - шаг адреса (0 = увеличение, 1 = уменьшение)
- 4 - Порт назначения (0 = REG_SND_CH2_VOL, 1 = REG_SND_HYPERVOICE)
- 3 - цикл
- 2 - ???
- 0-1 - темп
- 0 CLK/768 (4000kHz)
- 1 CLK/512 (6000kHz) ?
- 2 CLK/256 (12000kHz) ?
- 3 CLK/128 (24000kHz) ?
|
053h |
---
|
054h |
---
|
055h |
---
|
056h |
---
|
057h |
---
|
058h |
---
|
059h |
---
|
05Ah |
---
|
05Bh |
---
|
05Ch |
---
|
05Dh |
---
|
05Eh |
---
|
05Fh |
---
|
060h |
RW |
***0*0**
|
REG_DISP_MODE
|
Режим отображения
Биты:
- 7 - количество цвето в плитках (0 = 4 цвета, 1 = 16 цветов)
- 6 - режим отображения (0=WS, 1=WSC)
- 5 - формат тайлов (0=packed, как в Mega Drive, или 1=layered, как в Game Gear)
|
061h |
---
|
062h |
RW |
0000000* (WSC) 1000000* (SC)
|
REG_WSC_SYSTEM
|
Отсутствует на WonderSwan. Содержит информацию, система является WonderSwan color или SwanCrystal. Также можно позволяет выключить питание.
Биты:
- 7 - система (0=WonderSwan Color, 1=SwanCrystal)
- 0 - значение 1 отключает систему.
|
063h |
---
|
064h |
---
|
065h |
---
|
066h |
---
|
067h |
---
|
068h |
---
|
069h |
---
|
06Ah |
RW |
********
|
REG_HYPER_CTRL
|
Hypervoice. Регистр связан с REG_HYPER_CHAN_CTRL
Биты:
- 7 - включено
- 4-6 - ???
- 2-3 режим масштабирования
- 0 data <<3-vol
- 1 data <<3-vol | (- 0x100 << 3-vol)
- 2 data <<3-vol
- 3 данные <<3
- 0-1 = громкость
|
06Bh |
RW |
0**0****
|
REG_HYPER_CHAN_CTRL
|
Hypervoice. Регистр связан с REG_HYPER_CTRL
Биты:
- 6 - включает правый канал
- 5 - включает левый канал
- 0-3 - ???
|
06Ch |
---
|
06Dh |
---
|
06Eh |
---
|
06Fh |
---
|
070h |
R |
|
REG_UNK_70
|
Присутствует только на SwanCrystal. Имеет значение 0D0h
|
071h |
R |
RRRRRRRR
|
REG_UNK_71
|
Присутствует только на SwanCrystal. Имеет значение 077h
|
072h |
R |
RRRRRRRR
|
REG_UNK_72
|
Присутствует только на SwanCrystal. Имеет значение 0F7h
|
073h |
R |
RRRRRRRR
|
REG_UNK_73
|
Присутствует только на SwanCrystal. Имеет значение 006h
|
074h |
R |
RRRRRRRR
|
REG_UNK_74
|
Присутствует только на SwanCrystal. Имеет значение 0E2h
|
075h |
R |
RRRRRRRR
|
REG_UNK_75
|
Присутствует только на SwanCrystal. Имеет значение 00Ah
|
076h |
R |
RRRRRRRR
|
REG_UNK_76
|
Присутствует только на SwanCrystal. Имеет значение 0EAh
|
077h |
R |
RRRRRRRR
|
REG_UNK_77
|
Присутствует только на SwanCrystal. Имеет значение 0EEh
|
078h |
---
|
079h |
---
|
07Ah |
---
|
07Bh |
---
|
07Ch |
---
|
07Dh |
---
|
07Eh |
---
|
07Fh |
---
|
080h |
RW |
00000*** ********
|
REG_SND_CH1_PITCH (Low)
|
Значение частоты канала
|
081h |
RW |
REG_SND_CH1_PITCH (High)
|
082h |
RW |
REG_SND_CH2_PITCH (Low)
|
083h |
RW |
REG_SND_CH2_PITCH (High)
|
084h |
RW |
REG_SND_CH3_PITCH (Low)
|
085h |
RW |
REG_SND_CH3_PITCH (High)
|
086h |
RW |
REG_SND_CH4_PITCH (Low)
|
087h |
RW |
REG_SND_CH4_PITCH (High)
|
088h |
RW |
********
|
REG_SND_CH1_VOL
|
Громкость канала
Биты:
- 4-7 - громкость слева
- 0-3 - громкость справа
Для Voice весь регистр является значением PCM
|
089h |
RW |
REG_SND_CH2_VOL
|
08Ah |
RW |
REG_SND_CH3_VOL
|
08Bh |
RW |
REG_SND_CH4_VOL
|
08Ch |
RW |
********
|
REG_SND_SWEEP_VALUE
|
Значение sweep для канала 3 в режиме sweep
|
08Dh |
RW |
000*****
|
REG_SND_SWEEP_TIME
|
Тайминг sweep для канала 3 в режиме sweep
|
08Eh |
RW |
000*****
|
REG_SND_NOISE
|
Настройка шума для канала 4 в шумовом режиме. При изменении режима шума нужно также установить бит сброса.
Биты:
- 4 - вкл/выкл
- 3 - сброс
- 0-2 - режим
|
08Fh |
RW |
********
|
REG_SND_WAVE_BASE
|
Указатель на волновую таблицу. Значение регистра должно быть по адресу >> 6.
|
090h |
RW |
***0****
|
REG_SND_CTRL
|
Включает каналы и меняет режим их работы
Биты:
- 7 - режим канала 4 (0=Wave, 1=Noise)
- 6 - режим канала 3 (0=No Sweep, 1=Sweep)
- 5 - режим канала 2 (0=Wave, 1=Voice)
- 4 - не используется
- 3 - канал 4 работает
- 2 - канал 3 работает
- 1 - канал 2 работает
- 0 - канал 1 работает
|
091h |
RW |
R000****
|
REG_SND_OUTPUT
|
Выходной контроль
Биты:
- 7 - подключение наушников
- 3 - наушники вкл.
- 1-2 Сдвиг громкости основного динамика. Значение, отправленное на ШИМ динамика, сдвигается на это количество бит вниз
- 0 - основной динамик вкл.
|
092h |
R |
0RRRRRRR RRRRRRRR |
REG_SND_RANDOM (Low)
|
Текущее значение шума LFSR
|
093h |
R |
REG_SND_RANDOM (High)
|
094h |
RW |
0000****
|
REG_SND_VOICE_CTRL
|
Стереэффект PCM voice
Биты полной громкости переопределяют биты половинной громкости.
Биты:
- 3 - Левый канал вкл. (половинная громкость)
- 2 - Левый канал вкл. (полная громкость)
- 1 - Правый канал вкл. (половинная громкость)
- 0 - Правый канал вкл. (полная громкость)
|
095h |
RW |
********
|
REG_SND_HYPERVOICE
|
Неизвестно. Вероятно, Hypervoice-семплы
|
096h |
RW |
000000** ******** (WS) 00000000 00000000 (WSC+SC)
|
REG_SND_9697 (Low)
|
Неизвестно
|
097h |
RW |
REG_SND_9697 (High)
|
098h |
RW |
000000** ******** (WS) 00000000 00000000 (WSC+SC)
|
REG_SND_9899 (Low)
|
Неизвестно
|
099h |
RW |
REG_SND_9899 (High)
|
09Ah |
R |
00000111 (WS) 00000000 (WSC+SC)
|
REG_SND_9A
|
Неизвестно
|
09Bh |
R |
11111110 (WS) 00000000 (WSC+SC)
|
REG_SND_9B
|
Неизвестно
|
09Ch |
R |
11111111 (WS) 00000000 (WSC+SC)
|
REG_SND_9C
|
Неизвестно
|
09Dh |
R |
11111111 (WS) 00000000 (WSC+SC)
|
REG_SND_9D
|
Неизвестно
|
09Eh |
R |
000000**
|
REG_SND_9E
|
Неизвестно
|
09Fh |
---
|
0A0h |
RW
|
+000**0+ (WS)
+000**1+ (SC/WSC)
+++++*1+ (SC в WS mode)
|
REG_HW_FLAGS
|
Единственным реальным использованием этого регистра является проверка системы с цветом.
Биты:
- 7 - System BIST passed (заблокировано)
- 4-6 - Неизвестно, что SC в режиме WS
- 3 - скорость ПЗУ картриджей (0=3 цикла, 1=1 цикл)
- 2 - Разрядность внешней шины (0=8bit, 1=16bit). Большинство
- 1 - система (0=WonderSwan, 1=WonderSwan Color)
- 0 BIOS bank out (заблокировано) (0=BIOS mapped, 1=Cart mapped)
|
0A1h |
---
|
0A2h |
RW |
0000****
|
REG_TMR_CTRL
|
Управление таймеров
Биты:
- 3 - режима таймера V-Blank (0=один раз, 1=автоповтор)
- 2 - таймер V-Blank вкл/выкл
- 1 - режима таймера H-Blank (0=один раз, 1=автоповтор)
- 0 - таймер H-Blank Timer вкл/выкл
|
0A3h |
???
|
0A4h |
RW |
******** ********
|
REG_HTMR_FREQ (Low)
|
Частота таймера H-Blank
|
0A5h |
RW |
REG_HTMR_FREQ (High)
|
0A6h |
RW |
******** ********
|
REG_VTMR_FREQ (Low)
|
Частота таймера V-Blank
|
0A7h |
RW |
REG_VTMR_FREQ (High)
|
0A8h |
R |
RRRRRRRR RRRRRRRR
|
REG_HTMR_CTR (Low)
|
Текущее значение счётчика таймера H-Blank
|
0A9h |
R |
REG_HTMR_CTR (High)
|
0AAh |
R |
RRRRRRRR RRRRRRRR
|
REG_VTMR_CTR (Low)
|
Текущее значение счётчика таймера V-Blank
|
0ABh |
R |
REG_VTMR_CTR (High)
|
0ACh |
???
|
0ADh |
---
|
0AEh |
---
|
0AFh |
---
|
0B0h |
RW |
*******0 (WSC + SC) *****011 (WS)
|
REG_INT_BASE
|
Смещение номера прерывания для аппаратных прерываний. Нижние 3 бита игнорируются аппаратным обеспечением генерации прерываний, поэтому их можно игнорировать. Фактические сгенерированные номера прерываний: (REG_INT_BASE & 0F8h) / intnum
|
0B1h |
RW |
********
|
REG_SER_DATA
|
Байты связи. Используются как для передачи, так и для приема
|
0B2h |
RW |
********
|
REG_INT_ENABLE
|
Включение аппаратных прерываний.
Биты:
- 7 - таймер HBlank
- 6 - начало VBlank
- 5 - таймер VBlank
- 4 - Обнаружение рисования линий
- 3 - Последовательный приём данных
- 2 - RTC Alarm
- 1 - Нажатие кнопок
- 0 - Последовательная передача данных
|
0B3h |
RW |
**R00RRR
|
REG_SER_STATUS
|
Статус передачи и направление
Биты:
- 7 - Включение передачи
- 6 - Скорость передачи (0=9600, 1=38400)
- 5 - Сброс Переполнения
- 2 - Отправка пустого буфера/завершение передачи
- 1 - Переполнение/ошибка
- 0 - Завершение приёма
|
0B4h |
R |
RRRRRRRR
|
REG_INT_STATUS
|
Битовая маска для текущих вызваннных аппаратных прерываний. Используемые биты совпадают с номерами прерываний.
REG_INT_ENABLE не влияет на этот регистр.
|
0B5h |
RW |
0***RRRR
|
REG_KEYPAD
|
Кнопки управления
Биты:
- Запись/чтение
- 6 - чтение кнопок
- 5 - чтение X-кнопок
- 4 - чтение Y-кнопок
- Чтение:
- 3 - B, X4, Y4
- 2 - A, X3, Y3
- 1 - Start, X2, Y2
- 0 - X1, Y1
|
0B6h |
W |
WWWWWWWW
|
REG_INT_ACK
|
Подтверждение прерывания. Каждый установленный бит будет подтверждать соответствующее прерывание, очищенные биты не действуют.
REG_INT_ENABLE не влияет на этот регистр.
Чтение этого регистра возвращает 0.
Биты:
- 7 - таймер HBlank
- 6 - начало VBlank
- 5 - таймер VBlank
- 4 - Обнаружение рисования линий
- 3 - Последовательный приём данных
- 2 - RTC Alarm
- 1 - Нажатие кнопок
- 0 - Последовательная передача данных
|
0B7h |
???
|
0B8h |
---
|
0B9h |
---
|
0BAh |
RW |
******** ********
|
REG_IEEP_DATA (Low)
|
Data port
|
0BBh |
RW |
REG_IEEP_DATA (High)
|
0BCh |
RW |
******** ********
|
REG_IEEP_ADDR (Low)
|
адресный порт и порт управления
1 Кбит:
- 8 - начало
- 6-7 - Команда (0=расширенная команда, 1=запись, 2=чтение, 3=стереть)
- 0-5 - адрес
16 Кбит:
- 12 - начало
- 10-11 - Команда (0=расширенная команда, 1=запись, 2=чтение, 3=стереть)
- 0-9 - адрес
Расширенные команды (верхние 2 бита адреса)
- 0 - EWDS (запись выкл.)
- 1 - WRAL (записать всё.)
- 2 - ERAL (Стереть всё)
- 3 - EWEN (запись вкл.)
|
0BDh |
RW |
REG_IEEP_ADDR (High)
|
0BEh |
R |
000000**
|
REG_IEEP_STATUS
|
Порт статуса
Биты:
- 1 - Запись завершена
- 0 - Чтение завершено
|
W |
0***0000
|
REG_IEEP_CMD
|
Тип поведения. Также запуск команды. Установка более одного бита ничего не вызывает.
Биты:
- 6 - Защита
- 5 - Запись
- 4 - Чтение
|
0BFh |
???
|
0C0h |
RW |
********
|
REG_BANK_ROM2
|
Выбор банка ROM (сегменты 4-F)
Регистр содержит верхние биты банка ПЗУ, используемые для доступа к ROM2; нижние 4 бита банка - это верхние 4 бита адреса, к которому осуществляется доступ в этом диапазоне. Все 8 бит сохраняют состояние.
В маппере 2001 выводится только 4 бита, в 2003 - 6
Например, для значения регистра 0F4h и адреса доступа 056789h результирующий адрес ПЗУ будет 0456789h для маппера 2001 и 03456789h для маппера 2003.
|
0C1h |
RW |
********
|
REG_BANK_SRAM
|
Выбор банка SRAM
Пример: для значения регистра 034h и адреса обращения к 015678h результирующий адрес SRAM будет 0345678h.
|
0C2h |
RW |
********
|
REG_BANK_ROM0
|
Выбор банка ROM0 (сегмент 2).
Пример: для значения регистра 034h и адреса доступа 025678h результирующий адрес ПЗУ будет 0345678h.
|
0C3h |
RW |
********
|
REG_BANK_ROM1
|
Выбор банка ROM1 (сегмент 3).
Пример: для значения регистра 034h и адреса доступа 025678h результирующий адрес ПЗУ будет 0345678h.
|
0C4h |
RW |
******** ********
|
REG_EEP_DATA (Low)
|
Data port картриджа
|
0C5h |
RW |
REG_EEP_DATA (High)
|
0C6h |
RW |
|
REG_EEP_ADDR (Low)
|
адресный порт и порт управления картриджа
1 Кбит:
- 8 - начало
- 6-7 - Команда (0=расширенная команда, 1=запись, 2=чтение, 3=стереть)
- 0-5 - адрес
16 Кбит:
- 12 - начало
- 10-11 - Команда (0=расширенная команда, 1=запись, 2=чтение, 3=стереть)
- 0-9 - адрес
Расширенные команды (верхние 2 бита адреса)
- 0 - EWDS (запись выкл.)
- 1 - WRAL (записать всё.)
- 2 - ERAL (Стереть всё)
- 3 - EWEN (запись вкл.)
|
0C7h |
RW |
REG_EEP_ADDR (High)
|
0C8h |
R |
|
REG_EEP_STATUS
|
порт статуса картриджа
Биты:
- 6 - Защита
- 5 - Запись
- 4 - Чтение
- 3 - ??
- 2 - ??
- 1 - Запись завершена
- 0 - Чтение завершено
|
0C8h |
W |
|
REG_EEP_CMD
|
Командный порт картриджа
Биты:
- 6 - Защита
- 5 - Запись
- 4 - Чтение
- 3 - ??
- 2 - ??
- 1 - Запись завершена
- 0 - Чтение завершено
|
0C9h |
???
|
0CAh |
R |
|
REG_RTC_STATUS
|
Статус часов
Бит 7 - ожидание команды
|
W |
|
REG_RTC_CMD
|
Команды часам
Запись:
- $10 - Сброс
- $12 - ??? будильник ???
- $13 - ???
- $14 - Установить время
- $15 - Получить время
Чтение:
|
0CBh |
RW |
|
REG_RTC_DATA
|
Данные часов
Запись:
После команды ($CA):
- $14 - 7 записей
- год (+2000)
- месяц
- день
- день недели
- час
- минута
- секунда
чтение: после команды ($CA)
- $13 - бит 7 - Ack [HACK = 1]
- $15 - 7 записей
- год (+2000)
- месяц
- день
- день недели
- час
- минута
- секунда
|
0CCh |
RW |
********
|
REG_GPO_EN
|
General-Purpose Outputs - выходные данные общего назначения, используются некоторыми мапперами, например, для светодиодов
Биты:
- 4-7 - ????
- 3 - GPO3 вкл
- 2 - GPO2 вкл
- 1 - GPO1 вкл
- 0 - GPO0 вкл
|
0CDh |
RW |
********
|
REG_GPO_DATA
|
Биты:
- 4-7 - ???
- 3 - GPO3-данные (чтение записанного состояния)
- 2 - GPO2-данные (чтение записанного состояния)
- 1 - GPO1-данные (чтение записанного состояния)
- 0 - GPO0-данные (чтение записанного состояния)
|
0CEh |
RW |
|
REG_WW_FLASH_CE
|
Порт ввода/вывода для WonderWitch, коммерческого комплекта разработки, который использует Flash-ROM для хранения программ, а также OS и BIOS под названием Freya.
Flash-ROM может быть записан из WonderWitch, но нельзя одновременно писать код и выполнять. То есть нужно перебрасывать код в ОЗУ и выполнять его оттуда, чтобы записать данные на Flash-ROM
|
0CFh |
???
|
0D0h |
???
|
0D1h |
???
|
0D2h |
???
|
0D3h |
???
|
0D4h |
???
|
0D5h |
???
|
0D6h |
???
|
0D7h |
???
|
0D8h |
???
|
0D9h |
???
|
0DAh |
???
|
0DBh |
???
|
0DCh |
???
|
0DDh |
???
|
0DEh |
???
|
0DFh |
???
|
0E0h |
???
|
0E1h |
???
|
0E2h |
???
|
0E3h |
???
|
0E4h |
???
|
0E5h |
???
|
0E6h |
???
|
0E7h |
???
|
0E8h |
???
|
0E9h |
???
|
0EAh |
???
|
0EBh |
???
|
0ECh |
???
|
0EDh |
???
|
0EEh |
???
|
0EFh |
???
|
0F0h |
???
|
0F1h |
???
|
0F2h |
???
|
0F3h |
???
|
0F4h |
???
|
0F5h |
???
|
0F6h |
???
|
0F7h |
???
|
0F8h |
???
|
0F9h |
???
|
0FAh |
???
|
0FBh |
???
|
0FCh |
???
|
0FDh |
???
|
0FEh |
???
|
0FFh |
???
|