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

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

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

Тот же второпень с Виндой 98 больше не запускает эмуль. Не нравится отсутствующий компонент ntdll.dll:ZwUnmapViewOfSection

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

Quote:
Тот же второпень с Виндой 98 больше не запускает эмуль. Не нравится отсутствующий компонент ntdll.dll:ZwUnmapViewOfSection
при открытии ассемблера? или вообще при запуске ?

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

При запуске

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

1. Вот тут список коротких названий игр. Они обязы уникальны, и по ним называются файлы. Скажите, как изменить чтобы было удобнее
http://lvovpc.ho.ua/games/list.php

2. Антивирю System Сenter 2012 Endpoint Protection не нравится Ваша exe-шка :lol:

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

Quote:
1. Вот тут список коротких названий игр. Они обязы уникальны, и по ним называются файлы. Скажите, как изменить чтобы было удобнее
http://lvovpc.ho.ua/games/list.php

2. Антивирю System Сenter 2012 Endpoint Protection не нравится Ваша exe-шка :lol:
за список спасибо, сделаю еще один способ загрузки :!:

по антивирусу и ошибке.... (код только для линии NT и выше)
засунул exe асемблера в свой exe-шник, хотел выполнять его в памяти, но видимо не судьба , завтра перевыложу новую версию :)

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

Quote:
по антивирусу и ошибке.... (код только для линии NT и выше)
А раньше ж был "для всех". Это какой-такой код только под НТ добавился?
Quote:
за список спасибо, сделаю еще один способ загрузки :!:
Могу добавить описания, полное имя и т.п. Что и в каком формате было б удобнее?

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

Quote:
А раньше ж был "для всех". Это какой-такой код только под НТ добавился?
вот етот
Quote:
засунул exe асемблера в свой exe-шник, хотел выполнять его в памяти
Quote:
Могу добавить описания, полное имя и т.п. Что и в каком формате было б удобнее?
имя каталога <разделитель> имя игры <разделитель> описание <первод строки ( завершение таблицы и т.д) >

<Разделитель> любой символ или HTML код :roll:

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

Quote:
имя каталога <разделитель> имя игры <разделитель> описание <первод строки ( завершение таблицы и т.д) >

<Разделитель> любой символ или HTML код :roll:
Это не наши методы! Посмотрите, как сделано API у WoS. Вот, к примеру, инфа по горячо нами любимой Rived Raid [солидный xml]. Любо-дорого смотреть. Хотя я бы сделал выбор в пользу JSON. :wink:

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

Quote:
Это не наши методы! Посмотрите, как сделано API у WoS. Вот, к примеру, инфа по горячо нами любимой Rived Raid [солидный xml]. Любо-дорого смотреть. Хотя я бы сделал выбор в пользу JSON.
Здравая мысль. Будет время, сделаю.

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

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, все прекрасно начинает работать ) :shock:
4) и поэтому к уважаемому b2m вопрос, что делает ваш эмулятор после загрузки бейсик файла ?, гдето я тут читал на форуме (вроде) что есть адрес обращения к бейсику(подпрограмме) , чтобы он бейсик порграмму типа проиндексировал ????!!!!! :?: :!:
5) с эмуляцией порцессора все в порядке значит :)

Attachments:
File comment: снимок из файла
Снимок.JPG
Снимок.JPG [ 38.61 KiB | Viewed 7592 times ]

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

Quote:
Quote:
имя каталога <разделитель> имя игры <разделитель> описание <первод строки ( завершение таблицы и т.д) >

<Разделитель> любой символ или HTML код :roll:
Это не наши методы! Посмотрите, как сделано API у WoS. Вот, к примеру, инфа по горячо нами любимой Rived Raid [солидный xml]. Любо-дорого смотреть. Хотя я бы сделал выбор в пользу JSON. :wink:
Мне в принципе без разницы , хоть XML хоть JSON, все быстрее будет, чем я сейчас парсю каждую страницу, и отдельно скачиваю каждую страницу с описанием. Так что
Quote:
Могу добавить описания, полное имя и т.п. Что и в каком формате было б удобнее?
большое спасибо за скриптик !!!!

Новая версия
0.98_2
зы. скрипт пока не использую
интересует ntdll.dll:ZwUnmapViewOfSection и антивирь :roll:

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

Обратился к знатоку байсика (изнутри :) ) уважаемому ivagor , по поводу ошибки при загрузке байсик файла,
Quote:
Вычислил багу:
1) как бейсик лежит в памяти, а вот так - 00, адрес следующей строки, номер текущей строки
2) строка 660 начинаеться у нас так( 00, AC 1F, 8A 02 по русски след строка с адреса 1FAC, строка 650)
естественно вместо 1FAC должно быть 1FA6 , так как следующая строка начинаеться именно там
3) смотрю файл FRACT.LVT, а там то же 1FAC !!!! косяк в файле 100% !!!! (если поменять на 1FA6, все прекрасно начинает работать ) :shock:
4) и поэтому к уважаемому b2m вопрос, что делает ваш эмулятор после загрузки бейсик файла ?, гдето я тут читал на форуме (вроде) что есть адрес обращения к бейсику(подпрограмме) , чтобы он бейсик порграмму типа проиндексировал ????!!!!! :?: :!:
5) с эмуляцией порцессора все в порядке значит :)
вот ответ
Quote:
Здравствуйте, Марат!

"Специалист" облажался :)
Забыл, что бейсик после загрузки переиндексирует "адреса следующих строк". Если программа была выгружена из стандартного львовского бейсика и не содержит ошибок, то это, в принципе и не нужно. В данном случае, похоже, были ошибки считывания и переиндексирование кое что правит.
CLOAD переходит на эту процедуру в конце
ROM:E56A jmp loc_1054
Попробовал в Вашем эмуляторе
1. Загружаем FRACT.LVT
2. Выполняем LIST4180-- (вот и ошибка в бейсике пригодилась)
3. RUN - стартует
Можно добавить после загрузки вызов той процедуры, но лучше бы "честно" отрабатывать CLOAD по аналогии с emu.
К слову, это все же не гарантирует, что с эмуляцией проца все ОК, желательно exercizer все же прогнать.

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

На всякий случай, "специалист" - это я сам :)
Меня так MARAT_BEST в переписке (через ЛС) "обозвал" :)

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

Quote:
На всякий случай, "специалист" - это я сам :)
Меня так MARAT_BEST в переписке (через ЛС) "обозвал" :)
:mrgreen:

и вопрос всем на засыпку, как прогнать тесть Exerciser на эмуляторе ?

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

MARAT_BEST, ivagor
Вы просто молодцы! К сожалению, в связи с недавней сменой работы, я практически помочь ничем не мог/не могу. Но я припоминаю, что когда только создавал игротеку сталкивался с проблемой неправильных индексов в бейсик игре. Тогда ограничился, вроде, правкой самого файла.
Quote:
интересует ntdll.dll:ZwUnmapViewOfSection и антивирь :roll:
Ативирь успокоился. ntdll.dll, проверю позже.

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