ПК-01 ЛЬВОВ

форум о ПК-01,02 "Львов"
Текущее время: 04 мар 2021, 18:31

Forum Games WEB Tape Loader Twitter RSS

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 49 сообщений ]  На страницу Пред. 1 2 3 4 След.
Автор Сообщение
СообщениеДобавлено: 26 авг 2012, 06:45 
Не в сети

Зарегистрирован: 23 авг 2012, 12:28
Сообщения: 123
Цитата:
К сожалению обработка LIST в ПЗУ, поэтому загружаемой программой исправить не получится.
Успеваю первым себя поправить. Пуcть и не изящно, но исправить можно. Возможно стоило бы объединить с патчем под z80, но я поленился и просто развел по адресам, чтобы их можно было применять последовательно.
Цитата:
Мы как-то уже поднимали вопрос его генезиса в вопросах к Вл. Пуйде, но первоисточник все-таки твердо не установили. Если будет желание, почитайте озвученные соображения.
Трудно спорить с тем, что первооснова почти всех бейсиков для советских 8биток была альтаировская. Но мне кажется, что большинство адаптировали не с первоосновы, а с версий, опубликованных в Радио для Микро80 (те кто начал раньше) и РК86.


Вложения:
BasicListPatchRAM.zip [425 байт]
192 скачивания


Последний раз редактировалось ivagor 26 авг 2012, 13:42, всего редактировалось 2 раза.
Вернуться к началу
СообщениеДобавлено: 26 авг 2012, 12:06 
Не в сети
Аватара пользователя

Зарегистрирован: 11 авг 2008, 17:05
Сообщения: 1405
Откуда: Украина
Цитата:
Возможно стоило бы объединить с патчем под z80, но я поленился и просто развел по адресам, чтобы их можно было применять последовательно.
Все забываю спросить, а в чем суть патча для z80?

_________________
Carthago delenda est, Carthaginem delendam esse


Вернуться к началу
СообщениеДобавлено: 26 авг 2012, 12:50 
Не в сети

Зарегистрирован: 23 авг 2012, 12:28
Сообщения: 123
Цитата:
Все забываю спросить, а в чем суть патча для z80?
Не стал смотреть исходник, просто по памяти - в постальтаирских бейсиках есть пара мест, где критично различие в установке флага четности (на 580) и четности/переполнения (на z80). Сначала я городил (для вектора) громоздкие процедуры, потом "позаимствовал" вариант с доработанного (кажется В. Пушковым) орионовского бейсика 2.4.


Вернуться к началу
СообщениеДобавлено: 26 авг 2012, 13:05 
Не в сети
Аватара пользователя

Зарегистрирован: 11 авг 2008, 17:05
Сообщения: 1405
Откуда: Украина
Цитата:
Не стал смотреть исходник, просто по памяти - в постальтаирских бейсиках есть пара мест, где критично различие в установке флага четности (на 580) и четности/переполнения (на z80).
Дело в том, что Бэйсик для ПК-02 уже адаптировали в 90-е, вроде бы это дело рук Ал.Мамонтова. К своему стыду признаю, что не могу припомнить, где на этом форуме описывал суть доработки... И так вспомнить ничего не могу. Но один момент восстановил. После всех правок размер интерпретатора увеличивался, что приводило к потере работоспособности некоторых особо "хитроумных" программ.

А Ваш патч изменяет размер интерпретатора?

_________________
Carthago delenda est, Carthaginem delendam esse


Вернуться к началу
СообщениеДобавлено: 26 авг 2012, 13:22 
Не в сети

Зарегистрирован: 23 авг 2012, 12:28
Сообщения: 123
Цитата:
Но один момент восстановил. После всех правок размер интерпретатора увеличивался, что приводило к потере работоспособности некоторых особо "хитроумных" программ.

А Ваш патч изменяет размер интерпретатора?
Нет, размер не меняется, но зато пострадали два текстовых сообщения, в readme я написал какие. Проверял в прошлом году несколько бейсиковсиких игрушек - работали нормально.


Вернуться к началу
СообщениеДобавлено: 26 авг 2012, 13:43 
Не в сети

Зарегистрирован: 23 авг 2012, 12:28
Сообщения: 123
Кстати, забыл в загружаемом патче LISTа написать, какие адреса он занимает. Перезалил с дополненным readme.


Вернуться к началу
 Заголовок сообщения: Re: Стандартный Basic 2.0
СообщениеДобавлено: 08 окт 2012, 13:09 
Не в сети

Зарегистрирован: 23 авг 2012, 12:28
Сообщения: 123
С опозданием лет на 25 можно написать следующую информацию про запуск процедур на ассемблере из бейсика.
Запуск кодовых процедур через LISTадрес-- быстрее и короче, чем USR - не надо делать 2 POKE перед каждым USR, что особенно не круто при регулярном обращении к ассемблерным процедурам (например в цикле и т.п.). Одна особенность - в процедуре, вызванной через LIST нужно при выходе ставить не RET, а JMP 06FBh (наверно можно и по другому, но и через REM работает).


Вернуться к началу
 Заголовок сообщения: Re: Стандартный Basic 2.0
СообщениеДобавлено: 08 окт 2012, 20:40 
Не в сети

Зарегистрирован: 23 авг 2012, 12:28
Сообщения: 123
Еще один мелкий прикол. Думаю подошел бы для розыгрыша, например на 1 апреля, но я не буду ждать.
Особенности выполнения функций CHR$ и HEX$ (причем CHR$ так работает во всех постальтаировских бейсиках, т.е. на подавляющем большинстве советских 8биток на ВМ80, а HEX$ есть не во всех вариантах).
Пример:
10 A=49 - для CHR$ здесь числа от 0 до 255, для HEX$ можно и больше, но тогда результат не всегда будет правильным
20 B$=CHR$("") - в кавычках можно написать что угодно, как раз можно проявить фантазию для шутки
30 PRINT B$ - то, что здесь будет напечатано, зависит от A в строке 10
В свое время наверно можно было это использовать как метод затруднения разбора коммерчески распротраняемых :) бейсик программ.


