Code: Select all
#C000...#C0FF - регистры WizNET (используются только первые 48 байт из 256)
#C100...#C1FF - окно первой шины NI-15 (задействованы все 256 байт)
#C200...#C2FF - окно второй шины NI-15 (задействованы все 256 байт)
#C300...#C3FF - часы реального времени с энергонезависимой памятью (используются только первые 128 байт из 256)
#C400...#C7FF - управление сокетами WizNET (задействован весь килобайт)
#C800...#CFFF - через это 2К окно просвечивает ОЗУ (тут будет вектор переходов ShaOS, стек и буфер под системные утилиты)
#D000...#D7FF - ПЗУ 2К с драйверами SD-карты (минимальный ShaOS)
#D800...#DFFF - место под второе ПЗУ 2К (опционально)
#E000...#FFFF - сюда подключается RX-буфер или TX-буфер WizNET (занимает все 8К)
P.S. Видно что есть место для расширения - в области #C031...#C0FF и #C380...#C3FF можно будет в будущем цеплять другие периферийные устройства как ВВ55, ВВ51 и т.д.
P.P.S. Можно сделать так, что при передаче управления в область #CCxx (вектор переходов ShaOS) это всё будет вставляться в память процессора автоматически (при условии взведения некоего триггера), а при возврате из подпрограммы память будет отдаваться обратно.
P.P.P.S. Для управления хочу ещё заюзать 3 свободных бита при записи в порт #FE...