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

User Tag List

Страница 1 из 8 12345 ... ПоследняяПоследняя
Показано с 1 по 10 из 77

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

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

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

    написал от безделья сборку в ужясме .SCL:
    Код:
    	device zxspectrum128
    
    	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
     db 4;sectors
    ;-2nd
    ;    12345678t
     db "abstractB"
     dw basic_e-basic_b;size of basic
     dw basic_e-basic_b;size of basic
     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:
    
    scl_e:
    
    	savebin "test.scl",scl_b,scl_e-scl_b
    правда автозапуск строки не работает

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

  3. #2
    Super Moderator Аватар для Alex Rider
    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,908
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    89
    Поблагодарили
    31 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от denpopov Посмотреть сообщение
    написал от безделья сборку в ужясме .SCL
    А ежели бы еще длину файлов в секторах считать...

    Цитата Сообщение от denpopov Посмотреть сообщение
    правда автозапуск строки не работает
    К телу BASIC-файла можно добавить #AA, startline_lo, startline_hi. Тока длину в секторах для BASIC'а считать с ними, а размер файла - без них.

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

    По умолчанию

    ага, вляпались модераторы Этот вопрос много куда относится, значит пора дублировать сообщения?

    ---------- Post added at 07:03 ---------- Previous post was at 06:07 ----------

    получаю вот такую ошибку:
    Код:
    SjASMPlus Z80 Cross-Assembler v1.07 RC7 (build 02-04-2008)
    mkscl.asm(23): error: [IF] Forward reference
    mkscl.asm(29): error: [IF] Forward reference
    Pass 1 complete (2 errors)
    Pass 2 complete (2 errors)
    Pass 3 complete
    Errors: 2, warnings: 0, compiled: 145 lines, work time: 0.000 seconds
    код поправил с учетом пожеланий:
    Код:
    	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:
    
    scl_e:
    
    	savebin "test.scl",scl_b,scl_e-scl_b

  5. #4
    --- Аватар для Shadow Maker
    Регистрация
    01.03.2005
    Адрес
    Саранск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    235
    Поблагодарили
    100 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А где контрольная сумма? Не вижу.

    Последние 4 байта - контpольная сyмма (арифметическая сумма всех предыдущих байт)
    Последний раз редактировалось Shadow Maker; 18.06.2014 в 09:47.
    Свирепый агрессивно-депрессивный мордовец!
    Не уверен - не напрягай!

    Не сдавайся. Дыши?

    Virtual TR-DOS

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

    По умолчанию

    Цитата Сообщение от Shadow Maker Посмотреть сообщение
    А где контрольная сумма? Не вижу.
    эмуляторы игнорируют, да и убьешься щитать, разве что с помощью LUA.

    мне интересно сообщение ошибки и непонятно, как выровнять Basic по адресу?.

  7. #6
    --- Аватар для Shadow Maker
    Регистрация
    01.03.2005
    Адрес
    Саранск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    235
    Поблагодарили
    100 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Что значит игнорируют? Есть спецификации, надо делать по спецификациям, а не от балды. Не можешь посчитать - зачем тогда вообще такие файлы давать. Наводнят щас пол-интернета этими файлами битыми.
    Свирепый агрессивно-депрессивный мордовец!
    Не уверен - не напрягай!

    Не сдавайся. Дыши?

    Virtual TR-DOS

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

    По умолчанию

    Цитата Сообщение от Shadow Maker Посмотреть сообщение
    Есть спецификации, надо делать по спецификациям, а не от балды.
    Да ну?
    http://www.zx-modules.de/fileformats/sclformat.html
    контрольная сумма указана в статье speccy.info

  9. #8
    --- Аватар для Shadow Maker
    Регистрация
    01.03.2005
    Адрес
    Саранск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    235
    Поблагодарили
    100 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Даешь линк на какого-то немца, который не шарит. Вот первоисточник, читай TXT файл. http://vtrdos.ru/pcutilz/AMD01.ZIP
    Свирепый агрессивно-депрессивный мордовец!
    Не уверен - не напрягай!

    Не сдавайся. Дыши?

    Virtual TR-DOS

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

    По умолчанию

    Цитата Сообщение от Shadow Maker Посмотреть сообщение
    Даешь линк на какого-то немца, который не шарит.
    не согласен, утилит у него много, хотя часть утилит просто бестолковые.

    Ссылки не катят, потому что контрольную сумму игнорируют эмуляторы, Far'у тоже наплевать.

    и решения ты не предложил, реально ли это собрать в ужясме, или мне самому утилиту написать?

  11. #10
    --- Аватар для Shadow Maker
    Регистрация
    01.03.2005
    Адрес
    Саранск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    235
    Поблагодарили
    100 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Короче запиливай контрольную сумму или это надо убирать, пока люди не начали использовать, иначе пол-интернета завалит битыми SCL.

    То, что кому-то там наплевать, не значит, что надо игнорировать спецификации.

    Forward референс потому, что на момент вызова макроса у тебя всякие там basic_e, бегин, енд не определены еще. Я лично всё собираю отдельно утилитой на php и собирать в sjasm как-то контрпродуктивно по-моему.
    Свирепый агрессивно-депрессивный мордовец!
    Не уверен - не напрягай!

    Не сдавайся. Дыши?

    Virtual TR-DOS

Страница 1 из 8 12345 ... ПоследняяПоследняя

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

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

Эту тему просматривают: 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

Ваши права

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