ЕМНИП, в мониторе числа шестнадцатиричные. 8 бит = 256 байт. 100h = 256.
ЕМНИП, в мониторе числа шестнадцатиричные. 8 бит = 256 байт. 100h = 256.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Во-первых, загрузчик маленький, вполне помещается в 128 байт.
А во-вторых, в контроллере и так мало ОЗУ, зачем лишнее использовать.
Директива U (как и любая другая не обработанная монитором) передаёт управление по адресу F000. Твоё предложение требует эмуляции ПЗУ по адресу F000, а тут идёт обмен данными через ВВ55. Под режимом эмуляции ПЗУ имеется ввиду эмуляция ROM-диска РК86.
Приехали платки проекта https://github.com/andykarpov/radio-86rk-sdcard, изготовленные dfrobot.com, есть 8 штук в наличии.
Тема в барахолке: http://zx-pk.ru/market/viewtopic.php?f=7&t=2567
Собрал свою платку.
Пока не получается заставить ее работать
Собирал, правда, на Atmega328p. Проект в CodeVisionAVR пересобрал под этот камень, но есть подозрение, что где-то в коде есть привязки к Atmega8. Пока не могу понять. Вот если бы автор ткнул носом
Fuse bits выставил такие: -U lfuse:w:0xc2:m -U hfuse:w:0xd9:m -U efuse:w:0xff:m
Если карточку не вставить - то моргает светодиод, как по логике задумано.
Если карточку вставить с нужными ей файлами - то светодиод один раз зажигается и тухнет. После этого, если в мониторе набрать R0,100 - ничего не происходит. Память девственно чистая. Есть подозрение на код эмуляции ПЗУ.
Там меня смущает один момент... Не понимаю, что это значит:
.EQU PIND = $10
.EQU DDRD = $11
.EQU PORTD = $12
.EQU PINC = $13
.EQU DDRC = $14
.EQU PORTC = $15
.EQU PINB = $16
.EQU DDRB = $17
.EQU PORTB = $18
Последний раз редактировалось andykarpov; 09.11.2014 в 14:11.
Что тут непонятного? Эти же определения прописаны в инклюдах к конкретному камню. Номера портов.
---------- Post added at 16:01 ---------- Previous post was at 15:59 ----------
А если открыть инклуд к мега328р, то наблюдаем:
sfrb PINB=3;
sfrb DDRB=4;
sfrb PORTB=5;
sfrb PINC=6;
sfrb DDRC=7;
sfrb PORTC=8;
sfrb PIND=9;
sfrb DDRD=0xa;
sfrb PORTD=0xb;
Намек ясен, куда копать?
---------- Post added at 16:02 ---------- Previous post was at 16:01 ----------
В награду требую бронирования платки!
ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
Speccy-2007 128/AY/TR-DOS
Сайт с документацией к "Scorpion ZS 256"
пообщался с многоуважаемым Vinxru. Поведал мне автор о секретах, например об обязательном контроле адреса массива rom (по файлу .map) с тем, что прописано в asm-секции. У меня почему-то смещение 0x300, посему .EQU ROM должно быть 3 вместо 1. Либо надо было крутить размер стека таким образом, чтобы переменная rom начала находиться по адресу 0x100.
После этих манипуляций эмуляция ПЗУ завелась! Ура
Но данные не совсем соотетствуют тому, что находится в файле boot.rk.
В файле: 0E 00 CD 69 00 C3 17 00
Я получаю: 0E 00 8D 79 00 83 07 00
Уже курил на тему подтяжки MISO, длины шлейфа, допаял на карточку дополнительный конденсатор, понизил скорость SPI - ничего не помогает.
При этом если запускать несколько раз R0,100, потом смотреть D0,100 - данные с одними и теми же ошибками. Посему можно сделать вывод, что при чтении с карточки они попадают во внутренний буфер уже поломанными.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)