Вернуться к началу
 Заголовок сообщения: Re: Стандартный Basic 2.0
СообщениеДобавлено: 09 окт 2012, 18:31 
Не в сети

Зарегистрирован: 23 авг 2012, 12:28
Сообщения: 123
Продолжение ежевечерней рубрики для любителей бейсика. Правда, говорят, их уже не осталось.
Использование дробных чисел в ON GOTO/GOSUB
Пусть есть такая программка:
10 A=1.999999
20 ON A GOTO 100,200
100 PRINT 100
110 STOP
200 PRINT 200
210 STOP
Она напечатает 100.
А если заменить первую строку на
10 A=1.9999999
то напечатает 200.
Ничего особо удивительного в этом нет, но все равно немного забавно.


Вернуться к началу
 Заголовок сообщения: Re: Стандартный Basic 2.0
СообщениеДобавлено: 10 окт 2012, 10:46 
Не в сети
Аватара пользователя

Зарегистрирован: 11 авг 2008, 17:05
Сообщения: 1405
Откуда: Украина
Цитата:
Продолжение ежевечерней рубрики для любителей бейсика. Правда, говорят, их уже не осталось.
Остались последние из могикан, остались! И хотя программы на Бэйсике для ПК-01 популярностью в те времена не пользовались, к примеру, их не принимали "на обмен", но как я сейчас погляжу, это было зря, потому что некоторые вещи получались забавными.

А существует ли в природе листинг с толковыми комментариями альтаировского Бэйсика?

_________________
Carthago delenda est, Carthaginem delendam esse


Вернуться к началу
 Заголовок сообщения: Re: Стандартный Basic 2.0
СообщениеДобавлено: 10 окт 2012, 12:10 
Не в сети

Зарегистрирован: 23 авг 2012, 12:28
Сообщения: 123
Цитата:
Остались последние из могикан, остались!
Значит еще одну часть стоит написать :)
Цитата:
программы на Бэйсике для ПК-01 популярностью в те времена не пользовались, к примеру, их не принимали "на обмен"
Насчет обмена не знаю, но на векторе фирмы и фирмочки их тиражироваили за деньги.
Цитата:
А существует ли в природе листинг с толковыми комментариями альтаировского Бэйсика?
Есть вот такой вариант - http://www.interact-sw.co.uk/altair/index2.html.
Есть полный дизассемблер (насчет комментариев не помню) орионовского варианта, тоже являющегося потомком альтаировского.
На векторе есть неполный дизассемблер Филиппова (у него может и был полный, но в народ дошел такой), возможно был дизассемблер Фролова (или он взял у Филиппова) и есть неполный мой.
Уверен, что у многих программистов на ПК-01 как и на векторе были хотя бы какие-то частичные дизассемблеры бейсика.


Вернуться к началу
 Заголовок сообщения: Re: Стандартный Basic 2.0
СообщениеДобавлено: 10 окт 2012, 16:36 
Не в сети

Зарегистрирован: 23 авг 2012, 12:28
Сообщения: 123
Подмена номеров строк переходов в GOTO/GOSUB. Можно использовать для затруднения понимания листинга. В спектрумовском бейсике это очень просто в связи с наличием двух представлений числа - текстового и числового. В постальтаировских бейсиках номера строк для переходов - это цифры, но все же можно отображать один номер, а переходить на другой. Это возможно из-за того, что если написать что-то вроде
10GOTO100 !@#$%^&&**
то всякая ерунда после 100 и пробела будет проигнорирована а переход на 100 успешно выполнится. Вместо ерунды можно забить коды 7Fh, чтобы удалить "нежелательные" цифры, а потом цифры, которые мы хотим отображать.
Пример приложил.


Вложения:
HIDJMP.ZIP [178 байт]
180 скачиваний
Вернуться к началу
 Заголовок сообщения: Re: Стандартный Basic 2.0
СообщениеДобавлено: 11 окт 2012, 13:57 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 24 июл 2008, 12:05
Сообщения: 1029
Вы решили полностью разложить особенности Бейсика по полочкам? Мне очень понравились Ваши расследования :)


Вернуться к началу
 Заголовок сообщения: Re: Стандартный Basic 2.0
СообщениеДобавлено: 12 окт 2012, 13:55 
Не в сети

Зарегистрирован: 23 авг 2012, 12:28
Сообщения: 123
Спасибо за поддержку, надо бы еще чего-нибудь найти этакого :). Скорее это не раскладывание особенностей по полочкам, а выискивание отдельных недокументированных вывертов, хотя возможно часть из них где-то описана.


Вернуться к началу
 Заголовок сообщения: Re: Стандартный Basic 2.0
СообщениеДобавлено: 12 окт 2012, 14:12 
Не в сети
Аватара пользователя

Зарегистрирован: 11 авг 2008, 17:05
Сообщения: 1405
Откуда: Украина
Цитата:
Скорее это не раскладывание особенностей по полочкам, а выискивание отдельных недокументированных вывертов...
А насколько оригинально реализованы графические примитивы в Бэйсике ПК-01? Где-то тут уже вскользь упоминалось, что прорисовка окружностей и, кажется, заливка довольно интересно были сделаны. Так ли это? Или тоже калька с неведомого прототипа?

_________________
Carthago delenda est, Carthaginem delendam esse


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 49 сообщений ]  На страницу Пред. 1 2 3 4 След.

Forum Games WEB Tape Loader Twitter RSS

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB