HertzDevil icon

MY FIRST EVER GBS FILE

HertzDevil | PRO | 01/30/16 09:43:44 AM UTC | 0 ⭐ | 5000 👁️ | Never ⏰ | []
Z80 Assembler |

0 B

|

None

|

0 👍

/

0 👎

.ROMBANKMAP
BANKSTOTAL 4
BANKSIZE $70
BANKS 1
BANKSIZE $4000
BANKS 3
.ENDRO
 
.MEMORYMAP
SLOTSIZE $4000
DEFAULTSLOT 0
SLOT 0 $0000
SLOT 1 $4000
.ENDME
 
; gbs_wrap.s
.DB "GBS"           ; ident
.DB 1               ; version
.DB 1               ; track count
.DB 1               ; first track
.DW $0000           ; load address
.DW INIT            ; init address
.DW PLAY            ; play address
.DW $FEFF           ; stack pointer
.DB 0               ; timer modulo
.DB 0               ; timer control
.ORG $10            ; title
.DB "TITLE", 0
.ORG $30            ; author
.DB "AUTHOR", 0
.ORG $50            ; copyright
.DB "COPYRIGHT", 0
 
.EMPTYFILL $c9                  ; ret.
 
.DEFINE Clock $C000
 
.BANK 1 SLOT 0
.ORG $0
.SECTION "Main" FORCE
LOAD:
INIT:
    ld  HL, $FF26
    ld  A, $80                  ; sound enable
    ldd (HL), A
    ld  A, %11111111            ; pan
    ldd (HL), A
    ld  A, %01110111            ; master volume
    ldd (HL), A
 
    ld  A, $40
    ldh ($11), A                ; pulse duty / length
    ldh ($16), A
    ld  A, $C4
    ldh ($12), A                ; volume
    ld  A, $95
    ldh ($17), A
    
    ld  HL, Clock
    ld  (HL), 1
    inc HL
    ld  (HL), $3F
    ret
 
PLAY:
    ld  HL, Clock
    ld  A, (HL)
    dec A
    jr  z, +
    ld  (HL), A
    ret
+   ld  A, 6
    ldi (HL), A
    ld  A, (HL)
    inc A
    and $3F
    ld  (HL), A
 
    ld  B, 0
    ld  C, A
 
    ld  HL, cir_pu1
    add HL, BC
    ld  A, (HL)
    cp  $FF
    jr  z, +
    rlca
    ld  D, 0
    ld  E, A
    ld  HL, gb_periods
    add HL, DE
    ldi A, (HL)
    ldh ($13), A
    ldi A, (HL)
    ld  E, $80
    or  E
    ldh ($14), A
+
    ld  HL, cir_pu2
    add HL, BC
    ld  A, (HL)
    cp  $FF
    jr  z, +
    rlca
    ld  D, 0
    ld  E, A
    ld  HL, gb_periods
    add HL, DE
    ldi A, (HL)
    ldh ($18), A
    ldi A, (HL)
    ld  E, $80
    or  E
    ldh ($19), A
+
    ret
.ENDS
 
cir_pu1:
.DB $30,  -1,  -1, $2E,  -1,  -1, $30,  -1
.DB $33,  -1,  -1,  -1,  -1,  -1,  -1,  -1
.DB $30,  -1, $2E,  -1, $30,  -1, $33,  -1
.DB  -1,  -1, $35,  -1, $30,  -1, $2E,  -1
.DB $30,  -1, $2E,  -1, $30,  -1, $33,  -1
.DB  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1
.DB $30,  -1, $2E,  -1, $30,  -1, $37,  -1
.DB  -1,  -1, $37,  -1, $35,  -1,  -1,  -1
 
cir_pu2:
.DB $27,  -1,  -1, $27,  -1,  -1, $27,  -1
.DB $30,  -1,  -1,  -1,  -1,  -1,  -1,  -1
.DB $27,  -1, $27,  -1, $27,  -1, $30,  -1
.DB  -1,  -1, $30,  -1, $2b,  -1, $2B,  -1
.DB $27,  -1, $27,  -1, $27,  -1, $30,  -1
.DB  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1
.DB $27,  -1, $27,  -1, $27,  -1, $33,  -1
.DB  -1,  -1, $33,  -1, $32,  -1,  -1,  -1
 
gb_periods:
.DW $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000
.DW $002C, $009D, $0107, $016B, $01C9, $0223, $0277, $02C7, $0312, $0358, $039B, $03DA
.DW $0416, $044E, $0483, $04B5, $04E5, $0511, $053B, $0563, $0589, $05AC, $05CE, $05ED
.DW $060B, $0627, $0642, $065B, $0672, $0689, $069E, $06B2, $06C4, $06D6, $06E7, $06F7
.DW $0706, $0714, $0721, $072D, $0739, $0744, $074F, $0759, $0762, $076B, $0773, $077B
.DW $0783, $078A, $0790, $0797, $079D, $07A2, $07A7, $07AC, $07B1, $07B6, $07BA, $07BE
.DW $07C1, $07C5, $07C8, $07CB, $07CE, $07D1, $07D4, $07D6, $07D9, $07DB, $07DD, $07DF
.DW $07E1, $07E2, $07E4, $07E6, $07E7, $07E9, $07EA, $07EB, $07EC, $07ED, $07EE, $07EF
 
; WLA DX is not actually designed with producing non-ROM files in mind

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  • Duizxy icon
    05/15/26 01:33:45 PM UTC
    text |

    0 B

    |

    0 👍

    /

    0 👎

    Best Pastebin.com alternatives paste sites list
     Copy and paste the link in a new browser tab and then hit enter!
     https://crazyporn.xxx/members/157354/?asgtbndr=1&play=true&spon=adworld&zone=400