откуда растут уши у советских бейсиков

Советские программируемые калькуляторы, микрокомпьютеры и большие ЭВМ, не попавшие в другие разделы

Moderator: Shaos

User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

HardWareMan wrote:
Lavr wrote:stand-alone код не лазиет черте-знает куда...
Для мелких машин код, юзающий сервис BIOS, можно назвать стэндалон, т.к. не требует интерпретатора.
Ты б хоть полюбопытствовал сначала, где у MSX BIOS, а где не BIOS, капитан очевидность...
И по каким адресам картридж у него...

Code: Select all

C00A CALL 70F6 
... 
C06E CALL 705A 
C071 JMP  4050
А то я с ужасом читаю вашу некомпетентную болтовню... :o


Ну ладно "он, гад" зажал протухший компилятор 1985 года, но это не повод
писАть здесь бред, когда есть код перед глазами?

Я, собственно, что нужно декомпильнул, но 2 страницы слушаю бред сивой
кобылы про компилятор...


PS. И тем не менее, MC68k - чего зажал компилятор-то? В 2012 году это прямо читать
стыдно: "нахаляву" - ужосс какой! :o Мне, может, тебе денег за него предложить?
:roll:
iLavr
User avatar
HardWareMan
Banned
Posts: 2139
Joined: 20 Mar 2005 13:41
Location: От туда

Post by HardWareMan »

Lavr wrote:
HardWareMan wrote:
Lavr wrote:stand-alone код не лазиет черте-знает куда...
Для мелких машин код, юзающий сервис BIOS, можно назвать стэндалон, т.к. не требует интерпретатора.
Ты б хоть полюбопытствовал сначала, где у MSX BIOS, а где не BIOS, капитан очевидность... И по каким адресам картридж у него...
Любопытствую: где? Дайте подробную и понятную карту памяти.
b2m
Devil
Posts: 907
Joined: 26 May 2003 06:57

Post by b2m »

Lavr wrote:И по каким адресам картридж у него...
Вообще-то, картридж может откликаться на любой адрес, если он активирован в соответствующем окне. Но чаще всего используется окно 4000-7FFF, потому как БИОС использует это окно для автозапуска.

Скомпилированный пример лишь показывает, что библиотека стандартных процедур находится в картридже, и используется оттуда.
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
User avatar
MC68k
Retired
Posts: 1328
Joined: 25 Jul 2011 00:14
Location: WWW

Post by MC68k »

HardWareMan wrote:
Lavr wrote:
HardWareMan wrote:
Lavr wrote:stand-alone код не лазиет черте-знает куда...
Для мелких машин код, юзающий сервис BIOS, можно назвать стэндалон, т.к. не требует интерпретатора.
Ты б хоть полюбопытствовал сначала, где у MSX BIOS, а где не BIOS, капитан очевидность... И по каким адресам картридж у него...
Любопытствую: где? Дайте подробную и понятную карту памяти.
там карта хитрая - 64к разделены на четыре части. в оригинале 2 слота(трудно подобрать аналог, теневая страница наверное самый точый) и любая четвертушка мапится куда угодно. ща, погоди, библию открою.

2 b2m ответ неверный. там, выше по течению я запостил два скриншота. на первом все хорошо видно, что и где сидит.

2 Lavr откуда такое странное неистовое желание обладать "протухшим" компилятором? повторю еще раз - дампить и аплоадить copyrighted material я не буду. могу продать картридж, но боюсь денег не хватит :)
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

b2m wrote:
Lavr wrote:И по каким адресам картридж у него...
Вообще-то, картридж может откликаться на любой адрес, если он активирован в соответствующем окне. Но чаще всего используется окно 4000-7FFF, потому как БИОС использует это окно для автозапуска.

Скомпилированный пример лишь показывает, что библиотека стандартных процедур находится в картридже, и используется оттуда.
Я плотно с MSX дел не имел, но согласно коду и доступным мануалам у меня
сложилось именно такое же мнение.

Поэтому я и попросил у товарища сдампить компиллер из картриджа...

Но товарищь в своем стиле предпочитает морочить мне голову на 3-х страницах,
вместо того, чтобы просто сказать - вот тебе дамп и разберись с этим сам...

Ну если ситуация такая, что дамп этого компилятора товарищу столь дорог,
я предлагаю завершить безрезультатную дискуссию на эту тему.
iLavr
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

2 b2m а у тебя случаем нет намёка на подходящий, простенький
и доступный Basic-компилятор?

Мне хотелось поковырять код, не связанный с ПЗУ Спектрума.

MC68k сам предложил тут обсуждаемый компилятор, но свет на нем клином
не сошелся же.


PS. CP/M-компилятор я не хотел трогать по той причине, что они не содержали
процедур грфики, известные мне.
iLavr
b2m
Devil
Posts: 907
Joined: 26 May 2003 06:57

Post by b2m »

А какие у тебя критерии для "подходящий, простенький и доступный"? :)

Имеется BASCOM 5.30 - Copyright 1979,80,81 (C) by MICROSOFT
Но он для CP/M.

Имеется, например, в образе диска soft1715.cpm в архиве образов для Роботрона на моём сайте.

