Blame |
    Last modification |
    View Log
    | Download
  
  
;Object Saver v4.0 ЦаПрЮгА 12vi5 Alone
 
 
 
;GO=куда идти без CAPS
 
 
 
;проект должен только что скомпилировать таблицу
 
;ORG ObjTab
 
;DB "имяфайлаE
 
;DW begin in mem
 
;DW len
 
;DB page
 
;DW start/ещё_2_буквы_расширения
 
;...
 
        NOP 
 
;       ORG $
 
nenado
 
;       IFN ?make
 
;       CALL 8026
 
;       RET C
 
;       JP C,GO
 
;       ENDIF
 
 
 
;       ORG #6000
 
 
 
        LD HL,ObjTab
 
_SVNEXT LD A,(HL)
 
        OR A
 
        RET Z
 
        LD DE,#5CDD
 
        LD BC,9
 
        LDIR 
 
        LD E,(HL)
 
        INC HL
 
        LD D,(HL)
 
        INC HL
 
        PUSH DE
 
        LD E,(HL)
 
        INC HL
 
        LD D,(HL)
 
        INC HL
 
        LD A,(HL)
 
        INC HL
 
        LD BC,#7FFD
 
        OUT (C),A
 
        EX (SP),HL ;HL=begin
 
        PUSH HL,DE
 
        LD C,10
 
        CALL #3D13
 
        INC C
 
        LD C,18
 
        CALL NZ,#3D13
 
        POP DE,HL
 
        LD C,11
 
        CALL #3D13
 
 
 
       LD C,10 ;find desc
 
       CALL #3D13
 
        POP HL
 
       LD E,(HL)
 
       INC HL
 
       LD D,(HL)
 
       INC HL
 
        PUSH HL
 
       LD (#5CE6),DE
 
       LD A,C
 
       LD C,9 ;save desc
 
       CALL #3D13
 
        POP HL
 
        JR _SVNEXT
 
 
 
        DB "12345678C"
 
 
 
ObjTab
 
 
 
;0 SPR
 
        DB "0_PAGE  C"
 
        DW SPR
 
        DW 16384
 
        DB PG_SPR+16
 
        DB 32,32
 
 
 
;1 MAP
 
        DB "1_PAGE  C"
 
        DW DNPK
 
        DW LN_MAP
 
        DB PG_MAP+16
 
        DB 32,32
 
 
 
;3 MISC
 
        DB "3_PAGE  C"
 
        DW #C000
 
        DW LN_MISC
 
        DB PG_MISC+16
 
        DB 32,32
 
 
 
;4 HERO
 
        DB "4_PAGE  C"
 
        DW #C000
 
        DW LN_HERO
 
        DB PG_HERO+16
 
        DB 32,32
 
 
 
;6 MUZ
 
        DB "6_PAGE  C"
 
        DW INTRO
 
        DW LN_MUZ
 
        DB PG_MUZ+16
 
        DB 32,32
 
 
 
;7 VIEW
 
        DB "7_PAGE  C"
 
        DW FNT
 
        DW LN_VIEW
 
        DB PG_VIEW+16
 
        DB 32,32
 
 
 
        DB 0 ;Конец сохранения
 
 
 
        DISPLAY "Длина сейвера:",$-SOBJ
 
 
 
;       DISPLAY "Saver:",nenado,"-",$
 
;       DISPLAY "RUN[CS/Ent]