Login

Subversion Repositories NedoOS

Rev

Blame | Last modification | View Log | Download | RSS feed

    ;; ZX Spectrum Next device first, also here the CSpect map file is defined
        DEVICE ZXSPECTRUMNEXT : SLOT 6
        CSPECTMAP "cspectmap_multi_device.sym"
        LABELSLIST "cspectmap_multi_device.lbl"

            ; create test labels in various areas of memory (and by various means)
EquLabel    EQU     $1234

DeflLabel   DEFL    $12+1

            STRUCT Struct
Field1      BLOCK   5
Field2      DW      $5678
            ENDS

            ORG $C000, $00
Page00:     daa
.local:
            ORG $C001, $01
Page01:     scf
.local:
            ORG $C00A, $0A
Page0A:     ccf
.local:     rlca
.codeEqu    EQU $+1             ; is like simple EQU => "wrong" physical address

            ORG $DFFE, $0B      ; also raise difficulty by adding extra dots in labels
Page0B.A:   cpl
.local.b:
            ORG $C0DF, $DF
PageDF.A.B: rra
.local.c..d:

            ORG $C030, $30
    MODULE Module
Page30:     rla
.local:
    ENDMODULE

            ORG $C031, $31
    MODULE Module_two_
Page31..A.: rrca
.local..c.:
    ENDMODULE

    ;; now ZX128 device, with different mem-page size (0x4000 vs Next 0x2000)
    ; the most correct outcome would be probably to not export labels from the ZX128
    ; part of test at all, because they belong to different device, but at this moment
    ; the goal of this test and bug-fix is to at least make sure the Next labels are
    ; correctly exported with page size 0x2000 (v1.14.3 does export them wrongly)
        DEVICE ZXSPECTRUM128

        MMU 2, 6
        ORG $8000
SomeZx128Label:
        nop