ramcode.z80 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. RAMCodeStart:
  2. _:
  3. IncHLMem1 = -_-RAMCodeStart+ramCode
  4. inc h
  5. ret po
  6. ld h,a
  7. in a,(6)
  8. inc a
  9. out (6),a
  10. ld a,h
  11. ld h,40h
  12. ret
  13. _:
  14. next_page_call = -_-RAMCodeStart+ramCode
  15. ;121cc
  16. push af
  17. in a,(6)
  18. dec a
  19. out (6),a
  20. pop af
  21. next_page_call_address = $-RAMCodeStart+ramCode+1
  22. call 0
  23. push af
  24. in a,(6)
  25. inc a
  26. out (6),a
  27. pop af
  28. ret
  29. _:
  30. prev_page_call = -_-RAMCodeStart+ramCode
  31. ;121cc
  32. push af
  33. in a,(6)
  34. inc a
  35. out (6),a
  36. pop af
  37. prev_page_call_address = $-RAMCodeStart+ramCode+1
  38. call 0
  39. push af
  40. in a,(6)
  41. dec a
  42. out (6),a
  43. pop af
  44. ret
  45. _:
  46. bincompare = -_-RAMCodeStart+ramCode
  47. ld de,(parsePtr)
  48. out (6),a
  49. .db $FE ;start of cp *
  50. _:
  51. inc de
  52. ld a,(de)
  53. cp (hl)
  54. jr nz,+_
  55. call isEOT
  56. jr z,+_
  57. inc l \ call z,incHLMem1
  58. ld a,(hl)
  59. or a
  60. jr nz,-_
  61. _:
  62. in a,(6)
  63. ld b,a
  64. ; push af
  65. _:
  66. bincomparepagerestore = -_-RAMCodeStart+ramCode+1
  67. ld a,0
  68. out (6),a
  69. ; pop af
  70. ld a,b
  71. ret
  72. isEOT = $-RAMCodeStart+ramCode
  73. ;End Of Token includes (, ' ', {, [, \n, :
  74. or a \ ret z
  75. cp $10 \ ret z ;(
  76. cp $29 \ ret ;space
  77. #ifdef include_interrupt
  78. .fill $8181-$+RAMCodeStart-ramCode,0
  79. interrupt_main = $-RAMCodeStart+ramCode
  80. push af
  81. in a,(6)
  82. ld (interrupt_return_page),a
  83. interrupt_page = $-RAMCodeStart+ramCode+1
  84. ld a,0
  85. out (6),a
  86. call Interrupt
  87. interrupt_return_page = $-RAMCodeStart+ramCode+1
  88. ld a,0
  89. out (6),a
  90. pop af
  91. ret
  92. #endif
  93. RamCodeEnd: