diff --git a/Platform/Apple/virtual/src/plasma/gameloop.pla b/Platform/Apple/virtual/src/plasma/gameloop.pla index 3927207d..a9245b6e 100644 --- a/Platform/Apple/virtual/src/plasma/gameloop.pla +++ b/Platform/Apple/virtual/src/plasma/gameloop.pla @@ -1037,37 +1037,37 @@ end asm internal_rand16()#1 !zone { +asmPlasmRet 0 - ldx #6 + ldx #6 ; start check = 1, plus 5 loops to mul by 32 = 6 total + ldy seed lda seed+1 and #$7F ; in case kbd routine has advanced past MAGIC - beq .hiZero sta seed+1 - bne .chk ; always taken + bne .chk ; zero check - hi byte + tya + bne .chk ; zero check - lo byte + lda #1 ; force 0 seed to go to 1 + bne .ret ; always taken .shift - asl seed + asl + tay rol seed+1 .chk - lda seed - sec - sbc #MAGIC bcc .next - sty seed sta seed+1 + tya + sbc #