diff options
author | mid-kid <esteve.varela@gmail.com> | 2020-02-21 23:48:51 +0100 |
---|---|---|
committer | mid-kid <esteve.varela@gmail.com> | 2020-02-22 00:23:47 +0100 |
commit | 43eff93861b5b00473e567e6449c64f039f8f4ba (patch) | |
tree | 7eb66fc5272b26fbc0e99a5ea4327013516a89fc /home/printer.asm | |
parent | 9a927c1b3efa2eca886f346a4fcca0eb57278faf (diff) |
Small home/ reorganization
Time to move everything out of home.asm:
- InexplicablyEmptyFunction was moved to home/map.asm
- The wDebugFlags functions and xor_a brothers were moved to
home/flag.asm because they're all flag-related.
- ret_2f3e was moved into home/region.asm
- The register alias sisters were moved to a new file called home/call_regs.asm
- IsInArray and SkipNames were joined by AddNTimes from home/math.asm
into home/array.asm, as they're all used to index arrays.
- CallPointerAt was moved into home/print_text.asm because given the
contents of that file it doesn't feel very out of place (that file
isn't very aptly named...)
- CountSetBits was moved into home/pokedex_flags.asm because it's unique
use is counting the amount of seen/caught mon in the podedex. GetWeekday
was pulled into this by proximity.
Other changes were also made:
- PushLYOverrides was moved from home/sprite_anims.asm to
home/battle.asm, because it's almost exclusively used for battle
animations, with the lone exception being the Magnet Train.
- home/copy.asm was renamed to home/gfx.asm, as it's all gfx-related
- home/copy2.asm was renamed to home/copy.asm, now it's the only file
called copy.
- SetHPPal and GetHPPal were moved from home/hp_pals.asm to
home/tilemap.asm, as they're attrmap related, like many functions in
that file are.
- home/rtc.asm was renamed to home/time_palettes.asm, as it had very
little to do with the RTC at all, all RTC functions being in home/time.asm
- home/handshake.asm was renamed to home/printer.asm.
- home/mon_data_2.asm was renamed to home/mon_party.asm.
Diffstat (limited to 'home/printer.asm')
-rw-r--r-- | home/printer.asm | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/home/printer.asm b/home/printer.asm new file mode 100644 index 000000000..9747713c7 --- /dev/null +++ b/home/printer.asm @@ -0,0 +1,41 @@ +PrinterReceive:: + homecall _PrinterReceive + ret + +AskSerial:: +; send out a handshake while serial int is off + ld a, [wPrinterConnectionOpen] + bit 0, a + ret z + +; if we're still interpreting data, don't try to receive + ld a, [wPrinterOpcode] + and a + ret nz + +; once every 6 frames + ld hl, wHandshakeFrameDelay + inc [hl] + ld a, [hl] + cp 6 + ret c + + xor a + ld [hl], a + + ld a, 12 + ld [wPrinterOpcode], a + +; handshake + ld a, $88 + ldh [rSB], a + +; switch to internal clock + ld a, (0 << rSC_ON) | (1 << rSC_CLOCK) + ldh [rSC], a + +; start transfer + ld a, (1 << rSC_ON) | (1 << rSC_CLOCK) + ldh [rSC], a + + ret |