nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 04 Jun 2020 01:40



Reply to topic  [ 159 posts ]  Go to page Previous  1 ... 7, 8, 9, 10, 11
откуда растут уши у советских бейсиков 
Author Message
Doomed
User avatar

Joined: 21 Mar 2017 13:50
Posts: 576
Location: Spb
Reply with quote
Lavr wrote:
есть JMP в середину другой инструкции.

Это гениально! А у васика нет родни среди полиморфов?


14 Jun 2017 11:03
Profile
Doomed
User avatar

Joined: 13 Nov 2007 12:09
Posts: 391
Location: Ставрополь
Reply with quote
...вот что мне интересно: пользовал OSI Basic (6502) в части PEEK/POKE в разные адреса памяти. Никаких проблем с адресацией любой области памяти выше 32К не имел: нужно стукнутся - пожалуйста, получите. В Бейсиках Рк-86 или Специалиста для пикопоканья в верхнюю область памяти (там, где обычно порты стоят), приходилось использовать разницу между нужным адресом и 65535 (поэтому в Спеце обращение к клавиатурному ВВ55 осуществлялось по адресам -1, -2, -3). Однако оставалось общее: проверка доступной памяти командой ?fre(0) - одинаковый отрицательный результат при наличии ОЗУ более 32К (это понятно, в те времена 32К и более было особым жиром).
Так вот, возвращаясь к пикопоканью - такая адресация была только для 8080? А для 6502 потом поправили?


14 Jun 2017 11:04
Profile WWW
Novelist

Joined: 03 Oct 2001 18:00
Posts: 29
Location: Питер
Reply with quote
rw6hrm wrote:
Так вот, возвращаясь к пикопоканью - такая адресация была только для 8080? А для 6502 потом поправили?


В Бейсике-АГАТ - обращение по отрицательным числам после 32К


19 Jun 2017 01:37
Profile WWW
Junior

Joined: 21 Jul 2018 02:18
Posts: 3
Reply with quote
rw6hrm wrote:
Так вот, возвращаясь к пикопоканью - такая адресация была только для 8080? А для 6502 потом поправили?


В бейсике для Вектор-06ц для адресов выше 32К использовались положительные числа. Думаю, адресация отрицательными - это особенность не столько архитектуры процессора, сколько логики работы самого Бейсика со знаковыми / беззнаковыми целыми числами.


17 May 2019 07:15
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
mos6502 wrote:
Думаю, адресация отрицательными - это особенность не столько архитектуры процессора,
сколько логики работы самого Бейсика со знаковыми / беззнаковыми целыми числами.

Я тоже придерживаюсь этого мнения, что где-то коррекцию адреса внесли в код Васика,
а где-то оставили как "зогатку" для пользователя.
Меня почему-то это никогда не смущало, хотя я и работал на Васиках "Специалиста", и сам
декомпилировал их, но меня другое интересовало - как заставить их считать быстрее...
Выход был только один - вынести критическую часть в подпрограмму на ассемблере.

Но сейчас-то можно точно увидеть, что, почему и как - исходники всех Васиков имеются.
Я, когда делал модель 6502 в Proteus, компилировал Васик от Гранта Сирла многократно,
поскольку мне не Васик нужен был, а тесты на ассемблере - ну я их и приписывал в хвост
Васика... :wink:

_________________
iLavr


17 May 2019 08:28
Profile
Doomed
User avatar

Joined: 13 Nov 2007 12:09
Posts: 391
Location: Ставрополь
Reply with quote
..ну раз про сирловский бейсик заговорили, то вопрос неспешный.
1. Есть бейсик в ПЗУ (для простоты вопроса принимаем, что это тот самый OSI для 6502, который компилировали).
2. Есть некая программа на бейсике, которая хранится в этом же ПЗУ и при запуске системы перемещается в ОЗУ туда, где она должна находиться будучи набранной ручками (системная область также копируется).
Как передать этой программе управление сразу же после загрузки? Не ожидая глупых вопросов о крае памяти, длине терминала и вообще нажатия RUN (в голову приходит только переход по системному вызову этой команды)?

Планируется некий девайс управляющий (не компьютер), писать для него управлялку на асме реально влом, да и не стоит затрат на это, а вот программа на бейсике будет самое то, и для отладки, и для жизни... Терминала/монитора, кстати, не планируется, максимум 6-10 разрядов семисегментников... На зх-пк посоветовали АЖ ср/м замутить ;)


17 May 2019 11:14
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Ну вы обычно сами всё знаете, и давать вам советы - только портить... :lol:


P.S. А если по существу, то Сирловский Васик великолепно прокомментирован в исходниках
на английском, так что где и что находится - там просто очевидно...

_________________
iLavr


17 May 2019 13:42
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Post Re:
Lavr wrote:
Прочитал вот тут, что Вильнусский Васик был полностью доморощенным...

Есть еще один весьма знаменитый и по сей день BASIC, к которому Билли Г. не имел никакого отношения.
Более того этот BASIC и расточили коллективно с открытым кодом в пику Билли Г., когда он написал
своё знаменитое письмо.
Tiny BASIC

Прочитать о Tiny BASIC и взять исходники на ассемблере i8080 можно здесь:
http://cpuville.com/Code/Tiny-BASIC.html

А знаменит и по сей день Tiny BASIC, потому как благодаря простому и открытому коду его к чему
только не адапировали и на чем только не переписывали... :o
http://www.ittybittycomputers.com/IttyBitty/TinyBasic/index.htm

_________________
iLavr


10 Dec 2019 05:34
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 18620
Location: Silicon Valley
Reply with quote
Post Re:
Да - тут Tiny BASIC упоминался уже - на третьей странице:

Shaos wrote:
Shaos wrote:
Lavr wrote:
Интересно, а альтернативные i8080 ВАСИКИ есть, если код посмотреть?
Не все же прародил БГ?


вот это вот басик (RDK PROMPT BASIC V3.2 3K) не похож на гейтсовский (хотя позже выяснилось, что таки похож - на басик LEVEL1 для TRS-80):
Code:
-rw-r--r-- 1 shaos users 3334 Mar 28  1999 BAS-RDK.RKS

а у всех остальных таблица токенов (находящяяся где-то вначале, где-то в конце, где-то меньше, где-то больше) говорит о том, что их оригинальный автор - биллогейц...


последние раскопки в интернете показали, что TRS-80 Level1 это не микрософтовский бейсик, т.к. микрософтовский начался только с TRS-80 Level II...

Quote:
Level I Basic was based on Li-Chen Wang's free Tiny BASIC, additional functions added by Radio Shack.[8] It achieved a measure of noteworthiness due in large part to its outstanding manual,[5] written by David Lien, which presented lessons on programming with text and humorous graphics, making the subjects very easy to understand. It had only two string variables (A$ and B$), 26 numeric variables (A - Z) and one array, A(). Code for functions like SIN(), COS() and TAN() was not included in ROM but printed at the end of the book. The only error messages were: "WHAT?" for syntax errors, "HOW?" for arithmetic errors such as division by zero, and "SORRY" for out of memory errors.


http://en.wikipedia.org/wiki/TRS-80

т.е. BAS-RDK.RKS - это в каком-то смысле единственный легальный советский бейсик для любительских компов, т.к. только он основан на фришном продукте (хоть и тормозном), а все остальные - на коммерческом...


P.S. На самом деле было несколько тини-бейсиков, написанных по одной и той же спецификации:
Quote:
For some implementations, including the first Tiny BASIC and Tom Pittman's Tiny BASIC,[8] a virtual machine was used, others such as Palo Alto Tiny BASIC and 6800 Tiny BASIC, were direct interpreters. In a virtual machine implementation, the Tiny BASIC interpreter is itself run on a virtual machine interpreter. The designer's idea to use an application virtual machine goes back to Val Schorre (with META II, 1964) and Glennie (Syntax Machine).[9]

в TRS-80 Level1 использовался "Palo Alto Tiny BASIC" (от которого произошёл советский BAS-RDK), а то, что чуть выше приводит Лавр - это про "Tom Pittman's Tiny BASIC", у которого даже есть сишный вариант (менее полутора тысяч сишных строк - см. http://www.ittybittycomputers.com/IttyBitty/TinyBasic/TinyBasic.c)

_________________
:eugeek: https://twitter.com/Shaos1973


14 Dec 2019 13:09
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 159 posts ]  Go to page Previous  1 ... 7, 8, 9, 10, 11

Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.