Ну а исходник?
я подготовил работу в .SCL, потом FAR'ом вытащил в другой .SCL, размер файлов и контрольных сумм совпал, если не трудно, то покажи свою работу.
Ну а исходник?
я подготовил работу в .SCL, потом FAR'ом вытащил в другой .SCL, размер файлов и контрольных сумм совпал, если не трудно, то покажи свою работу.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Что исходник? Взял твой исходник.
Проблемы такие вот:PHP код:
device zxspectrum128
macro sectors datab,datae
IF low (datae-datab)=0
db high (datae-datab)
ELSE
db (1+high (datae-datab))
ENDIF
endm
org $8000-14*2-9
scl_b:
;header_b:
db "SINCLAIR"
db 2;two! filez
;-1st
; 12345678t
db "abstractC"
dw $8000;start adres of code block
dw end-begin;size of code
sectors begin,end;db 4;sectors
;-2nd
; 12345678t
db "abstractB"
dw basic_e-basic_b-4;size of basic
dw basic_e-basic_b-4;size of basic
sectors basic_b,basic_e;db 1;sectors
;header_e:
; ORG #8000
begin
ld hl,pack,de,$6100
push de
include "zx7.a80"
pack: incbin "test.bin.zx7"
end
org $8400
basic_b:
db #00,10;номер строки
DW EndLine1 - Line1
Line1:
db $FD;clear
db $B0;val
db $22,"24575",$22,":"
db $F9;randomize
db $C0;usr
db $B0;val
db $22,"15619",$22,":"
db $EA;rem
db ":"
db $F7;run
db $22,"abstract",$22
db $AF;code
db #0D
EndLine1:
db #80;for autorun
db #AA,10,0
basic_e:
org $8500
dw 0,0;checksum
scl_e:
savebin "test.scl",scl_b,scl_e-scl_b
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
PHP код:
SjASMPlus Z80 Cross-Assembler v1.07 RC7 (build 02-04-2008)
scl.a80(24): error: [IF] Forward reference
scl.a80(30): error: [IF] Forward reference
Pass 1 complete (2 errors)
Pass 2 complete (2 errors)
writing 000258F4
Pass 3 complete
Errors: 2, warnings: 0, compiled: 180 lines, work time: 0.016 seconds
Свирепый агрессивно-депрессивный мордовец!
Не уверен - не напрягай!
Не сдавайся. Дыши?
Virtual TR-DOS
Да, косяк с расположением файлов. Буду думать.
Вот такой вариант.
Тоже задумал make_scl написать - не спрашивайте на чем, - не скажу.
Никак не могу понять, каким образом вы выравниваете файлы внутри scl по границе сектора. Или это не требуется?
Последний раз редактировалось Sergey; 26.06.2014 в 01:34.
С уважением,
Gris / Red Triangle.
_____________________________________
ZX-EVO/TS-Labs config/NGS/HDD/SD-card
Amiga A1200/Blizzard 1230@50/32/60GB
Amiga A1200/Apollo 1260@66/32/60GB
UnAmiga (C5) AGA GM7123 VideoDAC
кстати, кто шарит, подскажите, пройдет ли align 256?
никак не врублюсь в описание(
Свирепый агрессивно-депрессивный мордовец!
Не уверен - не напрягай!
Не сдавайся. Дыши?
Virtual TR-DOS
Шо, свечки больше не помогают?
---------- Post added at 13:37 ---------- Previous post was at 13:31 ----------
я так понял, он так и делает: после INCBIN макрос sectors юзается.
Можно иcпользовать align 256. Только будет один минус - случайные данные хуже пакуются, чем нули. Но я считаю, что на это целесообразно "забить". На реале, ведь, тоже неиспользуемая часть сектора хз чем забита.
С уважением,
Gris / Red Triangle.
_____________________________________
ZX-EVO/TS-Labs config/NGS/HDD/SD-card
Amiga A1200/Blizzard 1230@50/32/60GB
Amiga A1200/Apollo 1260@66/32/60GB
UnAmiga (C5) AGA GM7123 VideoDAC
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)