Login

Subversion Repositories NedoOS

Rev

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

                ORG 0x0000
B_NORM  = 0x32
B_GURU  = 0x36

B_GURU3 = 0x38
B_YOKO  = 0x39
B_TATE  = 0x3a
B_FADE  = 0x3b
B_SUDA  = 0x3c
B_WIPE  = 0x3d




NEXT = 0x01  ;//wait for key
EXIT = 0x03  ; return from call
SINARIO = 0x04  ;//load scenario ||name.OVL,0||
BGM = 0x06  ;//load music
CR = 0x0a       ;//carriage return //ENTER//

ENDING = 0x0f   ; xx || good ending xx
GAMEOVER = 0x10 ;   bad ending


FLASH = 0x16 ;//flash
PAUSE = 0x08  ;     || wait for key and continue
T_WAIT = 0x17 ; xx  || wait xx seconds (timed pause)
GATA = 0x18  ;//screenshake


FLG = 0x0b      ;//work with loal flags
F_CALI  = 0x01  ; local_variable[XX]=local_variable[XX]+YY 
F_PLUS  = 0x02  ; local_variable[XX]=local_variable[XX]+local_variable[YY]
;0x03
F_COPYI = 0x05  ;//xx,yy  //set flag xx with yy  //FLG,F_COPYI,3,1  local_variable[3]=1
F_COMP = 0x06   ;//x,y,z local_variable[x]=local_variable[y]-local_variable[z]
F_COMPI = 0x07  ; x,y,z    local_variable[x] = local_variable[y]-z
F_AND    = 0x08  ;x, y, z || if (local_variable[y]>0 AND local_variable[z]>0) then local_variable[x]=1
;0x09
F_EXIT   = 0x0a  ; xx   if local_variable[xx]==0 then exit     ||,255
F_MAND =  0x0b   ; xx ,a,b,c   || AND _xx__ num of operands [a]=[a]&[b]&[c]..&..[x]  [a]=1 if all values of variables> 0  3,255,102,10
F_MOR = 0x0c     ; xx ,a,b,c   || OR  _xx__ num of operands [a]=[a]||[b]||[c]..||..[x]  [a]=1 if any value of variables> 0  3,255,102,10
F_RAND = 0x14    ; [xx],YY     || randomize
F_JGR = 0x32     ; xx , YYYY   || if local_variable[xx]>0 then goto YYYY
F_JEQ = 0x33    ; xx,yyyy ; if (local_variable[xx]==0) then goto yyyy
F_JLW = 0x34    ; xx,yyyy ; IF local_variable[XX]<0 THEN GOTO yyyy
;0x35
F_JR = 0x36     ; yyyy      ; goto YYYY
F_CALLS = 0x39  ; xx, call1,call2,call3....callX, 0xffff  ||  call based on local_variable[xx] value [xx]=0 - call 1, [xx]=1 call2 etc


G_FLG = 0x0c    ;//work with global vars
G_COPYF = 0x01  ;xx,yy  || local_variable[xx]=global_variable[yy]
G_COPYG = 0x02  ;xx,yy  || global_variable[xx]= local_variable[yy]
G_COPYI = 0x03  ;xx,yy  || set value of var with value      //G_FLG,G_COPYI,180,15  global_variable[180]=15


C_BLD = 0x12    ;//set menu      //C_BLD,C_V_ON,3 enable menu 3
C_V_ON = 1      ;//set  menu OFF
C_V_OFF = 2    ;  //set menu ON
C_N_ON = 4      ;//set submenu OFF
C_N_OFF = 5     ;//set submenu ON


BUF = 0x13           ;   //BUF, B_COPY01 - 
B_COPY01 = 0x0f         ; copy image from memory buffer to output buffer
B_COPY10 = 0x10         ;//store background - copy from screen to memory buffer



ERASE = 0x14    ;//clear variables       //ERASE,E_GFLG,count_x,var1,var2,...,varX //clear 'count_x' next variables
E_GFLG = 1      ;//global variables flag
E_VRAM0 = 0x03  ; type || clear screen with clear_type[type]


ANI   = 0x15    ;ANI,anim_cmd,anim_num 
A_ON = 0x03     ;enable animation anim_num
A_OFF = 0x04     ;disable animation anim_num
A_INIT = 0x05   ;init animations (stop animations)

;//// macro definitions
;//=============================================================================================
;//  B_O xx |||  15 04 14 03 xx     //disable anims. clear screen with xx (clear type)

    macro B_O clear_type
        db ANI,A_OFF
        db 0x14,0x03
        db clear_type
    endm
;//=============================================================================================
;//BAK_INIT "NAME" 13 04 07 0A "name" //load background 'NAME' to memory buffer

    macro BAK_INIT name
        db 0x13,0x04,0x07,0x0a
        db name
        db 0x00
    endm
;//=============================================================================================
;//B_P1 xx   // disable anim .display image from memory buffer to screen without change output buffer
        macro B_P1 xx

                db ANI,A_OFF
                db 0x13,0x02,0x5,0x07,0x0a,0x0e
                db xx
                db 0x04
                db 0x00
        endm
;//=============================================================================================
        macro K_CG  sprname, sprmod, XX, animnum
                db ANI,A_OFF
                db 0x13,0x03,0x08,0x09  ;//load and draw sprite over output buffer
                db 0x0d,XX
                db 0x00
                db sprname
                if sprmod != 0
                        db sprmod
                endif
                db 0x00


                db 0x13,0x02,0x05,0x08,0x09,0x0e,B_FADE,0x03,0x00 ;//transfer output buffer to screen
                db 0x15,0x01,animnum   ;//load and allow animation number 'anim_num'
                db 0x0d,XX
                db 0x00

                db sprname          ;//animation name = sprite_name + sprite_mod2 + "A0"
                if      sprmod !=0
                                db sprmod
                endif
                db "A0"
                db 0x00                    
        endm


;//=============================================================================================
;//T_CG "CT10",0,0,10,1  15 04 13 03 08 09 0d 0a 00 43 54 31 30 00 13 02 05 07 0a 0e 3c 03 00 15 01 01 0d 0a 00 43 54 31 30 41 30 00

;//      T_CG "CT10",0,0,10,1
;//      15 04 13 03 08 09 0d 0a 00 xx xx xx xx xx 00 13 02 05 07 0a 0e 3c 03 00 15 01 01 0d 0a 00 xx xx xx xx xx xx 00
;//      T_CG "CT01","W",0,15,1
;//      15 04 13 03 08 09 0d 0f 00 xx xx xx xx xx 00 13 02 05 07 0a 0e 3c 03 00 15 01 01 0d 0f 00 xx xx xx xx xx xx 00
;//      T_CG "CT13","F",0,15,1
;//      15 04 13 03 08 09 0d 0f 00 xx xx xx xx xx 00 13 02 05 07 0a 0e 3c 03 00 15 01 01 0d 0f 00 xx xx xx xx xx xx 00

;//      load sprite with animation to output buffer and allow animation

        macro T_CG  sprname, sprmod, sprmod2, XX, animnum
                db ANI,A_OFF        //stop animations
                db 0x13,0x03,0x08,0x09  ;//load and draw sprite over output buffer
                db 0x0d,XX
                db 0x00
                db sprname
                if sprmod != 0
                        db sprmod
                endif
                db 0x00

                if sprmod2 !=0                  ;//load second image
                        db 0x13,0x03,0x08,0x09  ;//load and draw sprite over output buffer
                        db 0x0d,XX
                        db 0x00      
                        db sprname
                        db sprmod2
                        db 0x00
                endif


                db 0x13,0x02,0x05,0x07,0x0a,0x0e,B_SUDA,0x03,0x00 ;//transfer output buffer to screen
                db 0x15,0x01,animnum   ;//load and allow animation number 'anim_num'
                db 0x0d,XX
                db 0x00

                db sprname          ;//animation name = sprite_name + sprite_mod + "A0"
                if      sprmod2 !=0
                                db sprmod2
                endif
                db "A0"
                db 0x00                    
        endm
