Просмотр полной версии : Запуск программ от ПК8000 на "Корвете"
Можно ли программы от "Суры" ПК8000 запустить на Корвете? Если просто загрузить их через магнитофонный вход. Воспримет ли их Корвет вообще, будет ли загружать? Если будет, то, я так понимаю, будет много ошибок из-за несовместимости Бейсиков. Надо запустить на Корвете суровский Бейсик. Существует ли такой в виде BASIC.COM?
Да, кстати, нужен бы и работающий корветовский дисковый Бейсик. А то у меня он не работает - пустой серый экран и внизу строка из твёрдых знаков.
Serebriakov
11.06.2018, 01:51
Не очень знаком с Сурой, но теоретически сами бейсики должны быть совместимы. Насколько мне известно, в Суре стандартное расширение MSX-ного бейсика. В Корвете бейсик, так же, MSX-совместимый:
Интерпретатор языка Бейсик в ПЗУ, полностью соответствует стандарту MSX, в том числе реализует все графические операторы (рисование точек, линий, прямоугольников, закрашенных прямоугольников, окружностей, эллипсов, дуг, закраска замкнутой области, DRAW), работу с целыми числами и т. д.
Все зависит от сложности программы/игры и как она использует железо. Если там не используются специфичные для Суры системные вызовы или обращения к памяти/портам/гзу прямо из бейсика, тогда должно запуститься. Простые программы точно будут работать.
Вроде у них даже форматы хранения на ленте одинаковые, можно Бейсик попробовать вгрузить, будет работать по идее если нет прямого обращения к железу.
На Корвете хватает своих BASIC-программ.
Но не хватает моих, которые я сам писал. :) Часть из них я вручную перенабил на IBM-PC в QBasic'e. Сейчас на 386-м в них играюсь. Была мысль фотографировать экран телевизора, потом распознавать файн-ридером. Но фоткалки у меня тогда не было, это было ещё начало 2000-х, это всё было дорого.
Я не знаю, все ли программы, выпускавшиеся на кассетах для Суры, есть для Корвета.
Кстати, одни и те же программы на Корвете работают гораздо быстрее, сем на Суре. Например, игра "Пожарник", где надо эвакуировать мышей из горящего здания. На Суре - пока он туда проползёт, пока сюда... Потом я играл в неё на эмуляторе Корвета. Там всё быстро. Ну, думаю, эмулятор-то на современном железе работает. А когда я "окорветился", оказалось, что и на реале он так же быстро бегает. Почему? Ведь обе машины на одном и том же процессоре, памяти у них одинаково. Видеопамяти больше?
Итак, первый эксперимент.
Взял программу TEST с родной суровской кассеты. Разумеется, давно перегнанную в WAV. Загрузилась нормально. Пытаюсь запустить - синтаксическая ашыпка в первой же строке. Вывожу листинг - все операторы перепутались. Например, RENUM вместо PRINT.
На Суре есть разные форматы сохранения программ. CSAVE/CLOAD - одним целым и SAVE/LOAD - поблочно. Второй вариант - это текстовый формат. Кодируются символы, а не операторы. Но Корветовский Бейсик в таком виде его не грузит, пишет "Ошибка чтения".
Может, есть какой копировщик?
Что-то Бейсик на Корвете какой-то тупой. Клавиши F1 - F5 два раза сработали, потом стали срабатывать с большой задержкой. Потом вообще перестали работать. На цифровой клавиатуре клавиши курсора не работают. Я думал, будет всё, как на Суре, клавиатура ведь такая же. Сами эти клавиши исправны, в других программах работают.
Serebriakov
11.06.2018, 22:05
Кстати, одни и те же программы на Корвете работают гораздо быстрее, сем на Суре. Например, игра "Пожарник", где надо эвакуировать мышей из горящего здания. На Суре - пока он туда проползёт, пока сюда... Потом я играл в неё на эмуляторе Корвета. Там всё быстро. Ну, думаю, эмулятор-то на современном железе работает. А когда я "окорветился", оказалось, что и на реале он так же быстро бегает. Почему? Ведь обе машины на одном и том же процессоре, памяти у них одинаково. Видеопамяти больше?
Первоначально FireRescue выходила как раз на MSX и работала даже еще быстрее чем Корвете. То же касается и Stop the Express, который часто называли Mafia или Train, ну или самого первого Bomberman'a - Eric and the Floaters. В чем была проблема сделать хороший быстрый порт на, казалось бы, MSX-совместимою Суру, мне неизвестно. Возможно, аппаратные ограничения ибо там было много несовместимых с MSX костылей. Ну а на Корвете просто очень хороший, оптимизированный под графику Корвета, порт. Хотя и работает медленнее чем в оригинале на MSX.
Немного оффтопа. Меня очень забавят обложки перечисленных выше игр:
6550365504655016550265505655066550765508
В чем была проблема сделать хороший быстрый порт на, казалось бы, MSX-совместимою Суру, мне неизвестно.
В Суре немножко процессор не Z80, а КР580ВМ80А, отсутствует видеопроцессор Yamaha V9958, звуковой процессор YAMAHA YM2149, поэтому будь ты хоть мегавиртуозом-программистом, хорошего порта не может получиться в принципе.
Serebriakov
11.06.2018, 22:55
В Суре немножко процессор не Z80, а КР580ВМ80А, отсутствует видеопроцессор Yamaha V9958, звуковой процессор YAMAHA YM2149, поэтому будь ты хоть мегавиртуозом-программистом, хорошего порта не может получиться в принципе.
В Корвете всего того же нет, процессор тот же КР580ВМ80А, а порт хороший =) Полагаю затыки не в этом. А в аппаратных костылях Суры, из-за которых сложно было сделать быструю графику.
Там вроде можно в ascii выгрузить и загрузить в этом виде в Корвет?
Serebriakov
12.06.2018, 14:46
Там вроде можно в ascii выгрузить и загрузить в этом виде в Корвет?
Да, что-то я про это совсем забыл.
Согласно документации от MarinovSoft:
http://marinovsoft.narod.ru/pk8020.htm
http://marinovsoft.narod.ru/korvet/basic_korvet.pdf
http://marinovsoft.narod.ru/korvet/ascii_korvet.pdf
в Корвете используется MSX-формат записи на ленту.
Но MSX-ных команд CSAVE и CLOAD на Корвете нет. Только SAVE и LOAD со специальными параметрами:
SAVE "УСТРОЙСТВО:ИМЯ ФАЙЛА",ПАРАМЕТРЫ
LOAD "УСТРОЙСТВО:ИМЯ ФАЙЛА",ПАРАМЕТРЫ
УСТРОЙСТВО:
CAS: - кассетный накопитель
A: - дисковод A:
B: - дисковод B:
...
В дисковом бейсике BASIC.COM, устройство можно не указывать - по-умолчанию будет использоваться дисковод A:
ИМЯ ФАЙЛА:
Задается без расширения, т.е. без BIN или BAS:
LOAD "CAS:RALLY",B,R
При загрузке с кассеты, имя файла можно опустить:
LOAD "CAS:",B,R
ПАРАМЕТРЫ:
A - текстовый ASCII-формат
B - блочный формат (бинарный, токенизированный)
R - сразу запустить программу после загрузки (передать исполнение загруженной программе)
В общем, нужно четко указывать, чтобы программа загружалась в ASCII-формате (параметр A).
Arix, попробуйте сделать SAVE в текстовый ASCII-формат на Суре, а потом LOAD "CAS:ИМЯ",A,R на Корвете.
Там вроде можно в ascii выгрузить и загрузить в этом виде в Корвет?
Конечно, МОЖНО!
http://realddp.narod.ru/misc/mozhno.gif
Serebriakov
12.06.2018, 17:46
Конечно, МОЖНО!
Это с реального Корвета записано или какой-то из эмуляторов Корвета поддерживает загрузку с ленты?
Arix, попробуйте сделать SAVE в текстовый ASCII-формат на Суре, а потом LOAD "CAS:ИМЯ",A,R на Корвете.
Да, я это уже нашёл, как раз на Мариновсофте. Сейчас попробую.
Это с реального Корвета записано или какой-то из эмуляторов Корвета поддерживает загрузку с ленты?
EMU (b2m). Добавить в конфиг Корвета:
cas : tape-recorder {
record=ppa2.portC[1]
playback=ppa1.portA[0]
}
Не получается. Ошибка чтения.
Я уж и ,А набирал и ,А,R.
И что-то Бейсик в Корвете глючит по-чёрному. Набрать LOAD" - целая проблема. Ввожу LO, у меня какое-то OLOLO выходит. Нажимаю РГ+кавычки - стирается буква D и кавычки пчатаются на её месте. Получается LOA". На УКНЦ LOA прокатит, но здесь вряд ли. Но после имени файла с кавычками никаких проблем. То курсор упрыгивает в конец экрана. Что за фигня? И почему не работают стрелки для перемещения курсора?
В СР\М эта фраза без проблем набирается, значит, дело не клавиатуре. Правда, клавиши курсора тоже не работают, вместо перемещения курсора печатается всякая фигня, например, ^D, ^F.
Что мне нравится на клавиатуре Корвета, Суры, УКНЦ, так это знаки препинания. При любой раскладке они всегда одни и те же, на отдельных клавишах. Точка, запятая, двоеточие, используемые чаще всего, - в нижнем регистре. Хотя тут не поймешь, какой нижний, какой верхний, короче, набираются без шифта. На клавиатуре IBM же, я просто задолбался! Каждый раз смотри, какая у тебя раскладка, думай, что сейчас напечатается, запятая или Б, точка или / . Ну почему там нельзя было сделать по-человечески?
Из-под Микродоса дисковый бейсик работает. Но... я пишу LOAD "CAS:ИМЯ",A, а он сразу пишет "Файл не найден". Мгновенно, то есть, он даже и не ждёт загрузки. Я пробовал сначала включить плеер, а потом запускать команду. Бесполезно.
Похоже, клавиатура всё-таки - г... Нажимаю F2, а он мне LOAD" пять раз печатает. Она разве не герконовая?
Serebriakov
12.06.2018, 23:41
И что-то Бейсик в Корвете глючит по-чёрному. Набрать LOAD" - целая проблема.
Похоже, клавиатура всё-таки - г... Нажимаю F2, а он мне LOAD" пять раз печатает. Она разве не герконовая?
Судя по описанным симптомам, у вас какие-то аппаратные проблемы. Бейсик не должен глючить, стрелки должны нормально работать. Клавиатура герконовая, да, очень удобная.
Мб раскрутите Корвет и проверьте шлейф клавиатуры, для начала.
Нажимаю F2, а он мне LOAD" пять раз печатает.
Это непостоянно. Может пять, а может и два напечатать. Если очень быстро пальцем ткнуть, может и один раз напечататься.
У меня есть второй Корвет, 8010, у него клавиатура работает гораздо лучше, клавиши нажимаются мягче. Я пытался её переставить в этот, а она не лезет. Надо растачивать пазы.
я пишу LOAD "CAS:ИМЯ",A, а он сразу пишет "Файл не найден".
Бейсик левый попался. Нашёл несколько разных Бейсиков, попробовал тот, который размером 25472 байта и с файлом BASIC.KEY. Он грузит с кассеты. Уже ближе к цели! Мою программу в формате SAVE он грузит, на каждом загруженном блоке показывает звездочку. Но останавливается на 11-й звездочке, и дальше ничего не происходит. Я проверил звуковой файл в звуковой редакторе, ничего криминального после 11-го блока нет. Завтра буду смотреть, а то уже спать пора.
Кстати, вот, опечатался с именем файла, он пишет "ПРОПУЩЕН такой-то". Как отменить загрузку? На Суре я нажимаю УПР+СТОП, а тут он ни на что не реагирует. Будет до скончания вселенной ждать именно того файла, какой я написал. Каждый раз приходится жать Reset.
Serebriakov
13.06.2018, 01:29
Может оцифруйте вашу кассету и погоняете в эмуляторе? DDp выше давал конфиг. Ну или вот архив с эмулятором b2m-emu (https://yadi.sk/d/KwY0WiZO3XoGN7), где выброшено все кроме конфига Корвета с эмуляцией магнитафона. Там пишете команду загрузки LOAD "CAS:NAME",B,R для бинарников (TETRIS.wav) или A,R для ASCII (mozhno.wav), потом ENTER и жмете на значок Play "->", чтобы выбрать WAVE для загрузки. Я приложил пару тестовых файлов в папке TEST_WAV.
P.S. Чтобы ввести двоеточие в b2m нужно нажать клавишу "+" слева от backspace (неочевидно, пришлось поискать ;) )
Кассета оцифрована ещё в 2000-х. Конечно, не напрямую с магнитофона, а с магнитофона на Суру, потом с Суры на звуковую карту современного компьютера.
Оказывается, поведение Бейсика, клавиш и т.д., зависит от расположения звёзд и планет комбинации версии Бейсика и операционной системы. Один и тот же Бейсик в разных (хотя, вроде и одинаковых) ОС может работать по-разному. Я вчера сгенерировал образ в Штейнблюме, он мне туда и СР/М НИИЯФ сразу воткнул. В образ я накидал бейсиков, какие нашёл. И вот, там так, как я вчера писал. Отменить загрузку никак, на диск В не зайти. Сегодня комп с этой дискеты вообще не грузится. Хотя, дискета Изот, отзывы о них не очень. Загрузился со своей системной дискеты, запустил Бейсик с изотовской. Загрузка останавливается просто клавишей СТОП. Итак, поехали. После 11-й звезды Бейсик написал: "Неопределенный номер строки". Листинг открылся, всё выглядит нормально. При попытке запустить - ошибка синтаксиса в строке 11. Так что, несовместимость Бейсиков есть. На дискету программа сохранилась.
В принципе, эксперимент можно считать удачным - передача магнитофонных файлов с Суры на Корвет и обратно возможна. Что и требовалось доказать или опровергнуть. Доказали!
Можно использовать "нуль-магнитофонный кабель".
Что касается клавиатуры. Я подключил клавиатуру от другого Корвета - всё нормально, никакого дребезга.
Cпаял нуль-мафонный кабель. Маленькие программки нормально передаются в обе стороны. Но при передаче с Суры на Корвет больших программ загрузка стопорится на 12-й звезде. Встроенный Бейсик просто дальше ничего не делает, дисковый на одной программе выдаёт "Неопределенный номер строки", на другой - "Прямой оператор в файле". В чём может быть дело?
Понял, в чём дело. В программе содержатся псевдографические символы, которые Корвет не понимает, вот он на них и спотыкается. Удалил их на Суре, сохранил программу на Корвет, он её нормально принял.
Подправил некоторые свои программы с Суры, они работают. Правки, прежде всего, были связаны с разными размерами экрана и количеством цветов. Например, LOCATE (5,21) на Корвете вызывает ошибку. Здесь нижняя строка имеет номер 16. Так же, оператор COLOR на Суре имеет три параметра от 0 до 15, здесь - два, от 0 до 7. Но мне непонятна ситуация с оператором WIDTH. Сколько не пиши (например, на Суре было WIDTH 40), Бейсик Корвета упорно ругается: неверный вызов функции. Оператор существует, иначе была бы синтаксическая ошибка. Что с ним не так? Я его просто удаляю, по умолчанию здесь ширина экрана 80, а на Суре было 32, надо было расширять до максимума.
Вот, с редактором Бейсик на Корвете сильно подкачал. На Суре я могу просто гонять курсор по всей площади экрана и править что хочу и где хочу. Хотя, немного попрактиковавшись, быстро привыкаешь. Плохо, что при вводе команд в прямом режиме нельзя поднять курсор вверх. Ошибся при вводе команды, набирай всё заново.
WIDTH 40
WIDTH(40)
по умолчанию здесь ширина экрана 80
64
WIDTH(40)
Бесполезно. С пробелом, без пробела, со скобками, без скобок, всё равно неверен вызов функции.
64
Да, это на УКНЦ - 80. А вот, в руководстве к суровскому Бейсику написано, что максимальная ширина экрана - 64 знакоместа, но отображаются первые 40. Интересно, можно ли как-то вытянуть все 64? Впрочем, это уже вопрос в раздел про Суру.
Бесполезно. С пробелом, без пробела, со скобками, без скобок, всё равно неверен вызов функции.
О каком бейсике речь? Я писал про бейсик 2.0 из пзу.
А вот, в руководстве к суровскому Бейсику написано, что максимальная ширина экрана - 64 знакоместа, но отображаются первые 40. Интересно, можно ли как-то вытянуть все 64?
У ПК8000 в текстовом 40 символьном режиме в памяти строки по 64 элемента, но отображаются 40 из них. В графическом режиме можно и 64 символа нарисовать, если шириной по 4 точки.
О каком бейсике речь? Я писал про бейсик 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 на его десятичный эквивалент, та же ошибка. Нужен запуск с указанного адреса, как здесь это делается? Или здесь это недопустимый адрес? Подпрограмма в кодах не моя, я её взял из какой-то другой программы. Это воспроизведение разных звуков.
я менял &H9000 на его десятичный эквивалент
Попробуй из него вычесть 65536.
Дисковый, 2.0.
Бейсик КОРВЕТ в.2.0
Москва
МикроДОС 1988
У меня такого нет. Кстати, пзушный 2.0 вполне корректно воспринимает шестнадцатеричные в виде &HXXXX
- - - Добавлено - - -
Неверен вызов функции:
W=USR(&H9000)
Не знаю, насколько это применимо к дисковому варианту, а в пзушном 2.0 надо так:
10 DEF USR=&H9000
20 W=USR(1) вместо 1 можно и другое число
- - - Добавлено - - -
Но вобще все эти мизерные отличия в синтаксисе бейсика не принципиальны, а вот отличия в железе и привязках к нему могут сказаться серьезнее. Т.е. надо смотреть, что делает машиннокодовая вставка, может она напрямую программает видео или звук или лезет в служебные области и в этих случаях надо ее переписывать.
Попробуй из него вычесть 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 мегабайты, а сейчас гигабайты. И куда в эти гигабайты совать эти подпрограммки? Они там не потеряются? :) А оказалось, Бейсик берёт себе некоторый объем и с ним работает, как будто остальных гигабайтов и нет.
marinovsoft
03.12.2018, 19:13
Чего только люди не напридумывают, лишь бы эмуляторами не пользоваться.
Ага, ещё и реальную технику покупают, собирают, восстанавливают, лишь бы эмуляторами не пользоваться. А кто-то покупает ружьё, платит за лицензию на охоту, зимой в лесу ползает по снегу, лишь бы на компьютере в симулятор охоты не играть. :)
Мне эмуляторы неинтересны, мне интересна "живая" техника, тем более, когда она есть и работает. И не только результат, но и процесс.
Эмулятор мне может быть нужен, чтобы что-то проверить. Например, если на реальном железе что-то не запустилось, можно проверить это на эмуляторе. Будет ли там работать. Сделать выводы.
Да, кстати. Я прогонял через вашу программу MsxCas WAV'ы с Суры. В CAS'ax получается абракадабра. Программа формирует файл для Корвета, там кодировка операторов Бейсика другая. А как сделать файл именно для Суры? Ведь уже есть готовые файлы, как и в чём они были сделаны?
marinovsoft
04.12.2018, 04:33
Ну вот, вы опять ничего не поняли. В 21 веке для ретро-ПК как правило разработка идет на PC с использованием программных эмуляторов, и только тестирование (при необходимости) идет на реальном железе.
Например https://zx-pk.ru/threads/26761-podklyuchenie-ay8910-k-korvetu.html был сначала сделан в эмуляторе, а потом проверен на реальном железе.
Ежели вам доставляет удовольствие "секс" с набиранием исходного кода в редакторе бейсика именно на реальном Корвете с убитой клавиатурой.... не буду ставить диагнозы.
А, вон вы что имеете в виду... Я подумал, что вы вообще против реального железа.
У моего Корвета сейчас нормальная клавиатура, только с клавишей Е есть проблемы. Что касается моего "Морского боя", убитая клава была у 386-го в лихих 90-х, когда я впервые сделал эту программу. Сейчас я не набиваю программу с нуля, а адаптирую её. При этом первоначальные правки (то, что заведомо надо менять) я сделал в Windows в текстовом редакторе. Что касается "секса" с редактированием строк, разве в эмуляторе будет не то же самое? Я там загружу тот же Бейсик, он будет работать так же.
Нашел дисковый бейсик 2.0. Чтобы width там нормально работал надо перед первым вызовом width сделать POKE&H60CC,64. После этого width не будет ругаться, причем и со скобками и без скобок.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot