1

Короче, код такой:

    device zxspectrum128
        ORG #6000
begin

end
    page 0
    org $C000
page0b:
 db "Dzhigurda",0
page0e:

    display /d,end-begin
    savesna "!void.sna",begin
    IFUSED page0b
    display page0b
    ELSE
    display "no page 0"
    ENDIF

Версия 1.07 RC7, при компеляции выдает no page 0. Хотя по идее, должно казать адрес.
чо за фигня?

Ненависть- это подарок

2

дак ты ее и не юзед

3

ну да, конечно

    device zxspectrum128
        ORG #6000
begin
;border
 MACRO brd n
    ld a,n
    out ($FE),a
 ENDM
;liney
;atrxy
    jr $
    call nbde

    IFUSED nbde
nbde    INC D:LD A,D:AND 7:RET NZ
        LD A,E:ADD A,#20:LD E,A:RET C
        LD A,D:SUB 8:LD D,A:RET
    ENDIF

    IFUSED nbhl
nbhl    INC h:LD A,h:AND 7:RET NZ
        LD A,L:ADD A,#20:LD L,A:RET C
        LD A,H:SUB 8:LD H,A:RET
    ENDIF

end
    display /d,end-begin
    savesna "!void.sna",begin
Ненависть- это подарок

4

Нипонел, ты разобрался?

5

нед(

Ненависть- это подарок

6

https://zxdemos.ru/uploads/images/1065/8d83f917daec2b466cc0c80825855c08.png

Все заебись с твоим кодом

7

Если обьявлена это хуйня, надо к ней обратиться как во втором примере. А так все работало всегда

8

Ну да, меня это и смутило - пример с nbde работает, а с page0 нет.
смысл в том, чтобы влегкую написать загрузчик. т.е., если объявлены page0,page1,page3,page4, то использовать директивы IFUSED и при загрузке и при создании TRD

Ненависть- это подарок

9

сделай display c ними тогда сработает, наверное ну или какую другую неважную хрень
А вообще такие штуки define делаются, посмотри мож тебе удобнее будет

10

Кулибины, блядь - пилят ужасм до посинения.

huj equ page0b

теперь работает. Спасибо за подсказку

Ненависть- это подарок

11

а хер там. если page0b не задана, то не катит.

Ненависть- это подарок

12

    device zxspectrum128
        ORG #6000
begin
    jr $
    ld a,$10,bc,$7ffd:out (c),a
    ld hl,$C000
end
    page 0
    org $C000
page0b:
 db "Dzhigurda",0
page0e:

    LUA
    if sj.get_label("page0b")~=-1 then
    sj.insert_label("nop0", 1)
    else
    sj.insert_label("nop0", 0)
    end
    ENDLUA

;    display nop0
    savesna "!void.sna",begin

    IF nop0==1
    display "p0 OK"
    ELSE
    display "no page 0"
    ENDIF
    
Ненависть- это подарок

13

    device zxspectrum128
    ORG #6000
begin
    jr  $
    define page0b
;----------------------
    ifdef page0b
    display "win"
    else
    display "failed"
    endif
;----------------------
    savesna "!void.sna",begin

так православно

14

это глупо. page0b задана для страницы. Похоже, что удобнее использовать DEFINE.
Но, бля, критерий IFUSED ебанутый, если я правильно понял.

Ненависть- это подарок

15

не, ифузед заябись, просто не для этого, у тебя второй пример прям каноничный

16

только с документаций не совпадает. IFUSED прринимает значение true, если к метке было обращение - CALL или LD A,()

неправильно это.

Ненависть- это подарок

17

    device zxspectrum128
    ORG #6000
begin
    jr  $
hui equ wtf
;----------------------
    ifused wtf
wtf equ 1
    display "win"
    else
    display "failed"
    endif
;----------------------
    savesna "!void.sna",begin

суяли, все работает и так

18

если page0b не задано, то компеляция валится.

Ненависть- это подарок

19

Ясное дело, яж говорю, оно не совсем для этого. Но то что должно делать делает правильно

20

Ага, теперь понел. Все же с DEFINE работает:

    page 0
    org $C000
page0b:
 DEFINE pg0
f0: incbin "page0\0.bin.zx7"
f1: incbin "page0\1.bin.zx7"
page0e:

...

 IFDEF pg0
 di
 ld de,(#5CF4)
 ld hl, #C000
 sectors page0b,page0e
 call #3d13
 ENDIF
Ненависть- это подарок