vdptest.asm 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. IF !DEFINED origin
  2. .ERROR "Run pasmo with: --equ origin=<addr>"
  3. ENDIF
  4. ; Pasmo macros for reserving space in bss
  5. ; This segment starts after the binary of this program
  6. lodata macro
  7. HILO defl 0
  8. org LOptr
  9. endm
  10. ; This segment starts at VOICAQ; should not be greater than 132 bytes.
  11. hidata macro
  12. HILO defl 1
  13. org HIptr
  14. endm
  15. updateHILO macro
  16. if HILO = 0
  17. LOptr defl $
  18. else
  19. HIptr defl $
  20. if HIptr > 0F9F9h
  21. .error "Too many variables"
  22. endif
  23. endif
  24. endm
  25. word macro arg
  26. if nul arg
  27. org $ + 2
  28. else
  29. org $ + 2*arg
  30. endif
  31. updateHILO
  32. endm
  33. byte macro arg
  34. if nul arg
  35. org $ + 1
  36. else
  37. org $ + arg
  38. endif
  39. updateHILO
  40. endm
  41. ; ********************************* definitions
  42. include 'sysdefs.equ.asm'
  43. include 'im2setup.equ.asm'
  44. ; ********************************* entry point
  45. org origin
  46. Start proc
  47. jp Main
  48. endp
  49. ; *************** start of data area
  50. ; nothing to see here, move on
  51. ; *************** end of data area, start of code area
  52. include 'main.code.asm'
  53. include 'im2setup.code.asm'
  54. include 'frametime.code.asm'
  55. include 'syncvint.code.asm'
  56. include 'test-ack-timing.code.asm'
  57. include 'test-vram-timing.code.asm'
  58. ; *************** end of code area, start of bss area
  59. LOptr defl $
  60. HIptr defl VOICAQ
  61. include 'frametime.bss.asm'
  62. include 'test-ack-timing.bss.asm'
  63. include 'main.bss.asm'
  64. include 'test-vram-timing.bss.asm'
  65. lodata
  66. LastByte equ LOptr
  67. ; *************** end of everything
  68. end