ramcode.z80 1.5 KB

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