Advertisement
Guest User

GRADUAL DECLINE Disasm

a guest
Oct 7th, 2018
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ;GRADUAL DECLINE Disassembly
  2. ;Assemble with RGBDS
  3. ;This is a very quick disasm of a Gameboy ROM called GRADUAL DECLINE, a ROM which writes random data to IO registers, VRAM, etc.
  4. ;Stay posted for better disasm's of this ROM
  5.  
  6. INCLUDE "gbhw.inc"
  7.  
  8. SECTION "start", ROM0[$0100]
  9.     nop
  10.     jp  Start
  11.  
  12. db   $CE,$ED,$66,$66,$CC,$0D,$00,$0B,$03,$73,$00,$83,$00,$0C,$00,$0D
  13. db   $00,$08,$11,$1F,$88,$89,$00,$0E,$DC,$CC,$6E,$E6,$DD,$DD,$D9,$99
  14. db   $BB,$BB,$67,$63,$6E,$0E,$EC,$CC,$DD,$DC,$99,$9F,$BB,$B9,$33,$3E
  15. db   "GRADUAL DECLINE"
  16. db   $00
  17. db   $D3,$00
  18. db   $00
  19. db   $00
  20. db   $00
  21. db   $00
  22. db   $00
  23. db   $00
  24. db   $00
  25. db   $00
  26. db   $00,$00
  27.  
  28. Start:
  29.     ld   c,$80
  30.     ld   hl,$0181
  31. Sub0:
  32.     ldi  a,[hl]
  33.     ld   [$ff00+c],a
  34.     inc  c
  35.     ld   a,c
  36.     cp   a,$D1
  37.     jr   nz,Sub0
  38.     ld   hl,$C000
  39. Sub1:
  40.     ld   a,e
  41.     xor  [hl]
  42.     inc  l
  43.     xor  [hl]
  44.     inc  l
  45.     xor  [hl]
  46.     inc  l
  47.     xor  [hl]
  48.     inc  l
  49.     ld   e,a
  50.     ld   a,d
  51.     xor  [hl]
  52.     inc  l
  53.     xor  [hl]
  54.     inc  l
  55.     xor  [hl]
  56.     inc  l
  57.     xor  [hl]
  58.     inc  hl
  59.     ld   d,a
  60.     ld   a,h
  61.     cp   a,$E0
  62.     jr   nz,Sub1
  63.     ld   l,e
  64.     ld   h,d
  65.     ld   de,$8000
  66.     jp   $FF80
  67.     ld   b,$08
  68. Sub3:
  69.     add  hl,hl
  70.     bit  6,h
  71.     jr   nz,Sub6
  72.     set  0,l
  73. Sub6:
  74.     ld   a,l
  75.     bit  7,h
  76.     jr   z,Sub2
  77.     xor  a,$01
  78. Sub2:
  79.     ld   l,a
  80.     ld   [$C000],a
  81.     dec  b
  82.     jr   nz,Sub3
  83.     ld   [de],a
  84.     ld   a,[$FF00+04]
  85.     xor  h
  86.     ld   e,a
  87.     inc  d
  88.     res  5,d
  89.     ld   a,[$FF00+04]
  90.     add  c
  91.     add  h
  92.     ld   c,a
  93.     res  7,c
  94.     ld   a,c
  95.     cp   a,$40
  96.     jr   z,Sub4
  97.     cp   a,$26
  98.     jr   z,Sub4
  99.     jr   Sub5
  100. Sub4:
  101.     ld   a,[$FF00+c]
  102.     xor  l
  103.     set  7,a
  104.     jr   Sub8
  105. Sub5:
  106.     ld   a,[$FF00+c]
  107.     xor  l
  108. Sub8:
  109.     ld   [$FF00+c],a
  110.     ld   a,[$FF00+$FE]
  111.     ld   b,a
  112.     ld   a,[$FF00+00]
  113.     ld   [$FF00+$FE],a
  114.     xor  b
  115.     and  a,$0F
  116.     xor  l
  117.     ld   l,a
  118.     xor  a
  119.     ld   [$FF00+$0F],a
  120.     dec  a
  121.     ld   [$FF00+$FF],a
  122.     halt
  123.     nop  
  124.     jr   Sub3
  125.     pop  hl
  126.     pop  af
  127.     reti
  128.     ld   a,[de]
  129.     ld   h,a
  130.     inc  e
  131.     ld   a,[de]
  132.     ld   l,a
  133.     add  hl,hl
  134.     jr   nc,Sub9
  135.     set  0,l
  136. Sub9:
  137.     ld   a,l
  138.     bit  7,h
  139.     jr   z,Sub7
  140.     xor  a,$01
  141. Sub7:
  142.     ld   [de],a
  143.     dec  e
  144.     ld   a,h
  145.     ld   [de],a
  146.     ret  
  147.     adc  e
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement