daily pastebin goal
22%
SHARE
TWEET

sendByte

Zeda Aug 22nd, 2016 62 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. axe=1
  2. #define bcall(x) rst 28h \ .dw x
  3. .db $BB,$6D
  4. .org $9D95
  5.     bcall(4AD7h)
  6.     bcall(4AEFh)
  7.     di
  8.     xor a
  9.     out (8),a
  10.     ld a,e
  11. ;    call sendb
  12. ;    ld a,d
  13.     jp sendb
  14. sendb:
  15. ;;sends A, preserves regs except flags: returns c if good, nc if fail
  16.     push bc
  17.     ld c,0
  18.     ld b,a
  19.     ld a,$FD
  20.     out (1),a
  21.     cpl
  22.     out (0),a            ;Indicate we are ready to send
  23. _:
  24.     in a,(1)
  25.     and 40h
  26.     jr z,__SendByteDone
  27.     in a,(c)            ;Loop is 58cc min before next write
  28.     jp pe,-_            ;Keep looping till we get it
  29.     out (0),a
  30.     ld c,55h
  31. _:
  32.     rrc b
  33.     ccf
  34.     rla
  35.     sla c
  36.     ccf
  37.     rla
  38.     out (0),a
  39.     ex (sp),hl
  40.     ex (sp),hl
  41.     ld a,c
  42.     jr nz,-_
  43. ;need 33cc
  44.     push hl
  45.     add hl,hl
  46.     pop hl
  47.     scf
  48. __SendByteDone
  49.     out (0),a
  50.     ld a,b
  51.     pop bc
  52.     ret
  53. .echo "Size:",$-9D95h
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top