Важная информация

User Tag List

Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 21 по 30 из 34

Тема: Запуск программ от ПК8000 на "Корвете"

  1. #21
    Master
    Регистрация
    27.11.2014
    Адрес
    г. Саратов
    Сообщений
    534
    Спасибо Благодарностей отдано 
    55
    Спасибо Благодарностей получено 
    38
    Поблагодарили
    30 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Cпаял нуль-мафонный кабель. Маленькие программки нормально передаются в обе стороны. Но при передаче с Суры на Корвет больших программ загрузка стопорится на 12-й звезде. Встроенный Бейсик просто дальше ничего не делает, дисковый на одной программе выдаёт "Неопределенный номер строки", на другой - "Прямой оператор в файле". В чём может быть дело?

    Понял, в чём дело. В программе содержатся псевдографические символы, которые Корвет не понимает, вот он на них и спотыкается. Удалил их на Суре, сохранил программу на Корвет, он её нормально принял.
    Последний раз редактировалось Arix; 07.11.2018 в 23:24.

  2. #22
    Master
    Регистрация
    27.11.2014
    Адрес
    г. Саратов
    Сообщений
    534
    Спасибо Благодарностей отдано 
    55
    Спасибо Благодарностей получено 
    38
    Поблагодарили
    30 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Подправил некоторые свои программы с Суры, они работают. Правки, прежде всего, были связаны с разными размерами экрана и количеством цветов. Например, LOCATE (5,21) на Корвете вызывает ошибку. Здесь нижняя строка имеет номер 16. Так же, оператор COLOR на Суре имеет три параметра от 0 до 15, здесь - два, от 0 до 7. Но мне непонятна ситуация с оператором WIDTH. Сколько не пиши (например, на Суре было WIDTH 40), Бейсик Корвета упорно ругается: неверный вызов функции. Оператор существует, иначе была бы синтаксическая ошибка. Что с ним не так? Я его просто удаляю, по умолчанию здесь ширина экрана 80, а на Суре было 32, надо было расширять до максимума.
    Вот, с редактором Бейсик на Корвете сильно подкачал. На Суре я могу просто гонять курсор по всей площади экрана и править что хочу и где хочу. Хотя, немного попрактиковавшись, быстро привыкаешь. Полохо, что при вводе команд в прямом режиме нельзя поднять курсор вверх. Ошибся при вводе команды, набирай всё заново.

  3. #23
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,843
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,818
    Поблагодарили
    1,044 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Arix Посмотреть сообщение
    WIDTH 40
    WIDTH(40)
    Цитата Сообщение от Arix Посмотреть сообщение
    по умолчанию здесь ширина экрана 80
    64

  4. #24
    Master
    Регистрация
    27.11.2014
    Адрес
    г. Саратов
    Сообщений
    534
    Спасибо Благодарностей отдано 
    55
    Спасибо Благодарностей получено 
    38
    Поблагодарили
    30 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    WIDTH(40)
    Бесполезно. С пробелом, без пробела, со скобками, без скобок, всё равно неверен вызов функции.

    Цитата Сообщение от ivagor Посмотреть сообщение
    64
    Да, это на УКНЦ - 80. А вот, в руководстве к суровскому Бейсику написано, что максимальная ширина экрана - 64 знакоместа, но отображаются первые 40. Интересно, можно ли как-то вытянуть все 64? Впрочем, это уже вопрос в раздел про Суру.

  5. #25
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,843
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,818
    Поблагодарили
    1,044 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Arix Посмотреть сообщение
    Бесполезно. С пробелом, без пробела, со скобками, без скобок, всё равно неверен вызов функции.
    О каком бейсике речь? Я писал про бейсик 2.0 из пзу.

    Цитата Сообщение от Arix Посмотреть сообщение
    А вот, в руководстве к суровскому Бейсику написано, что максимальная ширина экрана - 64 знакоместа, но отображаются первые 40. Интересно, можно ли как-то вытянуть все 64?
    У ПК8000 в текстовом 40 символьном режиме в памяти строки по 64 элемента, но отображаются 40 из них. В графическом режиме можно и 64 символа нарисовать, если шириной по 4 точки.

  6. #26
    Master
    Регистрация
    27.11.2014
    Адрес
    г. Саратов
    Сообщений
    534
    Спасибо Благодарностей отдано 
    55
    Спасибо Благодарностей получено 
    38
    Поблагодарили
    30 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    О каком бейсике речь? Я писал про бейсик 2.0 из пзу.
    Дисковый, 2.0.

    Бейсик КОРВЕТ в.2.0
    Москва
    МикроДОС 1988

    В ПЗУ у меня Бейсик 1.1, там, если указываешь параметр в WIDTH от 0 до 10 - ошибка синтаксиса, если больше, то "Индекс вне диапазона".

    - - - Добавлено - - -

    В переносимой с Суры программе есть обращения к памяти.

    Ошибка синтаксиса:
    FOR I=&H9000 TO &H9028

    Как здесь задается шестнадцатеричное число? Есть такая строка: POKE&H9100,ZW:POKE&H9101,10. На неё Бейсик Корвета не ругается, значит, &H он таки проглатывает. Но после неё:
    Неверен вызов функции:
    W=USR(&H9000)

    Во втором случае я менял &H9000 на его десятичный эквивалент, та же ошибка. Нужен запуск с указанного адреса, как здесь это делается? Или здесь это недопустимый адрес? Подпрограмма в кодах не моя, я её взял из какой-то другой программы. Это воспроизведение разных звуков.

  7. #27
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,847
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    229
    Поблагодарили
    167 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Arix Посмотреть сообщение
    я менял &H9000 на его десятичный эквивалент
    Попробуй из него вычесть 65536.

  8. #28
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,843
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,818
    Поблагодарили
    1,044 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Arix Посмотреть сообщение
    Дисковый, 2.0.

    Бейсик КОРВЕТ в.2.0
    Москва
    МикроДОС 1988
    У меня такого нет. Кстати, пзушный 2.0 вполне корректно воспринимает шестнадцатеричные в виде &HXXXX

    - - - Добавлено - - -

    Цитата Сообщение от Arix Посмотреть сообщение
    Неверен вызов функции:
    W=USR(&H9000)
    Не знаю, насколько это применимо к дисковому варианту, а в пзушном 2.0 надо так:
    10 DEF USR=&H9000
    20 W=USR(1) вместо 1 можно и другое число

    - - - Добавлено - - -

    Но вобще все эти мизерные отличия в синтаксисе бейсика не принципиальны, а вот отличия в железе и привязках к нему могут сказаться серьезнее. Т.е. надо смотреть, что делает машиннокодовая вставка, может она напрямую программает видео или звук или лезет в служебные области и в этих случаях надо ее переписывать.

  9. #29
    Master
    Регистрация
    27.11.2014
    Адрес
    г. Саратов
    Сообщений
    534
    Спасибо Благодарностей отдано 
    55
    Спасибо Благодарностей получено 
    38
    Поблагодарили
    30 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от b2m Посмотреть сообщение
    Попробуй из него вычесть 65536.
    -28672. -7000 в 16-ричном.
    ?

    У меня есть моя программа: игра "Морской бой". Полноценная, с четырехпалубными и т.д. Есть так же вариант 15 х 15 клеток с шестипалубными кораблями. Компьютер стреляет по-умному. Если "ранил", начинает стрелять вокруг подбитых палуб. Рядом с "убитыми" кораблями по соседним клеткам не стреляет и игроку того же не позволяет. в общем, действует, как человек. Но всё равно, я почему-то всё время выигрываю. Чтобы проиграть, надо специально стрелять заведомо мимо. Чего-то в этом искусственном интеллекте всё же не хватает. Вот, в родном "Морском бое" на Суре, который шёл на прилагаемой кассете, шансы были равны.

    В своё время я написал её на работе, пока сидел на дежурстве. Там был 386-й компьютер и Q-Basic. Помню, там клавиатура была ушатанная, просто выбешивала меня. Нажимаешь клавишу один раз, а символ печатается три раза. (сейчас на Корвете меня клавиша с буквой Е так же начинает выбешивать. Разве у геркона бывает дребезг?). Так вот, я эту клаву перехитрил. При вводе координат выстрела можно напечатать, например, БББ666, да что угодно между первым и последним символом, выстрел всё равно будет по Б6. Берется первый и последний символ. Такая программная защита от дребезга клавиш.
    Затем дома я сделал её на Суре. Пришлось на работе всю переписать её в тетрадь, другого способа переноса у меня не было. Дискету в Суру некуда совать и поныне (но сейчас через Корвет можно загрузить, и то есть нюансы). На Суре даже получилось несколько функциональнее. Увольняясь, я, конечно же, утащил свои творения на дискете. Слава богу, дискета дожила до того момента, когда у меня появился компьютер с Windows. Так вот, на Суре есть какая-то игрушка, в которой играет туш и похоронный марш, в зависимости от исхода игры. Я это дело воткнул в свою программу. А уж как для этого поизвращаться пришлось, чтоб вручную не набивать. Казалось бы, что проще, удали из присоединяемой программы всё лишнее, загрузи принимающую, присоедини командой MERGE. А шиш там! Везде пишут, что в Суре расширенная версия GW-Basic'a. Да какая она на фиг расширенная!! Она урезанная по самое не хочу! Тут нет ни DELETE (удаляй все строки по одной, когда из 500 строк нужно оставить 50), ни MERGE, ни CIRCLE, ни RENUM. И много ещё чего нет. Чего такого нет в обычном GW-Basic'е из того, что есть в суровском? Я пока такого не нашёл, а обратно - хоть отбавляй. Вот, кстати, заодно пытаюсь адаптировать суровские программы к GW-Basic'у на IBM-PC. Я так до сих пор не понимаю, "расширенная версия" - это был такой прикол?
    Объединение программ я делал следующим образом. Записывал обе на магнитофон в формате SAVE. Потом грузил их, в нужные моменты вставляя и вынимая кабель из магнитофона, чередуя обе программы.

    Я сначала в Windows в текстовом редакторе подправляю программу, потом пишу на корветовскую дискету. Корвет уже успел выдать мне BDOS Error с вылетом из Бейсика и потерей несохранённых правок. Как раз при попытке сохранения. Я вынимал дискету, таскал её на IBM, а он это просёк! IBM'ке это по барабану, пока к диску нет обращения. Там можно спокойно загрузить программу с одной дискеты, а сохранить на другую. Но Корвету это сильно не понравилось. Но я его перехитрил. У меня стоит заведённый 386-й, на котором я и копирую данные с корветовской дискеты через MST. На нём Windows 3.11, он в сети. Рядом с Корветом стоит ноутбук, на котором параллельно открыта в блокноте эта же программа по сети с 386-го. Все изменения я тут же вношу и там и там. Если что, несу дискету в 386-й и переписываю файл.

    С машиннокодовыми вставками я раньше не понимал, что с ними делать на IBM? На Суре 64 кб памяти, есть схема адресации. А на IBM мегабайты, а сейчас гигабайты. И куда в эти гигабайты совать эти подпрограммки? Они там не потеряются? А оказалось, Бейсик берёт себе некоторый объем и с ним работает, как будто остальных гигабайтов и нет.

  10. #30
    Veteran
    Регистрация
    06.02.2009
    Адрес
    Кемерово
    Сообщений
    1,328
    Спасибо Благодарностей отдано 
    58
    Спасибо Благодарностей получено 
    162
    Поблагодарили
    129 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Чего только люди не напридумывают, лишь бы эмуляторами не пользоваться.
    ПК8010 "Корвет"+ExtRom+AY, Atari 65XE+SDrive, Дельта-С(52ИС)+AY, Scorpion ZS 1024+SMUC

Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Запуск и наладка "Ленинград-НЭТИ"
    от Cat_Alex/QRP в разделе Ленинград
    Ответов: 74
    Последнее: 12.04.2020, 00:56
  2. ПК8000 - Игровой автомат "Фотон"
    от Mick в разделе ПК8000
    Ответов: 307
    Последнее: 07.11.2018, 18:54
  3. Ответов: 3
    Последнее: 13.10.2011, 13:40

Ваши права

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