I friggen love handhelds. Maybe it's because I live a transient lifestyle, but I really enjoy having handheld consoles. It helps when there's amazing games on them.
Some of my personal favorites are the Gameboy Color, PSP (because of emulation), and the DS. The 3DS is slowly creeping up, but I think the original DS has a better library.
Dragon Quest is one of the original console RPG's, and many games in the genre have been directly or indirectly inspired from its gameplay and how the menus and battle system work. I own all of the game and really enjoy them. I also really like how the series hasn't strayed far from its traditional roots, and later releases have kept the same core gameplay, but crept in a few modern features.
main_payload = [
  0x06,0x03,0xF0,0x41,0xA0,0x28,0xFB,0xF0,0x41,0xA0,0x20,0xFB,0xFA,0x42,0x81,0xFE,
  0x3B,0x28,0x16,0x11,0x40,0xC9,0x21,0xC0,0x80,0x0E,0x04,0xCD,0x48,0x18,0x11,0x40,
  0xC9,0x21,0x40,0x81,0x0E,0x04,0xCD,0x48,0x18,0x21,0xFF,0xC1,0x7E,0xFE,0x02,0xC8,
  0xA7,0x28,0x08,0x34,0xAF,0xEA,0xE1,0xD4,0xEA,0x10,0xC1,0x21,0x6C,0xD3,0x36,0x20,
  0x23,0x36,0xC9,0xFA,0xFE,0xC1,0xA7,0x28,0x19,0x21,0x31,0xC7,0x7E,0xFE,0x0C,0x28,
  0x11,0x3E,0x0C,0x77,0x3E,0x03,0xEA,0x9F,0xD0,0x01,0x0B,0x00,0x3E,0x17,0xCD,0x6D,
  0x3E,0xC9,0xFA,0x62,0xD3,0xFE,0x13,0xC0,0xFA,0x28,0xD7,0xE6,0x01,0xC8,0xFA,0xC6,
  0xCF,0xFE,0x58,0xC0,0xFA,0x28,0xD5,0xFE,0x01,0xC0,0x21,0xFE,0xC1,0x34,0x3E,0x02,
  0xEA,0x60,0xCD,0x3E,0xA8,0xCD,0xB1,0x23,0x11,0x80,0xC9,0x21,0x00,0x89,0x0E,0x08,
  0xCD,0x48,0x18,0x3E,0x0C,0xEA,0x9F,0xD0,0x01,0x0A,0x00,0x3E,0x17,0xCD,0x6D,0x3E,
  0x1E,0x58,0x21,0x60,0xC3,0x06,0x50,0x16,0x90,0x4B,0x70,0x23,0x71,0x79,0xC6,0x08,
  0x4F,0x23,0x72,0x14,0x23,0x36,0x10,0x23,0x7A,0xFE,0x94,0x20,0x03,0x06,0x58,0x4B,
  0xFE,0x98,0x20,0xE6,0x1C,0xCD,0xAF,0x20,0x7B,0xFE,0x79,0x20,0xD5,0x3E,0x01,0xEA,
  0xE1,0xD4,0xEA,0x10,0xC1,0x21,0x14,0xC2,0x36,0x04,0x23,0x36,0x19,0x23,0x36,0xFF,
  0x21,0x1E,0xC2,0x36,0x02,0x21,0x56,0xC0,0x3E,0xFF,0x22,0x77,0x2E,0xE9,0x36,0x70,
  0x3E,0x03,0xEA,0x9F,0xD0,0x01,0x0B,0x00,0x3E,0x17,0xCD,0x6D,0x3E,0xC9,0x00,0x00,
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x22,0xC9,0x00,0x8C,0xA4,0xB6,0xE7,0x50,0x08,0x3E,0x15,0xEA,0x59,0xD0,0xCD,0xD0,
  0x13,0xCD,0x48,0x37,0x3E,0x32,0xEA,0x27,0xD1,0x21,0xFF,0xC1,0x34,0xC3,0xD7,0x24,
  0x00,0x00,0x3B,0x3B,0x3F,0x3C,0x1F,0x18,0x1F,0x12,0x1F,0x10,0x3E,0x39,0x7F,0x4C,
  0x00,0x00,0xDC,0xDC,0xFC,0x3C,0xF8,0x18,0xF8,0x48,0xF8,0x08,0x78,0x98,0xFC,0x3C,
  0x7B,0x4F,0x30,0x3F,0x11,0x1F,0x09,0x0F,0x1C,0x17,0x1F,0x13,0x0C,0x0C,0x00,0x00,
  0xDE,0xF2,0x1E,0xF2,0x8C,0xFC,0x90,0xF0,0x38,0xE8,0xF8,0xC8,0x30,0x30,0x00,0x00,
  0x00,0xFF,0x01,0xFF,0x0F,0xFE,0x1F,0xF2,0x37,0xEC,0x37,0xEC,0x67,0xDC,0x67,0xDC,
  0xFE,0xFF,0xFF,0x21,0xE1,0x5F,0xE1,0x5F,0xE1,0x5F,0xE1,0x5F,0xE1,0x5F,0xE7,0x39,
  0x00,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0x00,0xFF,0x00,
  0x00,0xFF,0x00,0xFF,0xFC,0xFF,0xFA,0xFF,0xFA,0x0F,0x0A,0xFF,0xFA,0x0F,0xFA,0x0F,
  0x67,0xDC,0x63,0xDE,0x63,0xDE,0x6D,0xDF,0x30,0xFF,0x20,0xFF,0x1F,0xFF,0x07,0xFF,
  0xE1,0x3F,0xFF,0x7F,0xFF,0xD1,0xFF,0x91,0xFF,0xFF,0x81,0xFF,0xFF,0xFF,0xE0,0xFF,
  0xFF,0x00,0x00,0xFF,0xFF,0x00,0xFF,0xFF,0x00,0xFF,0x00,0xFF,0xFF,0xFF,0x07,0xFF,
  0xFA,0x0F,0x0A,0xFF,0xFA,0x0F,0xFA,0xFF,0x02,0xFF,0x02,0xFF,0xFC,0xFF,0xE0,0xFF,
  0x21,0x30,0xD7,0xCB,0x96,0x21,0x61,0xD3,0x2A,0xFE,0x04,0xC0,0x7E,0xFE,0x03,0x28,
  0x03,0xFE,0x06,0xC0,0x21,0x30,0xD7,0xCB,0xD6,0xF0,0xAA,0xEE,0x03,0x21,0x2A,0xD5,
  0xBE,0xC0,0xF0,0xB3,0x3D,0xC0,0x3E,0x08,0xE0,0xB8,0x3E,0x22,0xCD,0xF5,0x3E,0x3E,
  0x02,0xEA,0x2B,0xD1,0x3D,0xE0,0xBA,0xCD,0xD7,0x3D,0xAF,0xE0,0xB0,0x3E,0x01,0x26,
  0x20,0x77,0xE0,0xB8,0x21,0x41,0xD1,0x01,0xFD,0x17,0x71,0x23,0x05,0x20,0xFB,0x21,
  0x64,0xD1,0x01,0x61,0x01,0x2A,0x0B,0x3C,0x20,0xFB,0x2B,0x3E,0xE3,0x22,0x0B,0x78,
  0xB1,0x20,0xF8,0x36,0xFC,0x3E,0x3B,0x23,0x36,0xCE,0x3D,0x20,0xFA,0x21,0xD7,0xCB,
  0x36,0xC3,0x23,0x36,0xE0,0x23,0x36,0xC8,0x21,0x08,0xC5,0x3E,0xFD,0x22,0x22,0x22,
  0x3E,0xFF,0x22,0x22,0xAF,0x22,0x22,0x22,0x22,0x54,0x5D,0x21,0x20,0xC9,0x01,0x80,
  0x00,0xCD,0xB5,0x00,0x21,0x48,0xD1,0x36,0xC3,0x23,0x36,0xD8,0x23,0x36,0xC5,0x23,
  0x36,0x18,0x23,0x36,0xFB,0x23,0x36,0x00,0x23,0x36,0x18,0x23,0x36,0xFB,0x23,0x36,
  0x18,0x23,0x36,0xF6,0xCD,0x0F,0x19,0xCD,0x29,0x24,0xCD,0x80,0x36,0xCD,0xE6,0x5A,
  0x21,0x43,0xC4,0x01,0x0C,0x02,0xCD,0xB3,0x5A,0x21,0x6C,0xC4,0x11,0x0F,0x55,0xCD,
  0x55,0x19,0xC1,0xC3,0xB5,0x53,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x31,0xF9,0xDF,0x26,0x0A,0x74,0x3E,0xA0,0xF5,0x67,0x2E,0x00,0x11,0x00,0xC7,0x01,
  0x00,0x01,0xCD,0xB5,0x00,0xCD,0x7F,0x22,0xCD,0xD7,0x3D,0x21,0xFF,0xC6,0x36,0xFD,
  0x11,0xE8,0xC6,0x01,0x10,0x01,0x3E,0x08,0xE0,0xFF,0xCD,0x6F,0x21,0x3E,0x0D,0xE0,
  0xFF,0xF1,0x3C,0xFE,0xA4,0x20,0xD1,0x3E,0x51,0xCD,0x6D,0x3E,0xC3,0x45,0x53,0x00,
  0x31,0xE7,0xDF,0x26,0x0A,0x74,0x26,0x40,0x36,0x01,0x3E,0xA0,0xF5,0xCD,0x7F,0x22,
  0xCD,0xD7,0x3D,0x21,0x16,0x03,0x11,0x00,0xC8,0xD5,0x01,0x10,0x01,0x3E,0x08,0xE0,
  0xFF,0xCD,0x6F,0x21,0x3E,0x0D,0xE0,0xFF,0xE1,0x2A,0xFE,0xFD,0x28,0xFB,0x2B,0xF1,
  0xF5,0x57,0x1E,0x00,0x01,0x00,0x01,0xCD,0xB5,0x00,0xF1,0x3C,0xFE,0xA4,0x20,0xCC,
  0x21,0x1A,0xA6,0x11,0x16,0xA9,0x7E,0x36,0x83,0x12,0x23,0x13,0x7E,0x36,0xD6,0x12,
  0x13,0x21,0x9B,0xA3,0x01,0x65,0x00,0xCD,0xB5,0x00,0x3E,0x1C,0xEA,0x00,0x20,0xE0,
  0xB8,0x21,0x98,0xA5,0x01,0x8B,0x0F,0xCD,0x56,0x78,0xEA,0x23,0xB5,0x26,0x00,0x74,
  0x3E,0x01,0xEA,0x00,0x20,0xE0,0xB8,0xC3,0x45,0x53,0x00,0x21,0x6F,0xD3,0x11,0x6B,
  0xD6,0x3A,0xFE,0x80,0x30,0x04,0x12,0x1B,0x7E,0x12,0x36,0x83,0x23,0x36,0xD6,0x3E,
  0xC3,0xC9,0x21,0x80,0xFF,0x36,0x18,0x23,0x36,0x78,0x21,0xFA,0xFF,0x36,0xCD,0x23,
  0x36,0x6C,0x23,0x36,0xD6,0x23,0x36,0x18,0x23,0x36,0x83,0xFA,0x5E,0xD3,0xFE,0x5E,
  0x28,0x0B,0xFE,0xEF,0x28,0x0C,0x21,0x6A,0xD6,0x2A,0x66,0x6F,0xE9,0x21,0x00,0xA0,
  0x18,0x03,0x21,0x00,0xA2,0x3E,0x0A,0xEA,0x00,0x00,0x3E,0x01,0xEA,0x00,0x40,0x11,
  0x00,0xC8,0x01,0x00,0x02,0xCD,0xB5,0x00,0x26,0x00,0x74,0xCD,0x00,0xC8,0x18,0xD6
]
bootstrap = [
  0x21,0x6F,0xD3,0x11,0x6B,0xD6,0x3A,0xFE,0x80,0x30,0x04,0x12,0x1B,0x7E,0x12,0x36,
  0x83,0x23,0x36,0xD6,0x3E,0xC3,0xC9,0x21,0x80,0xFF,0x36,0x18,0x23,0x36,0x78,0x21,
  0xFA,0xFF,0x36,0xCD,0x23,0x36,0x6C,0x23,0x36,0xD6,0x23,0x36,0x18,0x23,0x36,0x83,
  0xFA,0x5E,0xD3,0xFE,0x5E,0x28,0x0B,0xFE,0xEF,0x28,0x0C,0x21,0x6A,0xD6,0x2A,0x66,
  0x6F,0xE9,0x21,0x00,0xA0,0x18,0x03,0x21,0x00,0xA2,0x3E,0x0A,0xEA,0x00,0x00,0x3E,
  0x01,0xEA,0x00,0x40,0x11,0x00,0xC8,0x01,0x00,0x02,0xCD,0xB5,0x00,0x26,0x00,0x74,
  0xCD,0x00,0xC8,0x18,0xD6
]
; Patch the current room script every time we load another room
ld hl,$D36F
ld de,$D66B
ld a,[hld]
cp $80
jr nc,alreadyPatchedScript
ld [de],a
dec de
ld a,[hl]
ld [de],a
alreadyPatchedScript:
ld [hl],$83
inc hl
ld [hl],$D6
ld a, $C3 ; important for DMARoutine
ret
SECTION "Main",ROM0[$0017] ; D683
; Patch hram code to always call the code at D66C
ld hl,$ff80
ld [hl],$18 ; jr 78 (to FFFA)
inc hl
ld [hl],$78
ld hl,$FFFA
ld [hl],$CD ; call $D66C
inc hl
ld [hl],$6C
inc hl
ld [hl],$D6
inc hl
ld [hl],$18 ; jr 83 (to FF82)
inc hl
ld [hl],$83
ld a,[$d35e] ; current map
cp $5E
jr z,vermilionDocks
cp $EF
jr z,tradeCenter
returnFromRoomSpecificScript:
; return to to normal script for the room.
ld hl,$D66A
ld a,[hli]
ld h,[hl]
ld l,a
jp [hl]
;;;end
vermilionDocks:
ld hl,$A000
jr loadExtraCodeFromSram
ld a,[$c1fe]
and a
jr z,dontNeedToMoveTruckAfterReload
ld hl,$c731
ld a,[hl]
cp $0C
jr z,dontNeedToMoveTruckAfterReload
ld a,$0C
ld [hl],a ; remove truck
ld a,3
ld [$d09f],a ; wNewTileBlockID
ld bc, $000B ; coords to right of truck
ld a,$17 ; ReplaceTileBlock
call $3E6D ; Predef
ret
dontNeedToMoveTruckAfterReload:
ld a,[$D362] ; X pos
cp $13
ret nz
ld a,[$D728] ;strength
and $01
ret z
ld a,[$CFC6] ; tile in front of player = left side of truck
cp $58
ret nz
ld a,[$D528] ; pushing right
cp $01
ret nz
ld hl,$c1fe
inc [hl] ; flag truck as pushed
ld a,$02 ; dust
ld [$cd60],a
ld a, $A8; SFX_PUSH_BOULDER
call $23B1 ; PlaySound
ld de,$C980 ; copy truck graphics into sprite reachable area
ld hl,$8900
ld c,8
call $1848 ; CopyVideoData
ld hl,$D141
ld bc,$17FD
setUpFD:
ld [hl],c
inc hl
dec b
jr nz,setUpFD
ld hl,$d164
ld bc,$0161
findFirstFF:
ld a,[hli]
dec bc
inc a
jr nz,findFirstFF
dec hl
fillWithE3:
ld a,$E3
ld [hli],a
dec bc
ld a,b
or c
jr nz,fillWithE3
ld [hl],$FC ; glitch pokemon name for blue that points to rng bytes
ld a,$3B
fillWithCE:
inc hl
ld [hl],$CE ; send red to CBD7
dec a
jr nz,fillWithCE
I didn't write the code, that honour belongs to a MrCheeze.
The above will patch your game to add mew underneath that fecking truck in the upper right quadrant of the st. anne map. This works on both a real Gameboy running Pokemon Blue and Red and due to the way in which it is applied it works on the VC editions as well.
The way it works is quite ingenious actually.
The GBz80 code is designed to execute custom room scripts depending on what map is loaded, in this case it modifies st. anne's map to allow you to use strength on the truck in the upper right quadrant and underneath is mew! which you can battle and capture.
I mentioned that the way it is patched is rather interesting, it is a virus of sorts that transmits itself when you trade with other red/blue saves.
It exploits the fact that when you connect to each other you exchange your name, list of pokemon in the party and their data structures.
Since the code that prints the list of pokemon names executes until it encounters a terminator record, you can construct a list of glitch pokemon that will continue writing pokemon to ram all the way down until it smashes the gameboy's stack allowing you to jump to a location in ram which stores the games event flags.
If the current set flags form a noop sled down to where the trainer's name is you can then with a carefully constructed trainer name jump into the data exchanged during the trade setup, in this case copying both the payload that executes custom room scripts in the save game, the code that transmits said payload and the mew under the truck room script for st. anne.
Unfortunately it does mean that you cannot trade with yellow/gen II games because the payload is specific to red/blue, how ever you can remove the payload by entering the hall of fame at the end of the game which clears out the code that executes the custom room scripts.
Another year, another plethora of anticipated game releases. What's in your guys' sights?
Other than the obvious new Zelda title, still hoping for new Dissidia like last year, still kinda waiting for the new Persona, like last year. Big thing in my sights sometime this year would be Tekken 7 though. Game's looking dope
I know things ended on bad terms, but I think no we can start from scratch...
I've cut ties with the DBZ Community... I realised how toxic they were for me, and then they unfairly banned me. They said I was "acting retarded" which is laughable because I was the most calm-minded and rational person there... I've cut ties with Terror too... I just need a fresh start...