Subj.
Или может быть даже есть какая то програмка для этого? :v2_conf2:
Вид для печати
Subj.
Или может быть даже есть какая то програмка для этого? :v2_conf2:
Забыл уже?;)
10 rem <здесь кодовый загрузчик>
20 paper not pi : border not pi : ink 7 : clear ... : randomize usr 23719 (адрес точно не помню уже)
следом за этим басиком лежат все кодовые блоки. В загрузчике:
ld de,(23796) ;расположение на диске первого кодового блока
ld hl,...
ld bc,#..05
call #3d13
...
и т.д.
Проверить, запуская басик. После этого склеить басик и все следующие за ним нужные блоки (L в RealCommander, ЕМНИП).
ЗЫ. Или пользоваться сборочной системой от Alone Coder'a. Там прям на диск списывается все. Но сложные случаи не уверен что поддержит.
Конечно же есть такая программка. Названия забыл, но я ей все и делал под бейсик.
Вставлю свои 5 копеек. В бейсике делается загрузчик, на диске файлы располагаются в том порядке, в каком их надо грузить, потом для бейсик файла меняется длина в секторах так чтобы она равнялась сумме всех файлов (бейсик + кодовые) и переписывается на другой диск :)
А кто-нибудь помнит как в STS5.6 менять номер дисковода?
Вот что-то нашел у себя, вроде бы даже работало.
В комплекте с sjasm есть monoloader, адаптированный Aprisobal.Код:org #6000
;Monoloader maker v.0.1
;rajdee.mhm
;01.02.05
randomize equ #f9
usr equ #c0
val equ #b0
rem equ #ea
ld bc,#7ffd:ld a,#17:out (c),a
ld hl,End
ld (hl),0:ld a,h:or l
inc hl:jr nz,$-5
ld bc,9:call CopyName
ld hl,Start:ld de,BasEnd-BasBeg
ld c,#0b:call #3d13
ld bc,13:call CopyName
ld a,(#5d1e)
ld c,#09:call #3d13
ret
CopyName
ld hl,BasName:ld de,#5cdd:ldir
ret
BasName db "test "
db "B"
FilePar dw LdrEnd-BasBeg
dw LdrEnd-BasBeg
Start ;disp #5d3b; Alasm
phase #5d3b
BasBeg dw #0100; номер строки
dw LdrEnd-LdrBeg
LdrBeg db randomize,usr,val
db #22,"23883",#22
db ":",rem
;-Loader put here--------------
;------------------------------
db #0d
LdrEnd db #80,#aa
dw 1; номер строки автостарта
BasEnd unphase
End
Я конечно хрен его знает ;) но подобная темка уже была, правда там шел в основном разговор о создании загрузчика с помощью sjasm, но в нём это удобнее делать, даже примеры были.
А я делал, в основном так: В бейсике писал строку randmize usr 0 : rem, и столько пробелов, сколько байт имеет кодовый лоадер. Сохранял на диске, а потом STS-ом писал загрузчик. После #0e, менял 3 и 4 байты под реальный адрес (можно даже с кода двоеточия писать лоадер)и всё. Дописывал следом за бейсиком кодовый блок, склеивал и готово.
Писать в STS конечно не дело, зато просто. Golden Max как-то демку написал;-). Во прикол! Ох и мучался...
Потом появился Аласм, в котором есть фишка, что сама всё делает.