Quote:
ВОПРОС ВСЕМ НА ЗАСЫПКУ !!!
имеем файл GAMES.BAS\FRACTALS\FRACT.LVT
EMU загрузка запуск нормально list 650
Эмулятор 3000 ошибка после строки 650
JavaScript эмулятор с сайта, ошибка после строки 650
Мой эмулятор ошибка , хотя полностью переписал загрузку BASIC файлов:
загружаем файл, данные с BasicProgBegin 1723h
записываем BasicProgEnd 0245-46h (длину считанного + 1723h)
SP=BasicStack;
из формата для эмуляторов:
Для бейсика схоже, только адресс начала программы берется не из файла, а используются системные переменные для бейсика (их ищем тут). В самом файле идет просто код. Не забываем установить адрес окончания бейсик-программы.
ГДЕ КОСЯК ?
PS. другие бейсик программы лоадяться нормально !!!!
Вычислил багу:
1) как бейсик лежит в памяти, а вот так - 00, адрес следующей строки, номер текущей строки
2) строка 660 начинаеться у нас так( 00, AC 1F, 8A 02 по русски след строка с адреса 1FAC, строка 650)
естественно вместо 1FAC должно быть 1FA6 , так как следующая строка начинаеться именно там
3) смотрю файл FRACT.LVT, а там то же 1FAC !!!! косяк в файле 100% !!!! (если поменять на 1FA6, все прекрасно начинает работать )
4)
и поэтому к уважаемому b2m вопрос, что делает ваш эмулятор после загрузки бейсик файла ?, гдето я тут читал на форуме (вроде) что есть адрес обращения к бейсику(подпрограмме) , чтобы он бейсик порграмму типа проиндексировал ????!!!!!
5) с эмуляцией порцессора все в порядке значит