.bas - это для загрузки в дисковые бейсики
.cas - для загрузки в магнитофонные бейсики по CLOAD
.bas - это для загрузки в дисковые бейсики
.cas - для загрузки в магнитофонные бейсики по CLOAD
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
И те и другие превращаются в один и тот же вав. BAS это чисто токены, CAS это то же самое, обрамленное декорациями типа заголовков и контрольных сумм.
Какое происхождение файлов .bas вроде понятно. Как зарождаются .cas я на самом деле не в курсе.
Больше игр нет
Небольшое дополнение. Файлы в формате MON, для загрузки по bload в магнитофонные бейсики тоже должны быть в виде .cas.
"Естественный" способ возникновения casов (без утилит) - выгрузка из бейсика в эмуляторе с перехватом магнитофонных операций.
ivagor, а можешь подкинуть мне такой cas? Или лучше как его получить.
Больше игр нет
Не совсем понял, какой конкретно "такой" cas.
В картотеке есть игрушка Бизнес, там один cas это bas в обертке, а другой - (если так можно назвать) .mon в обертке.
Получить из эмулятора пример тоже несложно. Набираем в бейсике пару строк, записываем по CSAVE. Или записываем фрагмент памяти по BSAVE.
- - - Добавлено - - -
Уточню, там где я говорю про выгрузку из эмулятора я про Emu b2ma. VV Ramirosa вроде тоже поддерживает, но я не уверен, надо смотреть.
ivagor, не заметил, что вторая часть Бизнеса это другой CAS, спасибо. Синтаксис BSAVE я просто не знаю.
Больше игр нет
В VV - с помощью CSAVE и CLOAD - можно открывать и записывать CAS файлики.
А есть утилита, которая из CAS или BAS делает TXT и наоборот?
Знаю, что есть BT.COM, но может есть под винду.
Из BAS в TXT есть программа Tim0xи на Паскале под названием debasic:
Скрытый текст
Код:Program DeBasic; uses Crt; const BasWord : array [32..228] of string[8]=( {32} ' ','!','"','#','$','%','&','^','(',')','*','+',',','-','.','/','0','1', {50} '2','3','4','5','6','7','8','9',':',';','<','=','>','?','@','A','B','C', {68} 'D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U', {86} 'V','W','X','Y','Z','[','\',']','^',' ','Ю','А','Б','Ц','Д','Е','Ф','Г', {104} 'Х','И','Й','К','Л','М','Н','О','П','Я','Р','С','Т','У','Ж','В','Ь','Ы', {122} 'З','Ш','Э','Щ','Ч','_', {128} 'CLS','FOR','NEXT','DATA','INPUT','DIM','READ','CUR','GOTO','RUN','IF', {139} 'RESTORE','GOSUB','RETURN','REM','STOP','OUT','ON','PLOT','LINE','POKE', {149} 'PRINT','DEF','CONT','LIST','CLEAR','CLOAD','CSAVE','NEW','TAB(','TO', {159} 'SPC(','FN','THEN','NOT','STEP','+','-','*','/','^','AND','OR','>','=','<', {174} 'SGN','INT','ABS','USR','FRE','INP','POS','SQR','RND','LOG','EXP','COS', {186} 'SIN','TAN','ATN','PEEK','LEN','STR$','VAL','ASC','CHR$','LEFT$','RIGHT$', {197} 'MID$','POINT','INKEY$','AT','&','BEEP','PAUSE','VERIFY','HOME','EDIT', {207} 'DELETE','MERGE','AUTO','HIMEM','@','ASN','ADDR','PI','RENUM','ACS', {217} 'LG','LPRINT','LLIST','SCREEN','COLOR','GET','PUT','BSAVE','BLOAD', {226} 'PLAY','PAINT','CIRCLE'); { BasDWord: array [154,156,204,208,224,225] of string[8]=( 'LOAD','SAVE','BYE','FILES','CLOSE','OPEN');} var fin : file of byte; fout : text; a,c,e: byte; Size : longint; S : string; n : integer; begin WriteLn('"DEBASIC", v(1.1), @TimSoft, Chernigov, 2000'); if paramcount=0 then begin WriteLn('debasic.exe filename.bbd [basfile.bas]'); exit end; Assign(fin,paramStr(1)); if ParamCount=2 then Assign(fout,ParamStr(2)) else Assign(fout,'vector.bas'); Reset(fin); ReWrite(fout); repeat read(fin,a) until (a=$43); c:=3; repeat read(fin,a); if c=3 then n:=a; if c=4 then n:=n+a*256; if c=5 then begin write(fout,n); write(fout,#32) end; if c>4 then begin if a=0 then begin Write(fout,#$0D#$0A); c:=0; end else if a in [0..31] then write(fout,chr(a)) else if a in [32..228] then begin S:=BasWord[a]; write(fout,S); end else write(fout,a); end; inc(c); if a<>0 then e:=0 else inc(e) until Eof(fin) or (e=3); Close(fin); Close(fout) end.[свернуть]
Больше игр нет
Ок, поизучав содержимое файлов игры "бизнес", форум и подводя итог по форматам, получается следующее:
З.Ы. Формат Монитора-отладчика и формат вывода BSAVE имеют одно отличие: длинна имени во втором случае ограничена только длинной строки Бейсика -- это я проверял на живом Векторе.Код:-- ФОРМАТ Монитора-Отладчика ---------------------------------------------------- - header 256 байт 0h - синхробайт 0E6h - 4 байта 0D2h - имя (до 11 байт) - 3 байта 0h - header 256 байт 0h - синхробайт 0E6h - ст., мл. байт адреса начала - ст., мл. байт адреса конца - байты файла ========= - 1 байт контр. суммы всех байтов без переноса. -- ФОРМАТ BASIC ------------------------------------------------------------- Формат записи на магнитную ленту директивой CSAVE следующий: - header 256 байт 0h (?) - синхробайт 0E6h - 4 байта 0D3h - имя (до 127 байт ?) - 3 байта 0h - header 768 байт 55h - синхробайт 0E6h - 3 байта 0D3h - байт 0h - байты файла ========== - 3 байта 0h - младший байт контр. суммы всех байтов файла без переноса - старший байт контр. суммы всех байтов файла без переноса Формат записи на магнитную ленту директивой BSAVE следующий: - header 256 байт 0h (?); - синхробайт 0E6h - 4 байта 0D2h - имя (до 127 байт ?); - 3 байта 0h - header 256 байт 0h - синхробайт 0E6h - ст., мл. байт адреса начала; - ст., мл. байт адреса конца; - байты файла ========== - 1 байт контр. сумма всех байтов файла без переноса -- ФОРМАТ CAS --------------------------------------------------------------- Полностью совпадает с форматами BASIC, но отсутствует заголовок: - header 256 байт 0h (?) - синхробайт 0E6h![]()
Последний раз редактировалось Improver; 05.07.2018 в 13:09. Причина: Поправил названия форматов
Была утилита Евгения Лугового (надеюсь не спутал имя и фамилию) BAS->TXT на паскале для дос. Для win и в обратную сторону (TXT->BAS) не припоминаю.
Тут надо аккуратно, чтобы не возникло путаницы.
Расширение .BAS имеют дисковые файлы, в которых только "байты файла".
В вышеприведенной таблице под "форматом BAS" понимается поток байт, который будет подан на магнитофонный выход при записи по CSAVE. Emu, насколько я помню, отсекает все до первого синхробайта включительно. Т.е. формат CAS совпадает с форматами (не с файлами с таким расширением!) BAS и MON за исключением "вступительной" части до первого синхробайта включительно.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)