Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Программирование (http://zx-pk.ru/forumdisplay.php?f=14)
-   -   Научите делать Basic моноблок %) (http://zx-pk.ru/showthread.php?t=10759)

newart 23rd August 2009 16:33

Научите делать Basic моноблок %)
 
Subj.

Или может быть даже есть какая то програмка для этого? :v2_conf2:

Vitamin 23rd August 2009 17:08

Забыл уже?;)

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. Там прям на диск списывается все. Но сложные случаи не уверен что поддержит.

newart 23rd August 2009 17:22

Quote:

Originally Posted by Vitamin (Post 214220)
ЗЫ. Или пользоваться сборочной системой от Alone Coder'a. Там прям на диск списывается все. Но сложные случаи не уверен что поддержит.

Это только для поклонников Аласма.

Quote:

Originally Posted by Vitamin (Post 214220)
Забыл уже?

А я и не знал, первую прогу мне помогли собрать.

Начиная с Knight Arena, я просто брал любимый Real Commander, обрезал до 1 сектора, вбивал туда свой загрущик и склеивал с кодом. %)

Vitamin 23rd August 2009 17:33

Quote:

Originally Posted by newart (Post 214221)
Начиная с Knight Arena, я просто брал любимый Real Commander, обрезал до 1 сектора, вбивал туда свой загрущик и склеивал с кодом. %)

Жуть какая... У меня монолоадеры все свои всегда были:) По единому шаблону, разумеется)))

AAA 23rd August 2009 18:06

Конечно же есть такая программка. Названия забыл, но я ей все и делал под бейсик.

Spir0 23rd August 2009 19:58

Вставлю свои 5 копеек. В бейсике делается загрузчик, на диске файлы располагаются в том порядке, в каком их надо грузить, потом для бейсик файла меняется длина в секторах так чтобы она равнялась сумме всех файлов (бейсик + кодовые) и переписывается на другой диск :)

newart 23rd August 2009 20:39

А кто-нибудь помнит как в STS5.6 менять номер дисковода?

rajdee 23rd August 2009 20:47

1 Attachment(s)
Вот что-то нашел у себя, вроде бы даже работало.

Code:

            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 есть monoloader, адаптированный Aprisobal.

breeze 24th August 2009 00:19

Я конечно хрен его знает ;) но подобная темка уже была, правда там шел в основном разговор о создании загрузчика с помощью sjasm, но в нём это удобнее делать, даже примеры были.

VNN_KCS 24th August 2009 13:22

А я делал, в основном так: В бейсике писал строку randmize usr 0 : rem, и столько пробелов, сколько байт имеет кодовый лоадер. Сохранял на диске, а потом STS-ом писал загрузчик. После #0e, менял 3 и 4 байты под реальный адрес (можно даже с кода двоеточия писать лоадер)и всё. Дописывал следом за бейсиком кодовый блок, склеивал и готово.
Писать в STS конечно не дело, зато просто. Golden Max как-то демку написал;-). Во прикол! Ох и мучался...
Потом появился Аласм, в котором есть фишка, что сама всё делает.


All times are GMT +4. The time now is 13:35.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.