- Бейсик Вильнюс 86 на БК 0011м
-
? Maxvel@ - 03.08.2018 00:28
Есть возможность выложить Бейсик 86 Вильнюс адаптированый под БК0011м, работа с дисководом и винтом а точнее с лог. дисками реализована по средствам Дос. Так же есть возможность смены палитры во время выполнения программ на бейсике. Данная адаптация работает только на БК0011м и только с контролером СМК 64-512.
¤
Вот пример листинга как будет реализована работа с ДОС и дисками.
¤
¤
; Драйвер работы с ДОС
; Есть возможность сохранения содержимого оперативной памяти с адреса @#12000(8) по @#137777(8)
; И обратно в частности по этим адресам будет находится кусок бейсика
;
¤
MOV @#4,-(SP) ;Сохраняем содержимое вектора 4
MOV #116324,@#4 ;Блокируем кнопку стоп от любителей тыкать ее
JSR R4,@#110346 ;Сохронение содержимого регистров с 0 по 3
;--------------------------------------------------------------------------------------
; Переносим кусок бейсика в буфер на 3 страницы
;--------------------------------------------------------------------------------------
MOV #36000,@#177716
MOV #120000,R0
MOV #40000,R1
I16132: MOV (R0)+,(R1)+
CMP R0,#140000
BNE I16132
;--------------------------------------------------------------------------------------
; Вынемаем из буфера 2 страницы текущую ДОС
MOV #26000,@#177716
MOV #40000,R0
MOV #120000,R1
I16160: MOV (R0)+,(R1)+
CMP R1,#140000
BNE I16160
;----------------------------------------------------------------------
; Начало работы самой ДОС
;----------------------------------------------------------------------
MOV #16000,@#177716 ;Подключаем 5 страницу
MOV #6,@#177130 ;Взводим регистр контролера
MOV #100140,@#177130 ;Возврат в исходное состояния для всех машин и отключения страниц памяти
MOV #0,@#177130 ;Очистка от мусора
JSR R4,@#110362 ;возврат содержимого регистров
CALL @#120002 ;Вызов Дос для работы с накопителем
JSR R4,@#110346 ;Сохроняем содержимое регистров на всякий случай
MOV #6,@#177130 ;Взводим регистр контролера
MOV #2040,@#177130 ;Отключаем ПЗУ БК0011м и подключаем 3 страницу ОЗУ контролера там часть бейсика
MOV #0,@#177130 ;Удаляем мусор
;------------------------------------------------------------------------------------------------
; Востоновления начального куска бейсика и содержимого регистров а так же вектора 4
;------------------------------------------------------------------------------------------------
MOV #36000,@#177716
MOV #40000,R0
MOV #120000,R1
I16274: MOV (R0)+,(R1)+
CMP R1,#140000
BNE I16274
MOV #16000,@#177716
JSR R4,@#110362
MOV (SP)+,@#4
RTS PC
SUB (PC),(SP) ;Блокировка клавиши СТОП
RTI
;-------------------------------------------------------------------------------------------
; Продолжения подпрограммы работающей по 274 вектору
;-------------------------------------------------------------------------------------------
CMP R0,#212 ;Было ли нажато "АР2/ВВОД
BNE I16372 ;если да то переключаем палитру
MOV @#117760,@#177662 ;Переключем палитру
CMP #47400,@#PALET ;Проверяем не достигли ли мы предела.
BEQ I16364 ;Если да то надо сбросить в 0 палитру.
ADD #400,@#PALET ;Прибавлаем 400(8) на слудующую палитру
BR I16372
I16364: MOV #40000,@#PALET ;Сбрасываем палитру на 0.
I16372: CALL @#102124
JMP @#101626 ;Возврат в подпрограмму обрабатываемой по 274 вектору.
;----------------------------------------------------------------------------------------------
¤
Внимание изначально этот драйвер писался в PARADISE а потом был дезасемблирован и откоментирован...
-
? Manwe - 03.08.2018 06:25
Идея хорошая
-
? S_V_B - 03.08.2018 06:31
Идея замечательная и лежащая на поверхности, но когда я год назад задал этот вопрос мне сказали что это не возможно, сложно итд.. и к диску не доберешся.
А Maxvel сказал: "фигня вопрос" и за неделю зафигачил :)
-
? Maxvel@ - 03.08.2018 11:13
Вот пробуйте!!!
https://yadi.sk/d/QzvSj4kp3ZrftS
-
? Maxvel@ - 03.08.2018 11:45
При запуске стартового модуля проводится тестирование ОЗУ контролера на ошибки точнее на корректную работу самой БК с контролером и режимом 40 (отключение ПЗУ БК11м) если во время тестирования пошёл отсчет адресных ячеек с содержимым значит с вашей БК есть проблемы или контролером. Если вы увидите сообщение о том что все в порядке то будет загружен сам бейсик.
После запуска бейсика нажмите СТОП
Вообще есть вопросы к тем людям которые писали его и самый главный для какой изначально машины он писался? Так как в процессе его копания была обнаружена следующая ошибка находящаяся по адресу 125162 MOV R0,@#176566 хотя известно что в ПЗУ не чего не запишешь или подпрограммы к которым не кто и не как не обращается к стати одна такая была перемещена в адреса 116xxx а на ее месте точнее начале оставлен JMP @#xxxxxx.
Для переключения палитры нажимает АР2/ВВОД.
П. С. Я не любитель писать мне легче сказать и объяснить!
-
? BD - 03.08.2018 14:25
Герой! Изобрел велосипед, но, своими руками!
На БК11М не нужен СМК, даже ПЗУ Бейсика не нужно (см. BASIC11M+OVL). Только КНГМД и один дисковод ))
На БК10 - надо допОЗУ 8Кб для загрузки ДОС.
Это было в 1991-1993 годах, когда RDC изобрел BASIC10.DSK длиной 371(8) байт для КНГМД альтека.
Но круче был только FOCAL8 by SSS (С.Камнев). Он грузился в 8Кб замещая andos (c 120000 адреса) и потом подгружаясь при записи файла.
-
? S_V_B - 03.08.2018 14:31
Дело тут не в изобретении велосипеда, а то что это 10чный 86й басик.
Ты на 11й как Басик программы от 10ки запускаешь? - никак..
-
? BD - 03.08.2018 14:54
CLOAD "xxx.COD" и всё ))
-
? Maxvel@ - 03.08.2018 14:54
BD - читай выше и внимательно там же сказано то что 10 бейсик на 11м тоесть в к примеру можешь спокойно поиграть в королевство эйфория на 11м с использованием 10ого бейсика.
-
? BD - 03.08.2018 14:57
МКТ'шный Бейсик при сохранении .ASC файла еще умел все писать в один файл ))
-
? S_V_B - 03.08.2018 15:03
Вот блин здесь всегда так, лиж бы человека обидеть.
А то что Maxvel разобрался с дебильной памятью СМК и хоть как-то её использовал - это тоже велосипед?
И вообще у каждого должен быть свой велосипед и не один:)
По другому с БКшкой не получается.
-
? BD - 03.08.2018 15:41
А как же ребята из Казани?
https://www.youtube.com/channel/UCvUv_-dSuj9a5O7fCcu4_Rw/
-
? S_V_B - 03.08.2018 16:32
Это же хорошо что хоть кто-то пытается.. а вы сразу велосипед.
Демка конечно хорошо, но какая от нее практическая польза кроме как поглазеть?
А тут прямо ностальджи.. сейчас Epic буду пробовать запускать.
-
? Manwe - 03.08.2018 18:46
Молодец, конечно! Респект
-
? S_V_B - 03.08.2018 19:40
Кстати работает только под АнДос
-
? Александр... - 06.08.2018 07:46
Отвечая на вопрос, для чего он писался - для ДВК он изначально был написан. Потом его адаптировали под остальные творения НЦ.
-
? Maxvel@ - 06.08.2018 11:39
Понятно.
-
? BD - 06.08.2018 12:57
на уровне текста (asc) они все совместимы. в КУВТе просто извратились, запись поблочно сделали с БК на ДВК. ну дискета одна, а передача на 9600 ))
-
? BD - 06.08.2018 13:20
диковод на ДВК писал на 25000 бод. найдете отличия от бейсика мсх 4.0 который был еще в 1983.
пардон, уже втащил ))
-
? Maxvel@ - 07.08.2018 00:33
И так как выяснилось размещения уничтожения драйвера магнитофона и сопутствующих подпрограмм не к чему хорошему не привела из за этого я буду переделывать практически весь модуль загрузки и размещения самого бейсика в памяти,содержимое ячеек с 116076 по 117776 трогать не буду так как из за этого появилась привязка к одной ОС а так же сказалось на работе самого бейсика. Так же в модуле загрузки присутствуют не большой модуль тестирования памяти с адресов 140000 по 160000. Вопрос убрать его или нет.
-
? BD - 07.08.2018 04:02
Может тебе исходники помогут самого бейска ))
http://forum.maxiol.com/index.php?showtopic=4337
Транслировать только надо в MACRO под RT-11.
Эмулятор ДВК брать тут http://zx-pk.ru/threads/18351-emulyator-dvk.html
-
? Manwe - 07.08.2018 11:41
10 PRINT CHR$(47+INT(RND(2)*2)*45);
20 GOTO 10
-
? Alexander "Sandro" Tishin@ - 09.08.2018 13:42
Maxvel> Вообще есть вопросы к тем людям которые писали его и самый главный для какой изначально машины он писался? Так как в процессе его копания была обнаружена следующая ошибка находящаяся по адресу 125162 MOV R0,@#176566 хотя известно что в ПЗУ не чего не запишешь или подпрограммы к которым не кто и не как не обращается к стати одна такая была перемещена в адреса 116xxx а на ее месте точнее начале оставлен JMP @#xxxxxx.
¤
Ну вот зачем так кидаться словами, не разобравшись в вопросе? 176566 -- это не ошибка, а работа с блоком ИРПС. Прочитай про КУВТ-86 что-нибудь техническое.
-
? Maxvel@ - 10.08.2018 19:40
На БК 0010 это ПЗУ и записи не подлежит, так что в какой-то степени эта ошибка
-
? gid - 10.08.2018 21:10
Если подключен блок ИРПС, настроенный на адреса портов 176560..176566, то запись туда будет работать.
И даже всё будет корректно. потому что в ячейках 176560..176564 записаны нули, а в 176566 записано 0360.
На запись будет выдавать RPLY чип ВП1-035/065, а на чтение - сперва ВП1-035/065, а затем ПЗУ. А поскольку там нули, то мешать они не будут. А 0360 - это адрес вектора прерывания приёмника ИРПС, стандартный для диапазона 176560
¤
Так что это не ошибка. А трюк такой. Электрически корректный.
-
? Maxvel@ - 11.08.2018 05:48
Понятно.
-
? svinka@ - 12.08.2018 00:36
Трюк корректный до тех пор пока у вас сбис по технологии нмоп. Выходной каскад которых как бы транзистор с нагрузочным резистором в верхнем плече. Если cmos подцепите - сгорит. Или сильно нагреется
-
? Maxvel@ - 12.08.2018 17:54
Я не электронщик!
- << Форум