монолоадер.

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

От SMT Кому All 04.02.2006

Hello, Sinus млин, а зайти в отладчик и поискать адрес строки "yyyy_probelov_chtob_zapihat_code" лениво?

От Slavik Tretiak Кому All 04.02.2006

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

От Oleg Golenkoff Кому All 05.02.2006

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

От Slavik Tretiak Кому All 05.02.2006

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

От Гаврилов Виталий Кому All 05.02.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.02.2006

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

От Slavik Tretiak Кому All 06.02.2006

Hello, goodboy короче ещё 5 мессаг назад сделал сам. но всё равно всем спасибо.

От Kirill Frolov Кому All 06.02.2006

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

От Kirill Frolov Кому All 06.02.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.02.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.02.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.02.2006

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

От Slavik Tretiak Кому All 07.02.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.02.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.02.2006

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