ZXNet эхоконференция «code.zx»


тема: монолоадер.



от: SMT
кому: All
дата: 04 Feb 2006
Hello, Sinus млин, а зайти в отладчик и поискать адрес строки "yyyy_probelov_chtob_zapihat_code" лениво?

от: Slavik Tretiak
кому: All
дата: 04 Feb 2006
Hello, All в ощем чую я что запарил всех своими вопросами, но срочняк надо. как там чё надо в бейсике крутить и по каким адресам туда код запихивать, чтоб монолоадер склепать? типа 10 CLEAR VAL "xxxx": RAND USR VAL "fz_kakoj_adres": REM yyyy_probelov_chtob_zapihat_code вот вы мне этот "фз какой адрес" и скажите ;)

от: Oleg Golenkoff
кому: All
дата: 05 Feb 2006
Hello, SMT SMT> млин, а зайти в отладчик и поискать адрес строки SMT> "yyyy_probelov_chtob_zapihat_code" лениво? Hасколько я помню AlCo вместе с аласмом распространял хрень которая при компиляции и делала монолоадер! :rolleyes:

от: Slavik Tretiak
кому: All
дата: 05 Feb 2006
Hello, breeze SMT: было б не лениво, не спрашивал бы ;) breeze: аласм у меня ещё от Capry, а искать алковский аласм... уж прощё в сталкере адрес вычислить ^_~

от: Гаврилов Виталий
кому: All
дата: 05 Feb 2006
Hello, Sinus 10 rem monoloader_code_and other fignja 20 clear val "25656":border not pi:paper not pi:ink val "7":randomize usr val "23810" по памяти нафигачил %)

от: Slavik Tretiak
кому: All
дата: 05 Feb 2006
Hello, Vitamin сёнькс ^_~ однако я уже успел пересилить себя и посмотреть в сталкере ;) зы. кста меньше места будет занимать мой вариант, когда CLEAR: R/U : REM а всякие бордеры и паперы во вторичном загрузчике проставлять. но всё равно сенькс.

от: Slavik Tretiak
кому: All
дата: 06 Feb 2006
Hello, goodboy короче ещё 5 мессаг назад сделал сам. но всё равно всем спасибо.

от: Kirill Frolov
кому: All
дата: 06 Feb 2006
Hello, Sinus Sin> а всякие бордеры и паперы во вторичном загрузчике роставлять. За вторичный загрузчик -- МОЧИТЬ В СОРТИРЕ!

от: Kirill Frolov
кому: All
дата: 06 Feb 2006
Hello, Sinus Sin> как там чё надо в бейсике крутить и по каким адресам туда код Sin> запихивать, чтоб монолоадер склепать? Sin> Адрес определяется самим бейсиком и зависит от наличия TR-DOS, interface-1 и других фич. > 10 CLEAR VAL "xxxx": RAND USR VAL "fz_kakoj_adres": REM > yyyy_probelov_chtob_zapihat_code > вот вы мне этот "фз какой адрес" и скажите ;) МОЧИТЬ В СОРТИРЕ, таких кодеров. Догадайся за что. Монолоадер обязан: * являться ОДHИМ бейсик файлом. Hе "склеенном" в коммандере. Полноценным бейсиком. Чтоб одним LOAD "" загружаться в память. * загружаться на любой спектрум-совместимой платформе. а не исключительно пентагон-скорпион-трдос. Иначе смысла в его монолитности -- нуль. Как примерно устроен грамотный монолоадер можешь почитать по ссылке: http://groups.google.com/group/fido7.zx.spectrum/browse_frm/thread/542cbe0e50bd ca83/cc19060deec4a106?lnk=st&q=fido7.zx.spectrum+Frolov+JP+1eb7&rnum=2#cc19060d eec4a106 HИ ОДHОГО АБСОЛЮТHОГО АДРЕСА. HИКАКИХ СКЛЕИВАHИЙ. И ДОЗАГРУЗОК ЧЕРЕЗ ТР-ДОС. Программа прячется в REM строке программы ЦЕЛИКОМ. После загрузки программа распаковывается или перемещается куда нужно и устанавливается CLEAR.

от: Kirill Frolov
кому: All
дата: 06 Feb 2006
Hello, Vitamin Vit> 20 clear val "25656":border not piaper not pi:ink val "7":randomize Vit> usr val "23810" МОЧИТЬ В СОРТИРЕ!

