Важная информация

User Tag List

Страница 2 из 8 ПерваяПервая 123456 ... ПоследняяПоследняя
Показано с 11 по 20 из 77

Тема: Сборка SCL из sjasm (не финальная)

  1. #11
    Banned
    Регистрация
    12.02.2014
    Адрес
    г. Арзамас
    Сообщений
    6,123
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    чоооорд, еще один косяк - загрузчик-бейсик не пишется как сектор

  2. #12
    Guru Аватар для jerri
    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,746
    Спасибо Благодарностей отдано 
    256
    Спасибо Благодарностей получено 
    265
    Поблагодарили
    199 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    denpopov, а вот так?
    Код:
    	DEVICE ZXSPECTRUM128
    	org	#6000
    header_beg
    	db	#00	;command byte
    	db	#00
    	db	"l'Abbaye  "
    	dw	bas_end-bas_beg	;full lenght
    	dw	#000a	;autostart
    	dw	#0028	;lenght without vars
    header_end
    
    ; print usr (peek val "23627"+val "256"*peek val "23628"+val "3")
    ; 34b3 usr
    
    data_beg	
    	db	#ff
    bas_beg
    	db	#00,#0a	;10
    	dw	#0024	;¤«Ё** бва®ЄЁp
    	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")
    ;(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	
    	db	#80				;endmarker
    bas_end
    data_end	
    
    screen_l	equ	bas_end-pointer
    pack_len	equ	block_end-block_beg
    end_len	equ	block_end-pointer
    
    
    
    b_title	
    	db	#ff		
    ;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	
    data	equ	end-b_title
    
    
    
    	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-$	
    
    	savebin	"0_Abbey_header",header_beg,header_end-header_beg
    	savebin	"1_Abbey_loader",data_beg,data_end-data_beg
    	savebin	"2_Abbey_block",b_title,end-b_title
    Это для кассеты, но можна же и для диска сделать?
    С уважением,
    Jerri / Red Triangle.

  3. #13
    Banned
    Регистрация
    12.02.2014
    Адрес
    г. Арзамас
    Сообщений
    6,123
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    вот это FAR все же схавал

    Код:
    	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
     
      org $8500
    
    basic_e:
    ;?checksum
    scl_e:
    
    	savebin "test.scl",scl_b,scl_e-scl_b
    а с подсчетом контрольной суммы я напутал, и с моноблоком проблемы..

    ---------- Post added at 13:41 ---------- Previous post was at 13:40 ----------

    Цитата Сообщение от jerri Посмотреть сообщение
    Это для кассеты, но можна же и для диска сделать?
    Это к интроспеку, он плодовит на сомнительные утилиты

  4. #14
    Banned
    Регистрация
    12.02.2014
    Адрес
    г. Арзамас
    Сообщений
    6,123
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    FAR проглотил и это:
    Код:
      org $8500
    basic_e:
     dw 0,0;checksum
    scl_e:

  5. #15
    Guru Аватар для jerri
    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,746
    Спасибо Благодарностей отдано 
    256
    Спасибо Благодарностей получено 
    265
    Поблагодарили
    199 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    Cool

    Цитата Сообщение от denpopov Посмотреть сообщение
    Это к интроспеку, он плодовит на сомнительные утилиты
    Это не утилита - это создание блоков для тапки средствами асма.

    вот такой вот батник собирал аббатство.
    .\utils\scrrec.exe .\gfx\info.scr
    .\utils\scrrec.exe .\gfx\title.scr
    .\utils\scrrec.exe .\gfx\loadingabbaye.scr.rec

    .\utils\MegaLZ.exe .\gfx\info.scr.rec
    .\utils\MegaLZ.exe .\gfx\title.scr.rec

    .\utils\sjasmplus.exe main.a80

    .\utils\MegaLZ.exe Abbaye.bin
    .\utils\MegaLZ.exe sound.bin

    .\utils\sjasmplus.exe screen.a80

    .\utils\MegaLZ.exe AdM_scrn

    .\utils\sjasmplus.exe loader.a80

    .\utils\savetap.exe Abbaye.tap 0_Abbey_header 1_Abbey_loader 2_Abbey_block

    .\utils\TAP2TZX.EXE Abbaye.tap

    del AdM_scrn
    del AdM_scrn.mlz
    del 0_Abbey_header
    del 1_Abbey_loader
    del 2_Abbey_block
    del Abbaye.bin
    del Abbaye.bin.mlz
    del sound.bin
    del sound.bin.mlz
    del Abbaye.tap

    pause
    С уважением,
    Jerri / Red Triangle.

  6. #16
    Banned
    Регистрация
    12.02.2014
    Адрес
    г. Арзамас
    Сообщений
    6,123
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    почти финальная:
    Код:
    	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;start
     dw basic_e-basic_b-4;length?
     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
    FAR понимает подобную сборку, даже если нет контрольной суммы. С доводами Vitamin и Shadow Maker я не согласен, потому что не вижу смысла хвататься з древность спецификации формата.

    LUA я не осилил, был бы psb, то помог, наверное.

    вот решение, хотя и не самое лучшее:
    убрать контрольную сумму, только dw 0,0
    запустить утилитку из приложения, в командной строке указывается имя файла.scl

    autorun строки вроде бы работает.
    Вложения Вложения

  7. #16
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #17
    Guru Аватар для creator
    Регистрация
    02.07.2006
    Адрес
    Новосибирск
    Сообщений
    2,193
    Спасибо Благодарностей отдано 
    422
    Спасибо Благодарностей получено 
    219
    Поблагодарили
    130 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от denpopov Посмотреть сообщение
    я не согласен, потому что не вижу смысла хвататься з древность спецификации формата
    Сегодня по RU.ANEKDOT пришёл весьма актуальный анекдот:
    Для того, чтобы быть геем нужен ещё один гей, а вот пидарасом можно быть в одиночку.
    В правильно заданном вопросе содержится половина ответа

  9. #18
    Banned
    Регистрация
    12.02.2014
    Адрес
    г. Арзамас
    Сообщений
    6,123
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от creator Посмотреть сообщение
    Сегодня по RU.ANEKDOT пришёл весьма актуальный анекдот:

  10. #19
    Vitamin C++ Аватар для Vitamin
    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,254
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    80
    Поблагодарили
    34 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от denpopov Посмотреть сообщение
    С доводами Vitamin и Shadow Maker я не согласен, потому что не вижу смысла хвататься з древность спецификации формата.
    Тогда вот тебе еще поле где развернуться- zip архивы. Там много контрольных сумм, есть куда положить большой и толстый.

  11. #20
    Banned
    Регистрация
    12.02.2014
    Адрес
    г. Арзамас
    Сообщений
    6,123
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vitamin Посмотреть сообщение
    Тогда вот тебе еще поле где развернуться- zip архивы. Там много контрольных сумм, есть куда положить большой и толстый.
    Две программы почему-то хавают .SCL, но ни один архиватор контрольные суммы .zip'a не игнорируют.

    короче, решение я предложил, если кого-то не устраивает, пусть сообщают, шутники типа creator'a тут ненужны.

Страница 2 из 8 ПерваяПервая 123456 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. SJAsm + MultiEdit (красота и удобство)
    от bugsy в разделе Программирование
    Ответов: 132
    Последнее: 03.04.2016, 12:17
  2. нужен макрос для sjasm
    от jerri в разделе Программирование
    Ответов: 8
    Последнее: 26.03.2013, 13:17
  3. МЕТКИ:sjasm+Unreal
    от breeze в разделе Программирование
    Ответов: 10
    Последнее: 06.07.2011, 08:39
  4. sjasm - первые глюки
    от breeze в разделе Программирование
    Ответов: 9
    Последнее: 24.03.2005, 10:51

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •