Чем тапка не устраивает?
Вид для печати
Чем тапка не устраивает?
Slider, Rindex, значит будет.
посоветуйте адекватный и простой загрузчик через 3d13
а то навороченный набивать не хочется.
ну и если что чтобы был какой то контроль ошибок
Фирменный авторский SCL игры.
Смотрите, тестируйте.
загрузчик таки пришлось дергать свой
те два по ссылкам наверху - шаманские.
пофиксил CRC.
наслаждайтесь.
QIWI кошелек - +79178162712
В смысле? Чем тебе такой сборщик не нравится? http://zx-pk.ru/showpost.php?p=718022&postcount=36
Shadow Maker, ну на данный момент
я собрал все вот это вот такой вот загогулиной
а как мне моноблоки делать в программе Витамина я пока не понялКод:DEVICE ZXSPECTRUM128
;8 байт - имя файла
;1 байт - расширение B
;2 байта - полная длинна басика
;2 байта - длинна програмной части бейсика
;1 байт - длина программы в секторах
;в последнем секторе после полной длинны бейсика находится #80 #aa #0a #00
;указатель автостарта
org #6100-9-14
scl_beg
header_beg
defb "SINCLAIR"
defb 1
db "l'Abbaye"
db "B"
dw data_end-bas_beg ; full_length
dw bas_end-bas_beg ;basic_length
db (body_end-data_beg)/256
header_end
; print usr (peek val "23627"+val "256"*peek val "23628"+val "3")
; 34b3 usr
org #6100
data_beg
bas_beg
db #00,#0a ;10
dw #0024 ;длина строки
db #f5,#c0,#28,#be ;print usr (peek
db #b0,#22,#32,#33,#36,#32,#37,#22,#2b ;val "23627"+
db #b0,#22,#32,#35,#36,#22,#2a,#be ;val "256"*peek
db #b0,#22,#32,#33,#36,#32,#38,#22,#2b ;val "23628"+
db #b0,#22,#33,#22,#29,#0d ;val "3")
bas_end
;(23627)
;vars
db #4c ;L
dw screen_l ;var_len
pointer
di
ld h,b
ld l,c
ld sp,hl
ld hl,end_len
add hl,bc
ld de,#ffff
ld bc,pack_len+1
lddr
inc de
ld hl,#6000
push hl
ex de,hl
include "DEC40.a80"
org $-1
block_beg
incbin "AdM_scrn.mlz"
block_end
data_end
db #80 ;endmarker
db #aa
db #0a
db #00
full_end
if $&255
display "assign ",256-$&255
ds 256-$&255
endif
screen_l equ data_end-pointer
pack_len equ block_end-block_beg
end_len equ block_end-pointer
b_title
;48k - depack to #4000
incbin "\gfx\title.scr.rec.mlz"
incbin "\gfx\info.scr.rec.mlz"
incbin "sound.bin.mlz"
incbin "Abbaye.bin.mlz"
end
if $&255
display "assign ",256-$&255
defb #0d,#0a,"Jerri/RT/AF_08/07/2014",#0d,#0a
ds 256-$&255
endif
;crc
data equ end-b_title
body_end
defb 0,0,0,0
scl_end
display "header:",header_beg,",",header_end-header_beg
display "loader:",data_beg,",",data_end-data_beg
display "block :",b_title,",",end-b_title
display "Free :",$,",",#10000-$
display "SCL: ",scl_beg,",",scl_end-scl_beg
savebin "Abbaye.scl",scl_beg,scl_end-scl_beg
Тогда проще зайти в тему попова и забрать оттуда считалку контрольной суммы.
Я правда не проверял, правильно оно считает или нет.Код:LUA
local fp
local checksum
fp = assert(io.open("test.scl", "rb"))
checksum=0
while true do
local byte = fp:read(1)
if byte==nil then
break
end
checksum=checksum+string.byte(byte)
end
assert(fp:close())
print("writing",string.format("%08X",checksum))
fp = assert(io.open("test.scl", "a"))
for i=1,4 do
fp:write(string.char(checksum%256))
checksum=math.floor(checksum/256)
end
-- assert(fp:flush())
assert(fp:close())
ENDLUA
Моноблоки отдельной прогой забубенить проще, у меня скрипт для этого сидит.