Так, версия для 128 кб.
В меню диска опрашивается кемпстон:
если кемпстона нет, из порта приезжает #FF, и вместо перехода на опрос клавиатуры происходит переход на кусок, обслуживающий сдвиг курсора вверх.Код:read_kempston: ei halt in a, (PORT_KEMPSTON) and a jr z, read_keyboard bit 0, a jp nz, cursor_up ....
И так до бесконечности.
- - - Добавлено - - -
Та же 128я версия.
Если выбрать в дисковом меню несуществующий драйв, впадает в бесконечный цикл с ошибкой.
После вызова инициализации драйва происходит ошибка, в аккумуляторе возвращается #CC,
в результате чего печатается сообщение с ошибкой, далее возврат на инит драйва А.
Но при инициализации существующего драйва снова возвращается #CC, и так по кругу.
(В случае, если изначально выбрать существующий драйв, инициализация проходит успешно,Код:drive_init: ld c, 1 ; drive init from register A call call_dos_func and a jp z, read_sys_sector ld a, code_RET ld (smc_abandon), a ; set RET call abandon ld a, code_JP ld (smc_abandon), a ; set JP xor a jr drive_init
и в аккумуляторе возвращается #00).




Ответить с цитированием