Вход

Просмотр полной версии : Тест и программирование General Sound



jerri
29.07.2022, 20:40
Evgeny Muchkin, когда я делаю тест например из адвентюрера, то на запросе данных у меня все благополучно повисает.

в BombFusion такой фигни не происходит

ты делаешь софт ресет.


ld a,#f3
call sc



потом тесты.

потом ждешь 75 фреймов
почему именно 75?



ld e,#ff
ld b,#4b
halt
djnz $-1

call test_gscom
cp #7e
jr nz,test_failed



дальше идет запрос памяти



ld a,#20
call sc

halt
halt
halt
halt
halt

call gd
ex af,af'

halt
halt
halt
halt
halt

call gd
ld l,a

halt
halt
halt
halt
halt

call gd
ld h,a

halt
halt
halt
halt
halt

ex af,af'
cp l
jr nz,test_gsports
cp h
jr z,test_failed

test_passed


тут более менее понятно
а вот следующий кусок
что именно делает?



ld hl,data_gs
ld b,#05
ld e,#01
gs_loop1
ld a,#03
call sd

ld a,#10
call sc

halt
halt
halt
halt
halt

ld a,(hl)
call sd

halt
halt
halt
halt

call gd

halt
halt
halt
halt
cp (hl)
jr nz,test_ended
inc hl
djnz gs_loop1

ld e,b






test_ended
ld a,e
ret


по паузам вопрос. Они както эмпирически вычислены или еще както обоснованы?

Evgeny Muchkin
18.08.2022, 20:33
а вот следующий кусок
что именно делает?
BASS.DLL не BASS.DLL

BASS не все команды умеет.

- - - Добавлено - - -


почему именно 75?
Не помню :)

- - - Добавлено - - -

После cp #7e , если там не #7e по правильному надо в течение 10 примерно секунд продолжить попытки чтения из #bb. И, если #7e таки не получилось, тогда уже test_failed делать. В противном случае, ГС не определится, если тест запустить в момент инита 2х метров памяти на классической GS.