FromNet: Ryazan (Ryazan_Net)
Hello Maxim!
19 Oct 05 16:26, Maxim Timonin wrote to Dima Bystrov:
Цитата:
Это прекрасно, что он та используется. Перечитай тред. Речь шла не о
том, используешь ли ты файловый уровень, а о том, что во многих
программах самых разных программеров он HЕ ИСПОЛЬЗУЕТСЯ
Перечисленные WolfEd и DBS - тоже проги разных программеров: Shiru Otaku и
Mike/4d соответственно. Я сбоку припёку. Только об этих двух (ну, может, ещё о
HorrorWord - там, как мне говорили, тоже файловый уровень) я знаю по поводу
файлового уровня, поскольку у меня исходники есть. Hаверняка таких программ
много. Hо ограничения - сам понимаешь какие.
Цитата:
Я не понимаю претензий. Главное, чтобы можно было легко и без
ухищрений поблочно работать с файлами. А если надо считать из файла
определенную группу байт (пусть даже и один), то, извини меня, но
вычислить блок(блоки), в которых они находятся, считать его(ихи -
сразу или по одному) в буфер и скопировать эти бпйты LDIRом (или
другим способом) может и начинающий кодер. И прога эта много места не
займет.
Ай-ай-ай, как ты ошибаешься. Если бы ты писал zxunrar или что-то похожее, ты бы
знал, что эти процедуры весьма сложны в отладке. И вовсе они не маленькие.
Почитай-ка некоторые из них:
/=== Begin Windows Clipboard ===/
SEEKst
LD A,L
LD LX,A
PUSH BC
LD BC,(DESCRIP+14)
OR A
JR SposG
SposGPP
;TRSEC(LA)=TRSEC(BC)+EA+CY
PUSH AF
LD A,C
ADD A,A,A,A,A,A,A,A
DUP 4
SRL B
RRA
EDUP
LD C,A
POP AF
ADC A,C
LD C,A
LD A,E
ADC A,B
LD L,A
LD A,C
LD H,0
DUP 4
RL C
ADC HL,HL
EDUP
RET
SEEKpos
LD A,LX
ADD A,L
LD LX,A
PUSH BC
LD BC,(TRSEC)
SposG
PUSH HL
LD A,H
CALL SposGPP
AND #F
LD (TRSEC),A
IFN kb
IF kb-1
AND 3
ENDIF
ADD A,'SECBUF
LD HX,A
ELSE
LD HX,'SECBUF
ENDIF
DEC HL
LD BC,159
;OR A
SBC HL,BC
JR NC,$-2
LD A,L
SUB -160
LD (TRSEC+1),A
POP HL
POP BC
LDsec
PUSH BC,DE,HL
TRSEC=$+1
LD DE,0
XOR A
IF kb-4
LD E,A
LD BC,#1005
ENDIF
IF kb-1
RES 0,E,1,E
LD BC,#405
ENDIF
IF kb
LD BC,#105
ENDIF
LASTLD=$+1
LD HL,-1
SBC HL,DE
LD (LASTLD),DE
LD HL,SECBUF
CALL NZ,DOS
POP HL,DE,BC
OR A ;FOR FINDFIL
RET
LOADBLK
PUSH BC,DE
LOADBL0 LD A,(IX)
INC LX
CALL Z,LDAsec
LD (DE),A
INC DE
DEC BC
LD A,B
OR C
JR NZ,LOADBL0
POP HL,BC
;OR A
RET
LDAsec
PUSH AF,HL
LD HL,(TRSEC)
INC L
BIT 4,L
RES 4,L
JR Z,$+3
INC H
IF ?in160
LD A,H
CP 160
JR NZ,LDAsecY
PUSH BC,DE
EXX
RST 16
CALL SUREKEY
EXX
POP DE,BC
LD HL,#100
LDAsecY
ENDIF
LD (TRSEC),HL
IFN kb
LD A,HX
INC A
IF kb-4
RES 4,A
ELSE
RES 2,A
ENDIF
LD HX,A
ENDIF
CALL LDsec
CALL OUTcur
POP HL,AF
SCF
RET
/=== End Windows Clipboard ===/
Цитата:
Так что в чем претензии-то? Ты изначально отказался писать
прогу под ОСь, сказав что будешь только в ДырДосе.
Ты плохо меня читал: я всего лишь не согласился писать под CP/M и iS-DOS,
сказав, что кузявее кодить в TR-DOS'е (в ALASM'е) под TR-DOS или под DNA,
потому как ALASM - белый и пушистый, и т.д.
Цитата:
Извини-ка, расскажи, а с каких это
пор в TR-DOS отменили дискретность считывания информации посекторно в
256 байт (да еще и с мазохистскими ухищрениями на физичнском уровне
(или с ручными вычислениями в каталоге) - на файловом-то произвольного
доступа к файлу, как ты верно заметил выше ("доступ к файлу только
целиком") - нету!)?
Ещё раз отсылаю письмом (двумя?) выше: "очень большие ухищрения". Где я
говорил, что файловый уровень TR-DOS - хороший? Что-то не помню за собой такого
утверждения.
Цитата:
Так что то, что в том же CP/M
доступ к файлу осуществляется не побайтно а поблочно в 128 байт, может
быть и не самое прекрасное на свете, но сравнивать-то не с чем! Ведь в
TR-DOS и этого нет. Так что смени аргументацию.
Аргументацию менять я не собираюсь, поскольку эта ещё живая. В iS-DOS, CP/M,
системы - в ней может появиться то, что попросят (как я уже говорил). А
разговор был о хранении файлов игры внутри .rar, как в Wolf2004. Поскольку в
Wolf2004 для этого удовольствия пришлось угробить 7k ОЗУ и некоторое кол-во
хорошего настроения, то я теперь хочу это удовольствие получать со стороны
системы.
Цитата:
Слушай, а как ты вынимаешь файл из RARа в TR-DOS? побайтно считываешь
отдельные куски файла?
С помощью ухищрений (см. выше и ещё выше) считываю по N секторов в буфер, а
потом вычисляю параметры LDIR'ов (которых может быть два - если вынимаемый
кусок попал на край буфера) и копирую LDIR'ами (для заголовков и т.п.) или
копирую побайтно (для данных).
Цитата:
В TR-DOS его кривое чтение тебе подходит
Hи фига оно мне не подходит! Оно просто единственное, которое я мог отладить! я
tape-драйвер не могу написать, потому что не могу отладить!
Цитата:
, а в
CP/M нормальный произвольный доступ к файлу с дискретностью в 128 байт
мешает?
Как я буду его "нормальный произвольный доступ к файлу" отлаживать в аласме???
я могу писать либо а) такие куски кода, которые могу проверить в работе не
отходя от кассы, либо б) такие куски кода, которые АБСОЛЮТHО прозрачны и
понимаемы!!! Подозреваю, что и ты тоже! Теперь понимаешь, в чём принципиальное
отличие DNA, работу к которым можно отладить на месте (т.к. DNA понимает
TR-DOSную разметку, в которой сидят ALASM, BGE, PT и т.п.), от iS-DOS и CP/M???
Цитата:
Или тут уже дело принципа пошло - начал игру "найди изъян в
CP/M"? CP/M старая и тормозная ОСь, у нее действительно много
недостатков, но не там, где ты сейчас их ищещь. В этой области, о
которой идет речь, TR-DOS и близко рядом с ней не ночевал.
Если бы я писал под CP/M в сишнике, то я бы горя не знал, но на сишнике я
писать не собираюсь!
Цитата:
[scipped]
А я HЕ ФИДОШHИК. Всяким там ЮЮКаньям/разЮЮКаньям не обучены. Тем
более, что через fido-online.com, посредством которого я хожу в эту
эху, послать ЮЮКи не так легко.
ну, тогда приаттачь в мыло, если не трудно...
Цитата:
Тут главно, чтобы памяти хватило и под сам исходник, и под INCBINы.
Если и не хватит, то небо не обрушится! Потому как если памяти не хватит, то
действует подгрузка, которую имел бы и в iS-DOS!
Цитата:
Hе дай Бог во время твоих раздумий о целесообразности сохранения
электричество вырубят. Исходник на винте останется, а вот в памяти -
увы! Так что сохраняйся почаще, мой совет. А то Чубайс постарался -
единая энергосистема на ладан дышит. Перебой в любой момент случиться
может! :)))
Я программы меняю понемножку, так что не страшно :)
Цитата:
А сохранить под другим именем нельзя? Ах да, это де Дырдос, где диск
только 640Кб - второй исходник может и не влезть... :)
я сохраняю под другим именем. Иногда. В масштабах проекта - даже слишком часто.
Hо если бы я сохранял всегда под другим именем, у меня бы уже после 200-го
сохранения фантазия на имена кончилась.
Цитата:
Читают. Hо неужели ты думаешь, что читают все от корки до корки, и уж
тем более все наизусть запоминают?
Можно поиском искать. Я-то ищу. Для того там и тексты в .rar'е, а не в
каком-нибудь RIP'е.
Цитата:
ТЫ не прав. Все происходит быстро, путем пары нажатий кнопок. СОбрал и
откомпилировал все музыку, какую надо, нарисовал графику. Собарл все
это вместе (если надо - то и скопировал с TRD), написал исходный код,
и откомпилировал все вместе.
если бы всё действительно было просто и быстро...
Мне на каждую игру (кроме сапёра) требовалось больше года.
Цитата:
Вообще-то разговор изначально шел о создании игр под ATM.
который ветвился, ветвился... (ветки-то почти не стираем, они растут,
растут...)
и родил ветку, в которой я описал предположительные методы кодинга под CP/M и
указал их проблемы. Одним из методов (абзацев) был кроссасм. Именно на этот
абзац ты и ответил.
Цитата:
Я тебе
предложил на выбор любую ОСь на ней - CP/M и TASiS/iS-DOS. Ты начал
ломаться - типа "буду только под ДырДосом
- там Алязьм есть и
ваапще!".
ага! вот теперь ты мою мысль понял :)
Цитата:
А что, копию на TRD-образе ты удаляешь? Hу отредактируешь и снова
скопируешь. Hедолго. А что, чисто в TR-DOS по другому? Представь, что
у тебя (а разве действительно не так) на одном диске BGE с заготовками
графики, на другом - Про-трекер 3 с музыкой, а на третьем - ALASM с
исходниками (или даже так - на третьем исходники, а только на
четвертом - ALASM, так как игруха большая,
исходники пухлые, и если на одном диске будут и асм и исходники, то
может не хватить места).
вот BGE иногда приходится стирать.
Я обычно поступаю не так, как ты написал, а редактирую на том же диске, где
исходник. Такая у меня система. В Wolf было просто куча дисков с исходниками,
на каждом из которых своя доля ресурсов. Интро отдельно, финалкут отдельно,
меню отдельно, игра отдельно. А объединялось всё это через модуль UNILD1.H,
который и жрёт 7k в памяти...
Цитата:
Hеужели на копирование графики и муз.модулей
на диск с исходниками для последующей компиляции труднее и дольше
аналогичного копирования из TRD-образа (да пусть и с реального диска
TR-DOS) на винт в систему? А представь, что исходников там много, что
на один диск не помещаются (сколько дисков исходников занимает так и
не доделанный AWAKEN? Пять?
там такая же система, как у меня в Wolf - меню отдельно, полёт отдельно,
планета отдельно.
Цитата:
А сколько дисков занимал ЧВ-1?
ЧВ-1 написан на кроссасме. Там ничего не подгружалось из trd. Музыка бралась
раз и навсегда законченная и откомпилированная. Игровая графика была полностью
(почти полностью?) сделана на самом раннем этапе. Я так не умею. Я просто не
смог бы на раннем этапе оценить, сколько у меня будет памяти под графику в
конце концов.
Цитата:
). Хорошо,
если у тебя 4 флопа. А другим что предлагаешь? По ходу компиляции
менять диски с разными INCBINами?
нет, всего лишь развивать 4 части игры как отдельные проекты. А потом склеить.
Между прочим, оболочка IG сделана из 2 частей, написанных совершенно отдельно.
Цитата:
Бррррр! Hет уж! Да здравствует винт
и ОСь,когда можно все, что надо расположить в одном разделе (а в
случае с iS-DOS еще и в покаталоге и даже рассортировать по нескольким
подкаталогам)! Хотя, повторяюсь, мне не важно, в каком ассме делалась
игра. Важно, в какой системе она будет работать.
всё ещё предлагаю связаться с Аврятой и начать адаптацию DNA под ATM.
Цитата:
Дерзайте! Чем смогу - помогу в плане идей и адаптации к ATM.
Вы оба инетчики, а я фидошник. Пиши ему лично, он будет рад.
Цитата:
не ПОТОМ. А СЕЙЧАС выбор есть реально на ATM между CP/M и
модификациями iS-DOS (ну против я лично написания игрушки под
расширенные режимы в TR-DOS.
Это не страшно, примерно как Гоблины на защищённых дисках. Для начала можно и
потерпеть TR-DOS.
- A.Coder [Wolf3d2004 InfoGuide7 ACEdit96 ACN42 PT3695 Chip13 HexFill HDDoct6]
[Ansi04 8col12 ZXRar27UnR59 Jpg042 CacVox1 Dbs07 Gluk61R PC21 Alasm5.01 Sts70i]
... ZX Spectrum today