Загрузчик демы не дружит с Бейсиком128, надо или через USR0 запускать, или фиксить загрузчик.
Вид для печати
Загрузчик демы не дружит с Бейсиком128, надо или через USR0 запускать, или фиксить загрузчик.
У меня осталась какая-то проблема с вертикальными смещениями, как это было в тесте с картинкой Марио. Пока что скролл получил, но в виде вертикальных цветных полос.
TSL, где кроме сырцов прошивки можно подглядеть дешифрацию портов. Например, при запуске в биос встречается такое:Дебажил в unreal-е с твоей конфой, в этот момент DOS отключен, по сырцам порты xxF7 выбираются с A8=1. Непонятно, во что ведёт порт 00F7?Код:5C92 XOR A
5C93 OUT (F7),A
5C95 IN A,(F7)
5C97 CP 1E
5C99 JR Z,5C9E
5C9B CP 1F
5C9D RET NZ
5C9E RST8
Код:if( !a[14] && (a[8]^shadow) && gluclock_on ) // $BFF7 - data i/o
...
assign portf7_wr = ((loa==PORTF7) && (a[8]==1'b1) && port_wr && (!shadow)) || ((loa==PORTF7) && (a[8]==1'b0) && port_wr && shadow) ;
build 20130818
- Добавлен интерфейс NemoEvo, в BaseConf и TSConf для корректной работы должен быть выставлен он. Теперь и запись правильная.
- TSConf : добавлены порты SPI/SDCard и IDE/HDD. С образа SD-карточки получилось запустить WC0.40.
- TSConf : вытащил из прошивки дешифрацию портов xxF7 и xxFD.
- TSConf : реализована защелка 128/512K в порту 21AF.
- TSConf : разобрался со смещениями. Тест с 3 режимами в кадре работает, тест с гепардом работает, тест с палитрой работает.
- В меню появился пункт PC keyboard. Если он активен, эмулятор сам не реагирует ни на какую клавишу, кроме F12, всё со сканкодами отправляется в эмулируемую машину.
Между делом Innsmouth заработал.
[ deb x86 SDL ][ deb amd64 SDL ][ win32 ]
С NemoEvo чтение нормально работает, запись путает старший-младший байты. Формирование буфера и скидывание его в файл реализованы верно - в SMUC оно работает. В процессе разбора.
Разбор закончен. В режиме divide сначала надо писать младший байт данных, потом старший, после чего всё передаётся hdd. Во всех остальных реализациях наоборот - сначала пишется старший, потом младший. В процессе починки.
Нижнааааю я, умвр. Завтра нарисую тебе тестовый образ HDD и тест чтения с него, будем выяснять. Кстати, это только HDD так крючит или SD-карту тоже? И будет ли нерабочим этот образ в TSConf (он только FAT32 признаёт)?
Перезалил сборки. NemoEvo начало нормально писать. В юзер-меню можно включить эмуляцию PC-клавиатуры - эмулятор не будет реагировать ни на что, кроме F12, зато ESC, F1...F11 и оба ALT будут слать сканкоды в эмулируемую машину.
дема с шариками у меня как-то странно работает. На видео 3 шара, у меня - целый шлейф, причём начинается то поверх всего, то между решётками, то вообще под ними.
В архиве : а) тестовый образ в 2Кб, первый сектор заполнен 01.02.03...FE.FF.FF.FE...02.01, остальные нулями; б) исходник теста в формате sjasm-а; в) снапшот с этим тестом
Тест делает следующее: синий бордюр, ждём нажатия-отпускания клавиши, заполняем в памяти 512 байт по образцу первого сектора в образе, считываем в режиме LBA первый сектор (LBA 0), сравниваем с заполненным образцом, записываем образец во 2й сектор (LBA 1), считываем записанное обратно и снова сравниваем с образцом. Если всё хорошо - зелёный бордюр и 3 окрашенных знакоместа. Если ошибка при сравнении - красный бордюр. Цвета знакомест: голубое - чтение, красное - запись+чтение, зелёное - конец. Если произошла ошибка, по этим знакоместам можно определить, на каком шаге.
Тест действует на NemoEvo.