PC-01 Lviv
http://pc01.lviv.ua/forum/

Хочу написать свой эмулятор ПК-01 Львов на Delphi
http://pc01.lviv.ua/forum/viewtopic.php?f=12&t=193
Page 10 of 15

Author:  MARAT_BEST [ 16 Sep 2013, 13:41 ]
Post subject:  Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi

Quote:
Я не игнорю. Я в раздумиях. Уроки шли с первой студией, в которой уже даже я не пишу. Нужно б перескринить все на вторую и все перевыложить. Более того, точно помню, что в последнем уроке я поспешил и оставил бажное место. Нужно исправлять :( Да заняться никак не получается. Тем более не думал, что кто-то чего-то изучал по этим урокам. Восновном комменты были в стиле "ничего не понял, но автору респект".
я не коментил , но наблюдал с интересом, и был бы очень рад если тема возобновилась :roll:

Author:  liberation [ 17 Sep 2013, 07:28 ]
Post subject:  Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi

Quote:
Давайте договоримся так. Если до НГ я не продолжу уроки, Вы войдете в роль Деда Мороза и выложите Ксоникс (только не помню, чтобы он был играбельным). с едкими комментами в мой адрес.
Ну, я Вас за язык не тянул. ;)
Quote:
Найдете игру и уйдете на песнию? Что за старперские нотки! Конечно, никто не требует десятки разножанровых игр, как это могло бы быть в начале 90-х. Но хотя бы начать писать что-то простенькое, но, с учетом нынешнего опыта, занятное вполне можно. Тем более, в наше время инстументария хватает.
А давайте-ка проведем перепись такого инструментария. А то я несколько потерялся в этом вопросе. Что у нас есть?

Author:  Zelya [ 17 Sep 2013, 14:27 ]
Post subject:  Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi

Quote:
А давайте-ка проведем перепись такого инструментария. А то я несколько потерялся в этом вопросе. Что у нас есть?
У Вас есть notepad++, TASM, эмуляторы с дебаггером и неограниченная память. С учетом мультизадачности и общего буффера обмена в ОС, это просто-таки невероятная магия для программиста начала 90-х.
Для более сложных либо длинных рутинных задача можно в полчаса написать себе помощника на чем умеете: Джава, Си, хоть на Лиспе.
Разве мало? Разве неудобно?

Author:  MARAT_BEST [ 19 Sep 2013, 04:46 ]
Post subject:  Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi

ВОПРОС ВСЕМ НА ЗАСЫПКУ !!!

имеем файл GAMES.BAS\FRACTALS\FRACT.LVT

EMU загрузка запуск нормально list 650
Эмулятор 3000 ошибка после строки 650
JavaScript эмулятор с сайта, ошибка после строки 650
Мой эмулятор ошибка , хотя полностью переписал загрузку BASIC файлов:
загружаем файл, данные с BasicProgBegin 1723h
записываем BasicProgEnd 0245-46h (длину считанного + 1723h)
SP=BasicStack;
из формата для эмуляторов:
Для бейсика схоже, только адресс начала программы берется не из файла, а используются системные переменные для бейсика (их ищем тут). В самом файле идет просто код. Не забываем установить адрес окончания бейсик-программы.

ГДЕ КОСЯК ?

PS. другие бейсик программы лоадяться нормально !!!!

Attachments:
Снимок3.JPG
Снимок3.JPG [ 36.2 KiB | Viewed 2489 times ]
Снимок2.JPG
Снимок2.JPG [ 76.18 KiB | Viewed 2489 times ]
Снимок.JPG
Снимок.JPG [ 50.76 KiB | Viewed 2489 times ]
FRACT.LVT [3.36 KiB]
Downloaded 442 times

Author:  b2m [ 19 Sep 2013, 09:38 ]
Post subject:  Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi

Quote:
ГДЕ КОСЯК ?
Ха! Мой-то эмулятор честно грузит программу - через п/п ввода байта с магнитофона.

Начало строки 660 подпорчено, надо найти её адрес в памяти и посмотреть, кто портит эти байты.

Author:  MARAT_BEST [ 19 Sep 2013, 09:46 ]
Post subject:  Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi

Quote:
Quote:
ГДЕ КОСЯК ?
Ха! Мой-то эмулятор честно грузит программу - через п/п ввода байта с магнитофона.

Начало строки 660 подпорчено, надо найти её адрес в памяти и посмотреть, кто портит эти байты.
в том то и дело что байты одинаковы один в один !!!!

Author:  b2m [ 19 Sep 2013, 09:53 ]
Post subject:  Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi

Строка 660 начинается по адресу 1FA6h. Это кому-нибудь о чём-то говорит?

Author:  b2m [ 19 Sep 2013, 10:14 ]
Post subject:  Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi

Quote:
Quote:
Quote:
ГДЕ КОСЯК ?
Ха! Мой-то эмулятор честно грузит программу - через п/п ввода байта с магнитофона.

Начало строки 660 подпорчено, надо найти её адрес в памяти и посмотреть, кто портит эти байты.
в том то и дело что байты одинаковы один в один !!!!
Такое предложение. Опиши, какие байты после загрузки файла по каким адресам (точно) менять, какие регистры на что менять, откуда запускать. А я попробую поставить бряк на порченные байты в эмуляторе и посмотреть, кто их портит. Или сам смоделируй эту ситуацию в моём эмуляторе.

Author:  MARAT_BEST [ 19 Sep 2013, 10:27 ]
Post subject:  Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi

Quote:
Такое предложение. Опиши, какие байты после загрузки файла по каким адресам (точно) менять, какие регистры на что менять, откуда запускать. А я попробую поставить бряк на порченные байты в эмуляторе и посмотреть, кто их портит. Или сам смоделируй эту ситуацию в моём эмуляторе.
память идентична в этой области, только строка 660 по адресу 1E3A или я ошибаюсь ....

Attachments:
Снимок3.JPG
Снимок3.JPG [ 24.05 KiB | Viewed 2477 times ]
Снимок4.JPG
Снимок4.JPG [ 29.3 KiB | Viewed 2477 times ]
Снимок2.JPG
Снимок2.JPG [ 35.18 KiB | Viewed 2478 times ]
Снимок.JPG
Снимок.JPG [ 34.19 KiB | Viewed 2478 times ]

Author:  liberation [ 19 Sep 2013, 18:56 ]
Post subject:  Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi

Quote:
ВОПРОС ВСЕМ НА ЗАСЫПКУ !!!

ГДЕ КОСЯК ?
Скорее всего ошибка в эмуляции проца. Посмотрите соседнюю тему "Программная модель Intel 8080/КР580ВМ80А", про тест 8080/8085 CPU Exerciser. Уверен, что эмуляторы ПК-01, которые ведут родословную от наработок Калашникова, никто через этот тест не прогонял.

Author:  b2m [ 20 Sep 2013, 11:50 ]
Post subject:  Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi

Quote:
память идентична в этой области, только строка 660 по адресу 1E3A или я ошибаюсь ....
По адресу 1E3A мы видим такие байты:
68 1E это начало следующей строки (адрес 1E68)
44 02 это номер строки 244h = 580
A8 28 58 ... это сама строка

Если память идентична, то это бейсик неправильно работает. Значит действительно ошибка в эмуляции процессора.

Author:  b2m [ 20 Sep 2013, 12:01 ]
Post subject:  Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi

Кстати, в файле есть ошибка по адресу 7B8h, должен быть код токена COLOR 0A7h, а стоит 27h. Старший бит считался с ошибкой. Поэтому "Снежинка Коха" выдаёт ошибку в строке 610.
В строке 110 тоже: CLEAR "ФРАКТАЛЬНОЕ ДЕРЕВО", вместо CLEAR должен быть PRINT (я так думаю :) ).
Дракон тоже какой-то странный. Ошибок чтения видимо дохрена.

Author:  MARAT_BEST [ 23 Sep 2013, 09:40 ]
Post subject:  Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi

Quote:
Если память идентична, то это бейсик неправильно работает. Значит действительно ошибка в эмуляции процессора.
пичалька :cry: , что делать даже и не знаю, буду пробовать отловить баг

Новая версия
1. Загрузка игр с сайта
2. Доработал редактор ассемблера,( в папке Assembler две программы есть)
3. Куча багов исправлена
4.Сделал в настройках быстрый резет и загрузку

и чувствую кучу багов сделал :D

Attachments:
LVOVulator_ver0_98_01.rar [569.45 KiB]
Downloaded 371 times

Author:  Zelya [ 24 Sep 2013, 10:04 ]
Post subject:  Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi

Марат, простите меня, я совесм завтыкал с обещанным скриптиком для эмуля. Сегодня-завтра напишу! :oops:

Author:  MARAT_BEST [ 24 Sep 2013, 13:39 ]
Post subject:  Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi

Quote:
Марат, простите меня, я совесм завтыкал с обещанным скриптиком для эмуля. Сегодня-завтра напишу! :oops:
Спасибо , вроде уже так работает, постараюсь переписать в отдельные потоки чтобы быстрее скачивалось и не тормозило :)

Page 10 of 15 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/