- БК-0010+SMK-512+Бейсик - возможно?
-
? AlexMik@ - 03.03.2019 08:02
Доброго дня!
Подниму тему.
Но уже в связке БК-0010+SMK-512.
Есть ли возможность использовать Вильнюский Бейсик в данной связке?
Basic86M грузится, но работать отказывается. Не вводятся символы с клавиатуры. Есть реакция на служебные клавиши сообщением бейсика об ошибке.
-
? BD - 03.03.2019 10:00
На диске ANDOS: /Языки/DBASIC
На диске MKDOS 3.15 /BASIC,FOCAL/BASIC10.DSK
-
? AlexMik@ - 03.03.2019 14:57
Не получилось (
При запуске из MK-Dos - постоянный перезапуск оболочки командера.
При запуске из AN-Dos - вываливается в монитор. И все.
-
? BD - 03.03.2019 15:14
ой, вспомнил, СМК не работает, т.к. со 177000 озу таблицы разделов.. только с дисководними до Альтек А16М.
-
? AlexMik@ - 03.03.2019 15:50
Значит никак?
Жаль. ((
-
? BD - 03.03.2019 16:20
никто просто не занимался запихиванием бейсика для 10ки в память СМК. хотя даже исходки есть https://forum.maxiol.com/index.php?s=9cce6521c73916924982cbb453bd06b7&showtopic=4337
-
? gid - 03.03.2019 17:33
Это какие-то неправильные исходники. Если их собрать, получается не тот бейсик, который в ПЗУ БК10.
Я тут прикидывал и так и сяк. Никак не получается на БК10 и реплике СМК добраться до ПЗУ бейсика.
Я специально уточнял такой момент: на оригинальном СМК с медленной памятью в режиме наложения ОЗУ СМК на ПЗУ БК, если в ОЗУ заранее записать нули, то видно ПЗУ БК. А на реплике с быстрой памятью, при наложении ОЗУ СМК на ПЗУ БК, в любом случае отзывается ОЗУ, ПЗУ просто не успевает среагировать, и видно всегда ОЗУ СМК, т.е. как такового наложения ОЗУ на ПЗУ не происходит.
Поэтому на реплике тупо невозможно воспользоваться бейсиком из ПЗУ, а остальные дисковые бейсики не помещаются в ОЗУ, т.к. рассчитаны на БК11(М)
На дискете андос 3.30 есть такая прога dbasic - это прога для контроллера А16, которая перехватывает емт 36 и из-за это ПЗУшный бейсик БК10 может работать с дисководом.
¤
Взяв за основу этот dbasic можно написать загрузчик дампов ПЗУ бейсика в ОЗУ СМК. Дампы загружать в страницу 1 в режим 120. В сегменты 0,1 - скопировать монитор БК10, в сегменты 2-7 загрузить бейсик (см документацию на СМК). Эта штука будет работать даже с HDD, потому как не будет затрагивать таблицу разделов.
-
? S_V_B - 03.03.2019 17:35
У Maxwel`a нужно спросить, он басик86 в СМК запихивал. И вообще у него есть наработки по СМК.
-
? gid - 03.03.2019 17:35
Хотя нет, режим 120 не подходит, нужно использовать режим 20
-
? BD - 03.03.2019 19:38
>> У Maxwel`a нужно спросить, он басик86 в СМК запихивал. И вообще у него есть наработки по СМК.
Там арифметика одинарной точности, проги, написанные под бейсик-вильнюс в ПЗУ не будут работать ))
-
? S_V_B - 03.03.2019 19:44
Нет, он копировал ПЗУ в СМК, как gid говорит.
-
? gid - 03.03.2019 19:49
Вот. Кому хочется бейсика на СМК
http://gid.pdp-11.ru/f/bas10.zip
Содержимое архива:
BASROM10.1,BASROM10.2,BASROM10.3 - обычные дампы ПЗУ бейсика БК10, я их просто поименовал так, для удобства.
DBASIC.EDP - оригинальная инструкция к проге
DBASIC.EDP.txt - это чтобы почитать инструкцию на ПК
dbasic1.asm - исходник проги, по-быстрому на коленке написанный.
dbasic1.bin - скомпиленый бинарник.
¤
Необходимо закинуть dbasic1.bin, BASROM10.1,BASROM10.2,BASROM10.3 на образ дискеты, или на саму дискету, или любым удобным образом сделать так, чтобы эти файлы как-то оказались на БК.
запустить dbasic1.bin и пользоваться бейсиком БК10 который умеет работать с диском. НО ТОЛЬКО НА АНДОС.
Непонятные моменты уяснять в документации DBASIC.EDP, основа нетронута, как была так и осталась, я только прицепил загрузчик бейсика в ОЗУ СМК.
¤
Если хотите МКДОС - напишите перехватчик емт 36 для мкдоса и заменить им андосный.
¤
Эта штука работает и на БК11М в андосе.
-
? S_V_B - 03.03.2019 19:56
С МКДОСом и не только как раз косяки были, не помню.. но что то там косячило..
Позвоню узнаю у первоисточника..
Но на 11й запускал 10точный басик, шевелилось, булькало.. но были косяки.
-
? gid - 03.03.2019 19:56
На реальной БК не проверял, только в эмуляторе. Так что в принципе должно работать, но может и как-то по-хитрому не работать
-
? S_V_B - 03.03.2019 20:10
Я его просил перетащить 10точный басик на 11ю, только из-за того чтобы запустить одну единственную игруху EPIC-1.
Не пошла, расстроились.. забросили, только потом, когда уже достал 10ку выяснил, что версия которую скачал с R-Games не рабочая..
Кстати так и не нашел рабочую версию. Там помнится прикольно спрайты деревьев выводились.. крона дерева выводилась по частям.
Вроде бы не из-за тормознутости басика, а так задумано.. прикольно.
-
? AlexMik@ - 03.03.2019 21:01
Шаманы!)))
Побегу пробовать!
-
? AlexMik@ - 03.03.2019 21:23
Да. В эмуляторе работает!
Завтра протестирую на железе.
¤
Думаю, не один я скажу огромное спасибо!
-
? BD - 03.03.2019 21:34
а я понял, почему образы ПЗУ надо грузить по-отдельности и невозможно из реального пзу скопировать )) старый стал, ужос )) и немедленно выпил ))
-
? maxvel - 04.03.2019 21:43
В общем все те же болячки но другого плана что и у меня были, может у кого то будет работать без проблем а так же интересует как обстоит дело у тех ребят у которых на БК0011М был тумблер для полной эмуляции БК0010-01 в плоть до перезапуска по 100000(8) а не 140000(8).
-
? AlexMik@ - 04.03.2019 22:30
Беда ((
Не работает.
Пробивает "0" и "@".
Остальное не вводится.
Только пищат клавиши.
-
? AlexMik@ - 04.03.2019 22:32
Причём что под МКДос'ом, что под АНДос'ом
-
? BD - 04.03.2019 22:39
>> на БК0011М был тумблер для полной эмуляции БК0010-01
https://zx-pk.com/forum/viewtopic.php?f=7&t=10561&start=40
лично MM заморачивался. распродажа! ))
покупай, и делай тумблер )) только попроси сразу нужные прошивки, ибо "программатор" там очень "old style"..
-
? Maxvel - 04.03.2019 23:08
Ну у меня не так было, просто шли провода на мать и все.
-
? Maxvel - 04.03.2019 23:12
Попробовать еще разок замарочится 86 бейсиком с БК0010 что ли.
-
? BD - 04.03.2019 23:26
вообще, собирался для 10ки на основе платы МСТД что-то изобразить. дело закончилось впайкой панельки ))
DOUT на МПИ надо вывести - и всё, отрубая все ПЗУ. задумка такая была.. )) сейчас 324-я, 325-я + ПЗУ бейсика, короче, заменяет все для БК11М.
если надо - вышлю за 500 руб + почта, чтобы не затухало..
¤
https://ibb.co/yVVXNrd
-
? AlexMik@ - 05.03.2019 09:06
Было бы очень хорошо, если бы получилось на этой связке заставить бейсик заработать.
-
? gid - 05.03.2019 11:43
Чуточку подправил dbasic1.asm добавил проверку контрольных сумм содержимого, которое должно быть в ОЗУ СМК.
Ссылка та же. http://gid.pdp-11.ru/f/bas10.zip
Сегодня вечером попробую проверить на реальной БК10, что там мешает работе.
исходя из того, что я знаю про СМК, я всё делаю правильно, всё должно работать. Или я чего-то про СМК не знаю.
-
? Maxvel - 05.03.2019 12:02
Да на БК10 все в норме сюрпризы начинаются когда на БК11м это запускаешь.
-
? AlexMik@ - 05.03.2019 13:18
Новый вариант не запускал.
А первый на реальном железе не работает.
Загружается, но с клавы ничего не вводится.
Пробовал под андосом 3.30
¤
Зы: на эмуле все работает.
-
? gid - 05.03.2019 13:49
На эмуле всё работает, потому что он немного упрощённо с памятью работает, эмулятор не умеет наложение ОЗУ на ПЗУ и ОЗУ на ОЗУ эмулировать. И там на БК10 режим подключения ПЗУ бейсика сделан просто - тупо врубается ПЗУ игнорируя все режимы работы СМК. Поэтому всё и работает. В реальности же там происходит наложение ПЗУ БК на ОЗУ СМК.
На конкретно моём экземпляре реплики СМК, ОЗУ СМК быстрое, и наложения данных не происходит. По любому всегда отзывается ОЗУ СМК.
Maxvel, а вот AlexMik говорит, что на десятке не работает.
Ну тогда заодно и на реальной БК11М проверю работоспособность.
Единственное, что невозможно предотвратить - это то, что область 100000-177600 доступна по записи, и программы, которые делают прерывание по вектору 4 путём записи туда чего-либо, будут работать неожиданно для себя не так, заодно и бейсик с монитором запортят.
-
? S_V_B - 05.03.2019 14:57
На 10ке должно работать все как часы...
-
? AlexMik@ - 05.03.2019 14:59
Чего спорить-то? ))
Попробуйте - сами увидете, что не работает )
¤
gid обещал сегодня попробовать. Подтвердит.
-
? S_V_B - 05.03.2019 15:07
Я не про то что gid предложил.. в этом форуме уже была тема про басик.
Сейчас трудно будет найти, и Maxvel парень не многословный..я думал вы уже форум почитали..
терпение...
-
? S_V_B - 05.03.2019 15:10
Проблемы нас возникли как раз на 11й.. просто там (10-11) одинаковые регистры по разному работают..
-
? S_V_B - 05.03.2019 15:34
Вот то что я нашел.. попробуйте
https://yadi.sk/d/6ZI_9fj2NbqoOQ
-
? Maxvel - 05.03.2019 15:48
В дисках БК и вроде даже в образе винта от Voland-а есть десяточный бейсик для СМК 64 тав вот он работает с 10ой прекрасно как на 64, 128, 256, 512 и на новоделе СМК-512.
По поводу программ на него, в связи с тем что их не понятно как собирали с дискет и кассет так же как их проверяли это уже отдельный вопрос, та же EPIC 1 (из за чего была предпринята попытка запустить 86 бейсик на 11М) не работает как на чистом бейсике на реальном железе с магнитофоном так и с диском. На счет 11М к сожалению запустить бейсик от 10 получится не не на каждой машине, к примеру у меня их две так вот на машине 93 года все нормально ПЗУ 140000 отключается а вот на машине 90 года увы оно отключается но не полностью то есть за место ПЗУ на 140000 подключается память контролера на она тут же портится. В общем как то так.
-
? S_V_B - 05.03.2019 15:52
УХ...
-
? AlexMik@ - 05.03.2019 16:12
2Maxvel.
Этот бейсик (BASIC64M) я первым делом и попробовал. У него та-же проблема. Загружается, но ввести что-либо нельзя. На клавишу СТОП реагирует сообщением бейсика об ошибке. Но символы не вводятся (клавиши пищат).
Свой SMK-512 я приобрел месяц назад. Может чего изменили в нем?
Странно.
-
? gid - 05.03.2019 16:40
Чёт я тупанул и изобрёл велосипед. Этот BASIC64M работает точно по тем же принципам, как я и наизобретал в dbasic1.asm, даж режимы СМК использует те же самые.
AlexMik, может стоит погонять тесты контроллеров АльтПро http://gid.pdp-11.ru/altpro_test.html там в конце страницы - образ дискеты с тестами. А то вдруг окажется, что проблема в железе была, а мы тут программы изобретаем.
-
? Maxvel - 05.03.2019 16:41
Возможно проблема в самом контролере. Что тесты говорят. Ну и ради эксперимента попробуй эту программу, я ее писал для себя на БК0010-01 с контролером, если после ее работы машина не повиснет значит будем смотреть дальше. https://1drv.ms/u/s!AjkSH1op_fTFsgvMgFrG3zxBTZ93
¤
SMK+ v1_0
Возможны ошибки в коде и не продуманный код самой программы, интерфейса не какого ну и минимальный функционал.
Для подключения ПЗУ БК0010-01 или отключения точка входа 172000(8), модуль позволяющий работать с двумя хардами
не портится как и сама таблица для работы с дисками и винтом.
Программа была написана для внутреннего использования.
-
? AlexMik@ - 05.03.2019 16:44
ок.
все протестирую.
результат выложу до 18.00
-
? AlexMik@ - 05.03.2019 18:04
Программа Smk+ работает. Не зависает. Потом просит нажать клавишу Enter. И т.д.
¤
Тесты SMK проходит. Вроде все в норме. Две ошибки в тесте переключения страниц. Но в эмуляторе точно так же. Полагаю так и должно быть.
Сейчас гоняет тест памяти (этап 1).
Значит все в норме?
-
? AlexMik@ - 05.03.2019 19:14
Не закончил тест памяти - надо было срочно уезжать.
Но ничего плохого не вылезло.
А сколько он длится полностью?
Завтра смогу прогнать.
-
? gid - 05.03.2019 20:47
Долго длится. Если задать достаточно большое число проходов, можно много часов, а то и дней ждать. Это стресс тест, специально на помехоустойчивость и стабильность питания.
А у меня фигня какая-то происходит. Ни BASIC64M, ни мой загрузчик бейсика не работают.
В BASIC64M работает только кнопка стоп и остальные кнопки пикают и всё. Почему, без понятия.
А мой загрузчик не работает, потому что регистры 177130 177132 не блокируются по чтению, и ПЗУ бейсика портится, и из-за этого он и не работает.
Вообще чудеса какие-то. В тесте Альтпро - блокируются, а вот тут - фиг. Буду очень внимательно смотреть, что я делаю не так.
-
? Maxvel - 05.03.2019 21:13
Так же под 10 тестил или под 11?
-
? AlexMik@ - 05.03.2019 21:15
Вот.
Именно так и у меня.
Я это описывал.
Реакция на кнопку СТОП.
Остальные клавиши только "пики".
-
? gid - 06.03.2019 08:07
>>? Maxvel@ - 05.03.2019 21:13
BASIC64M только под 10, под 11й он не запускается. Так и пишет, что только для десятки.
В dbasic1.asm я сделал проверку контрольных сумм и теперь он не даёт запускать бейсик ни под 10 ни под 11 по одной и той же причине.
-
? Maxvel - 06.03.2019 21:52
gid - Про это то я в курсе.
-
? gid - 06.03.2019 22:50
Обнаружил странное. Обновил тест контроллеров АльтПро, усложнил там тест блокирования регистров 177130, 177132 по чтению битом 2. И оказалось, что именно в режиме 020, регистры не блокируются. Во всех остальных режимах, кроме 160 (его я в тесте игнорировал) блокируются, а в одном - нет.
То ли баг в прошивке реплики, то ли что-то неясное.
-
? AlexMik@ - 07.03.2019 08:31
Затаив дыхание ждем что скажет доктор )
Очень надеемся ))
-
? gid - 07.03.2019 15:15
Таки да. По моему скромному мнению, в прошивке ФПГА есть логическая ошибка, из-за которой выдаются не те данные, которые должны.
-
? BD - 07.03.2019 15:24
а на смк-64 проверить никто не может? свой подарил.
-
? gid - 07.03.2019 15:48
А на СМК-64, судя по его схеме, всё работает, там же логика на корпусах с 14 ножками построена, и всё видно, что отключение портов, отключает прохождение сигнала DIN на ногу ВП1-128, т.е. она вообще перестаёт на чтение реагировать.
А в исходнике прошивки ФПГА реплики логика совсем другая.
¤
К тому же программу BASIC64 давным-давно написали именно для СМК-64 и если б тогда не работало, то это бы как-то отразилось в истории.
-
? BD - 07.03.2019 16:23
закинь Voland'у сюда, пусть помучается )) но странно, почему именно 020...
http://forum.pk-fpga.ru/viewtopic.php?f=15&t=492
-
? AlexMik@ - 09.03.2019 19:12
Из-за этого бага, я так понимаю, надежды на запуск бейсика нет?
Надо править прошивку?
Печаль.. ((
-
? Maxvel@ - 09.03.2019 20:12
К сожалению да, хотя в контролере есть другие режимы но увы, там есть другие сложности.
-
? Maxvel@ - 09.03.2019 20:25
А вот к стати идея но есть вопрос в ассемблер PDP-11 хорошо заешь?
-
? AlexMik@ - 09.03.2019 21:23
К сожалению нет..
-
? Maxvel@ - 09.03.2019 21:44
Ясно, жаль.
-
? microxa - 10.03.2019 14:01
>>выяснил, что версия которую скачал с R-Games не рабочая..
>>Кстати так и не нашел рабочую версию.
Версия рабочая, только из за защиты, надо запускать через GOTO1
-
? microxa - 10.03.2019 14:23
кстати во многом благодаря этому шедевру, немного стал кодером (благо что чисто в хобби, а не в шизу, как у некоторых) :)
http://vrtp.ru/uploads/post-108-1551121627.png
-
? microxa - 12.03.2019 18:16
Ну с защитой-то ELM шикарно извратились. Но могли еще больше текстовки попортить и крови попить из глаз и серого вещества из мозга, йуному хакеру. Который ток-токо переписал в тетрадь, мануал по языку бейсек (давали на время же книжечку ).
¤
Ну короче в скрине содержится дописаный алгос. КОторый я чудно вспомнил.. Спустя.. эдок так двадцать лет..
а хачить так
¤
затирать строки
41-45 (ну короче где глюканат) и забивать текстовку. для простоты нету проверки собраных яблок. чтоб быстренько свалить с экрана (я заставочку делал где епик тупо ломился через экраны.. Хотел прикрутить алго автоматического сбору яблок.. а какой там)
-
? gid - 16.03.2019 19:19
Печальные новости, исправил я баг в прошивке ПЛИС, а бейсик как не работал, так и не работает, что-то ещё ему мешает. Так и придётся смотреть в отладчике, что там такое творится с бейсиком. Только сперва придётся вспомнить, как пользоваться отладчиками на БК.
-
? AlexMik@ - 16.03.2019 21:39
Есть надежда, что заработает?))
-
? Maxvel@ - 16.03.2019 22:38
Но не на всех машинах
¤
Gid а не может ли быть виной то что контролер работает чуть быстрее и из за этого и возникает такая не стыковка?
-
? gid - 17.03.2019 09:05
Абсолютно никаких идей, почему не работает, а из-за того, что контролер работает чуть быстрее, просто бейсик должен работать чуть быстрее и всё.
-
? microxa - 17.03.2019 11:39
бейсик, бейсик. на последок то я его ломанул, этот бейсик бк0010. В рам-диске, эмулирующим пзу
а то подбешивала куча % % % этих процентов (повбибвав бы, этих.. прибалтов)
¤
if bios_mod = 5 then begin
{ Патч монитора (на короткий щелчок клавиатуры) }
{ 102054 } mem.B[$842C] := 2;
{ 102060 } mem.B[$8430] := 24;
{ Патч бейсика (проверка контрольной суммы пзу 017) }
{ 120032 } mem.B[$A01A] := $A0;
{ Патч бейсика (интегральные типы по умолчанию) }
{ 152534 } mem.W[$D55C div 2] := $A0;
{ 151476 } mem.W[$D33E div 2] := $A0;
{ 151526 } mem.W[$D356 div 2] := $A0;
{ Патч бейсика (добавка -М) }
mem.B[$B5BE] := byte('-');
mem.B[$B5BF] := byte('M');
¤
кстати считал контрольную сумму же 017-той ре-шки..
-
? microxa - 17.03.2019 11:53
Ну и без дебилоидно-тормозного фить-фить при нажатии кнопок.. эта была.. бы.. да и (был, был). Даже круче ЫБМ.. потомушто раз включил и бейсик (ну или OCT коммандер. на базе некоторых идей CF48-ого). Пока там этот писюк вжик-вжик-вжик.. (ох и разочарован я был этим флоповодом, что уже не хотел его на бк0010)
-
? microxa - 18.03.2019 02:49
Вроде как epic1 на бк0011м (юзал эмулятор Леонида Брухиса) компилируетсья RUn-ом.. Но не работает :)
-
? Voland - 01.02.2020 22:53
Ошибка исправлена в последней прошивке СМК512
https://forum.pk-fpga.ru/viewtopic.php?f=15&t=492
-
? Alan1221 - 03.03.2020 01:16
Всё возможно https://v-champion-casino.com/
-
? azx987sa@ - 17.06.2021 22:22
Цитата - " Чёт я тупанул и изобрёл велосипед. Этот BASIC64M работает точно по тем же принципам, как я и наизобретал в dbasic1.asm, даж режимы СМК использует те же самые."
Нет, не зря. У меня только эта версия и работает.
BASIC64M
10 FOR A=0 TO 10
20 NEXT А
30 PRINT "text"
Результат - СТОП В СТРОКЕ 20. до 30 не доходит. команда NEXT сработала как кнопка СТОП.
Прошивки пробовал все 1.22-1.25, 1.1++, 1.3. Результат одинаков.
видео для наглядности https://drive.google.com/file/d/1RSvuqrWjsb8_gBv110_dyFellNM1LVNO/view?usp=sharing
Насколько я понял dbasic1.asm можно запустить в MK-DOS заменив EMT 36. А можно попросить доброго человека реализовать это? Может кому не сложно?
-
? Alexander "Sandro" Tishin@ - 18.06.2021 21:40
А если так -- заработает?
¤
10 FOR A%=0 TO 10
20 NEXT А%
30 PRINT "text"
-
? azx987sa@ - 18.06.2021 22:42
Спасибо! так работает. А почему так?
-
? Alexander "Sandro" Tishin - 20.06.2021 22:24
Потому, что переменная A -- число с плавающей запятой, а A% -- целочисленная.
Плавучка находится в самом конце третьей ПЗУ бейсика, там и проблемы. То есть поломана память либо по адресам 160000+, либо только 170000+, хватит и этого.
То есть, память там таки отображается неправильно...
- << Форум