randomnumbergen.asm 740 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. Random:
  2. php
  3. sep #$20
  4. LDA R3
  5. STA R4 ;R4=R3
  6. LDA R2
  7. STA R3 ;R3=R2
  8. LDA R1
  9. STA R2 ;R2=R1
  10. CMP R3
  11. BMI R3_Greater ;If R3>R2 Then Goto R3_Greater
  12. LDA R3
  13. CLC
  14. ADC R4
  15. clc
  16. eor.w JoyPortBuffer&$ffff ;use button presses for rng aswell
  17. eor.w JoyPortBuffer&$ffff+2
  18. eor.w JoyPortBuffer&$ffff+4
  19. eor.w JoyPortBuffer&$ffff+6
  20. eor.w JoyPortBuffer&$ffff+8
  21. eor.w JoyPortBuffer&$ffff+10
  22. eor.w JoyPortBuffer&$ffff+12
  23. eor.w JoyPortBuffer&$ffff+14
  24. eor.b FrameCounterLo
  25. STA R1 ;R1=R3+R4 MOD 256
  26. plp
  27. RTS ;Return R1
  28. R3_Greater:
  29. CLC
  30. ADC R4
  31. clc
  32. eor.w JoyPortBuffer&$ffff+8
  33. eor.b FrameCounterLo
  34. STA R1 ;R1=R2+R4 MOD 256
  35. plp
  36. RTS ;Return R1