А менее масштабные задачи, нежели портирование (но к нему ведущие, например разделение на компоненты, какие-нибудь тесты и.т.п.) тоже после того как "добьем белых"?
Вид для печати
Нах оно это портирование, уйма времени а пользы чуть.
Кому интересно обсуждение конфы и ветки анрыла - заходите на tslabs.info/forum.
Авто-подтверждение регистрации там отключено изза спама, после регистрации плз отправьте письмо на tslabs.info гмыло.ком с ником, для активации.
А в какой ветке/версии анрила поддерживается турбо-режим (в частности в проф-скорпионе)? Пользуюсь unreal0.37.6, там этот пункт в мониторе не активен.
Турбо-режим Скорпиона не поддерживается. Только Пентагон и АТМ Турбо в 0.37.1.
какие настройки? Менял маску EFF7mask=0, толку нет, всё равно стоит флажок noturbo. Да и к скорпиону этот флаг вроде не подходит. А больше и не знаю что менять.
В версии 0.37.6 найдена печальная бага - покомандное исполнение по шагам и эмуляция дают разное состояние. Воспроизводится так:
1. Выбираем Pentagon, открываем приаттаченный trd.
2. Ставим бряк на 800C call 8012.
3. Запускаем все, ждем остновки на бряке.
4. Смотрим на счетчик тактов - если он равен 88, нам не повезло. Сбрасываем и исполняем, пока счетчик тактов на 8012 не будет равен 85-87.
5. Нажимаем F8 - получаем в точке 800F в аккумуляторе 00
6. Повторяем шаги 3-4.
7. Ставим бряк на 801E inc bc (чтобы не ждать цикл задержки).
8. Эмулируем до бряка, трассируем дальше по шагам (801E - 8020, ISR, 801E)
9. В точке 800F получаем в аккумуляторе FF.
Хотел написать выравнивалку на 4 такта, код такой:
Код:
Start:
call setup_isr
halt
nop
jp $ + 3 ; wait
ld (#0000),ix ; wait
call shift_one_tact ; <- 800C
jp $ ; <- 800F
shift_one_tact:
ld de,2981 ; wait loop
dec de
ld a,d
or e
jp nz,$ - 3
ld b,(ix) ; wait
inc bc ; wait, <- 801E
xor a
dec a ; execution of this command depends from emulation mode (emulation / step-by-step)
nop ; skip by isr
ret
setup_isr:
ld hl,#8e00
ld de,#8e01
ld (hl),#0ff
ld bc,#100
ldir
di
ld a,#8e
ld i,a
im 2
ld a,#018
ld (#0ffff),a
ld a,#0e1 ; pop hl (10t)
ld (#0fff4),a
ld a,#23 ; inc hl (6t)
ld (#0fff5),a
ld a,#0fb ; ei (4)
ld (#0fff6),a
ld a,#0e9 ; jp (hl) (4)
ld (#0fff7),a
ei
ret
В zxmak2 можешь отладить, в нем нет разницы в исполнении по шагам и в рантайме - один и тот-же код работает