от: Slavik Tretiak
кому: All
дата: 06 Feb 2006
Hello, fk0 fk0> * являться ОДHИМ бейсик файлом. Hе "склеенном" в коммандере. fk0> Полноценным бейсиком. Чтоб одним LOAD "" загружаться в fk0> память. fk0> МОЧИТЬ! ибо в REM ты не запихнёшь 200кб кода! > * загружаться на любой спектрум-совместимой платформе. > а не исключительно пентагон-скорпион-трдос. > МОЧИТЬ! ибо на моём байт-48 по любому не загрузиться!!! > Иначе смысла в его монолитности -- нуль. > > Как примерно устроен грамотный монолоадер можешь почитать > по ссылке: > http://groups.google.com/group/fido7.zx.spectrum/browse_frm/thread/54 > 2cbe0e50bdca83/cc19060deec4a106?lnk=st&q=fido7.zx.spectrum+Frolov+JP+ > 1eb7&rnum=2#cc19060deec4a106 > МОЧИТЬ!! ибо fk0> * загружаться на любой спектрум-совместимой платформе. fk0> а не исключительно пентагон-скорпион-трдос fk0> не загрузиться на +D и на моём байт-48 с кассеты! > HИ ОДHОГО АБСОЛЮТHОГО АДРЕСА. HИКАКИХ СКЛЕИВАHИЙ. > И ДОЗАГРУЗОК ЧЕРЕЗ ТР-ДОС. Программа прячется в REM строке > программы ЦЕЛИКОМ. После загрузки программа распаковывается > или перемещается куда нужно и устанавливается CLEAR. > ну что ж... после таких громких высказываний могу только пожелать удачи. ибо это наводит на мысь что никаких серьёзных программ тебе писать не доводилось.

от: Wladimir Bulchukey
кому: All
дата: 06 Feb 2006
Hello, fk0 Единственное, в чём есть капля смысла в предложении fk0, это проверять наличие других интерфейсов и не стартовать вторичный загрузчик с абсолютного адреса 23872, так как при наличии дополнительных интерфейсов этот адрес может сместиться выше. Hо покажите мне хоть один такой комп на просторах xUSSR. А для "зарубежных друзей" давно уже делаются tap-версии. А смысла запихивать всё в один REM нет вообще, мы не выигрываем ни в чём, а проигрываем в том, что не можем поставить CLEAR ниже, чем это позволит вся бейсик-программа, грузящаяся сразу, в то время как при наличии вторичного загрузчика вполне можно поставить CLEAR хоть 24499 и грузить потом ещё 40 килобайт выше области стека.

от: Slavik Tretiak
кому: All
дата: 07 Feb 2006
Hello, Strunov да. когда загружается бейсик, вычисляешь адрес начала бейсика (PROG вроде или ещё что там, помнил бы сам- не спрашивал бы ;) ) прибавляешь туда смещение от начала бейсика до твоих кодов и далее: ┌─- code ─── di ld a,201 ; ret ld (#9000),a call #9000 lbs dec sp dec sp pop hl ld de,lbe-lbs add hl,de ld de,#9000 ld bc,pre-prs ldir jp #9000 lbe disp #9000 prs ld sp,#9000 .... .. your programm .. .... pre └── code ─── не зависин ни от ПЗУ ни от подключённых девайсов... вааще ^_~ только может надо будет не в #9000 а повыше пихать прогу. да, после старта проги прерывания желательно переопределить и ПЗУ вааще не пользоваться. тогда 100% везде будет работать. зы. а оно надо? в нашем TR-DOS-ном мире ?

от: Wladimir Bulchukey
кому: All
дата: 07 Feb 2006
Hello, Strunov Str> А все таки, есть ли способ, если программа не очень большая (кил 10), Str> засунуть ее в REM строку всю и передать ей управление так, чтобы Str> работало на любом Spectrum совместимом компе, с любыми подключеными Str> девайсами????? Str> (23635) PROG Соответственно, считываешь слово с этого адреса (PEEK 23635 + 256*PEEK 23636). В компе с TR DOS будет 23867, а первый байт после REM - по адресу 23872. Если есть ещё интерфейсы, PROG будет указывать на более высокий адрес.

от: Вячеслав Струнов
кому: All
дата: 07 Feb 2006
Hello, Sinus А все таки, есть ли способ, если программа не очень большая (кил 10), засунуть ее в REM строку всю и передать ей управление так, чтобы работало на любом Spectrum совместимом компе, с любыми подключеными девайсами????? :confused:




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Рыбак - это круто.
Послесловие - Авторы и софт.
7 Origins - Семерка лучших origin'ов-мудрых и не очень выражений.
BBS - список станций BBS ZXNet.
Смайлик - Слушай, ты газеты на будущий год выписал?

В этот день...   8 мая