P.S. Ну вот...
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

b2m wrote:А какие у тебя критерии для "подходящий, простенький и доступный"? :)
Ну простенькие компиляторы С и Pascal валяются прямо здесь
у нас на форуме.

Поэтому - они доступны, невелики для реверса да и уже расточены под
системные
вызовы а-ля "РК-86".
Поэтому при желании их и реверсировать нетрудно...

А вот Basic-компилятор такого типа мне не попадался, что и вызвало интерес.
Причем не вчера, а уже довольно давно.
iLavr
b2m
Devil
Posts: 907
Joined: 26 May 2003 06:57

Post by b2m »

Тогда так: http://www.romnation.net/srv/roms/26885 ... cii-J.html

Только это какой-то другой компилятор. Там нет команды call b, но есть команда call run, она действительно компилирует и запускает программу. Скомпилированная программа располагается за концом текста программы в псевдокоде (который с адреса 8001h).

Вот дока по нему: http://www.konamiman.com/msx/msx2th/kunbasic.txt
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Благодарю за ссылки. Скачал - посмотрю...

А сам не пробовал разбирать устройство компиляторов с ЯВУ?
Честно говоря - совершенно не представляю принцип их работы.
Хотелось бы этот пробел восполнить... :wink:


PS. Ну вот это и манило в компиляторы! :lol:
It will compile a BASIC program on memory in few seconds and execute it 15 to 100 times faster!! It
can compile most of the statements and functions of MSX-BASIC and can handle
strings and floating numbers. Once you see it, you'd feel you'd never need to
learn the Z-80 machine language. Real time games, C.G., demo programs can be
written by the ease of BASIC for machine language speed.

Только все же пришлось machine language овладеть...
iLavr
b2m
Devil
Posts: 907
Joined: 26 May 2003 06:57

Post by b2m »

Ну, этот, как-бы, не совсем с ЯВУ. Часть работы (разбиение на токены) для него делает интерпретатор.
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
User avatar
MC68k
Retired
Posts: 1328
Joined: 25 Jul 2011 00:14
Location: WWW

Post by MC68k »

Lavr wrote:А то я с ужасом читаю вашу некомпетентную болтовню... :o
Lavr wrote:Я плотно с MSX дел не имел
эпично.

2 HardWareMan отправил сообщение

2 b2m так он добрую половину токенов не компиляет. надо будет проверить компилятор от Heart Soft
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

MC68k wrote:2 b2m так он добрую половину токенов не компиляет. надо будет проверить компилятор от Heart Soft
Я предложил закончить разговоры вокруг "намоленного" тобой компилятора от Heart Soft.
Может он и супер-пупер, но поскольку он недоступен, то никто ни проверить ничего,
ни использовать практически не сможет.
Тем более, что и описания на него у тебя также нет.

Так что не вижу смысла слушать сказки о нём в этой ветке.



PS. И, кстати говоря, поясни смысл твоих любимых эпитетов "эпично", "толсто", "тонко" и
их комбинаций.
Я то их как-то почитываю, а вот одному человеку столь не понравилось, что он и на форуме
появляться перестал...
А это не есть good на мой взгляд...
:-?
iLavr
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

b2m wrote:Ну, этот, как-бы, не совсем с ЯВУ. Часть работы (разбиение на токены) для него делает интерпретатор.
Ну, я думаю, так и должно быть. Так примерно и работает QB 4.5 от M$.
В нём интерпретирующая часть превращает текст в псевдо-код (прям почти Java!) :D
А компилятор этот частично проверенный на разные ошибки псевдо-код уже
превращает в асм. вызовы run-time M$ библиотеки.

Я декомпильнул в своё время QB 4.5 ИДой, но не с целью изучния,
а с целью посмотреть - где можно безопасно вклинится в его код извне.
И скажу, что у меня весьма неплохо получилось приделать к QB 4.5 мою любимую
фичу - окно [Copy.. Paste... ], не модифицируя исходник...

Image

Но для изучения код QB 4.5 слишком объёмен, хотя... кое-что и видно.
iLavr
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

В принципе, если очень настырно погуглить (и не только Гуглем :wink: ),
этих Basic-компиляторов находится столько, что можно и выбрать.
Причем, как под i8080, так и под z80....

Надо только систему подобрать поближе к нашим "Спецалистам" и "Орионам"...
А вот тут уже почитать подробнее придётся...


PS. И как мне это не противно, но самый близкий - это ZX Sпецтрум... :(
И его компиляторы у меня даже есть. Но вот делать реверс с "непричесанной"
16-К системой Sпецтрума - это оооой как неприятно...
И чего они, злыдни, не "причесали" системные вызовы... :-?


PPS. И есть у меня нехорошее подозрение, что компиляторы
Sпецтрума сводят всё к вызовам подпрограмм 16-К ПЗУ...
Да, действительно, целочисленные компиляторы, к которым относится ZX-Compiler, обеспечивают поистине фантастическую скорость выполнения операций. Кроме того, приведенный пример не может в полной мере продемонстрировать эффективность компилятора, так как скорость выполнения программ, использующих вывод на экран графики, сильно ограничена быстродействием подпрограмм ПЗУ.
iLavr