MyIrqRoutines.lib 660 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #importonce
  2. #import "MyPseudoCommands.lib"
  3. .filenamespace DemoSetup
  4. //-----------------------------
  5. // IrqHelp functions
  6. //-----------------------------
  7. .pseudocommand @setupIrq line : address {
  8. sei
  9. mov #$35 : $01
  10. mov16 address : $fffe
  11. mov #$1b : $d011
  12. mov line : $d012
  13. mov #$81 : $d01a
  14. mov #$7f : $dc0d
  15. mov #$7f : $dd0d
  16. lda $dc0d
  17. lda $dd0d
  18. mov #$ff : $d019
  19. cli
  20. }
  21. .pseudocommand @irqStart {
  22. pha
  23. txa
  24. pha
  25. tya
  26. pha
  27. mov #$ff : $d019
  28. }
  29. .pseudocommand @irqEnd line : addr {
  30. .if (line.getType()!=AT_NONE) mov line : $d012
  31. .if (addr.getType()!=AT_NONE) mov addr : $fffe
  32. pla
  33. tay
  34. pla
  35. tax
  36. pla
  37. rti
  38. }