;///////////////////////////////////////////////////////////////////////////////////
;load sprite. not display it.
        macro TU_CG  sprname, sprmod, sprmod2, XX, animnum
                db 0x13,0x03,0x08,0x09  ;//load and draw sprite over output buffer
                db 0x0d,XX
                db 0x00
                db sprname
                if sprmod != 0
                        db sprmod
                endif
                db 0x00

                if sprmod2 !=0                  ;//load second image
                        db 0x13,0x03,0x08,0x09  ;//load and draw sprite over output buffer
                        db 0x0d,XX      
                        db 0x00
                        db sprname
                        db sprmod2
                        db 0x00
                endif

                db 0x15,0x01,animnum   ;//load and allow animation number 'anim_num'
                db 0x0d,XX
                db 0x00

                db sprname          ;//animation name = sprite_name + sprite_mod + "A0"
                if      sprmod2 !=0
                                db sprmod2
                endif
                db "A0"
                db 0x00     
                db ANI,A_OFF
        endm
;///////////////////////////////////////////////////////////////////////////////////
//load TB_008 before sprite

        macro T_CG1  sprname, sprmod, sprmod2, XX, animnum
                db ANI,A_OFF

                db 0x13,0x03,0x07,0x0a  //load 'mask' image
                db "TB_008"
                db 0x00

                db 0x13,0x03,0x08,0x0a  ;//load and draw sprite over output buffer
                db 0x0d,XX
                db 0x00
                db sprname
                if sprmod != 0
                        db sprmod
                endif
                db 0x00

                if sprmod2 !=0                  ;//load second image
                        db 0x13,0x03,0x08,0x09  ;//load and draw sprite over output buffer
                        db 0x0d,XX
                        db 0x00      
                        db sprname
                        db sprmod2
                        db 0x00
                endif


                db 0x13,0x02,0x05,0x08,0x09,0x0e,B_SUDA,0x03,0x00 ;//transfer output buffer to screen
                db 0x15,0x01,animnum   ;//load and allow animation number 'anim_num'
                db 0x0d,XX
                db 0x00

                db sprname          ;//animation name = sprite_name + sprite_mod + "A0"
                if      sprmod2 !=0
                                db sprmod2
                endif
                db "A0"
                db 0x00                    
        endm

/////////////////////////////////////////////////////////////////////////////////////////
;//E_CG clear_type,"name"        // load and draw image 'name' with 'cleart_type' style      //E_CG B_YOKO,"T_01"
        macro E_CG clear_type, name
                db ANI,A_OFF
                db 0x13,0x01,0x05,0x07,0x0a,0x0e,clear_type
                db name
                db 0x00
        endm
/////////////////////////////////////////////////////////////////////////////////////////
        macro SUDA_CLS
                db ANI,A_OFF
                db 0x14,0x03,B_SUDA
        endm
/////////////////////////////////////////////////////////////////////////////////////////
        macro EF_SET num
                db FLG,F_COPYI,num,1
                db FLG,F_JR
                dw M_EXIT
        endm
/////////////////////////////////////////////////////////////////////////////////////////
        macro B_P0 clear_type   //draw image from output buffer with 'clear_type'
                db ANI,A_OFF
                db 0x13,0x02,0x05,0x07,0x0a,0x0E,clear_type,0x03
                db 0x00

        endm
/////////////////////////////////////////////////////////////////////////////////////////
        macro BN_P1 clear_type   //draw image from output buffer with 'clear_type'
                db ANI,A_OFF
                db 0x13,0x02,0x05,0x08,0x0a,0x0E,clear_type,0x03
                db 0x00
        endm
/////////////////////////////////////////////////////////////////////////////////////////