Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Weirdness 4
Okay, this one is pretty small. It crashes.

FUNCTION RAND () as uInteger : REM Code by Jon Ritman
    random: REM add 46 bytes to this location to hit the store "Lion"
    RANDOM:     LD HL,(SEED+2)
                LD D,L
                ADD HL,HL
                ADD HL,HL
                LD C,H
                LD HL,(SEED)
                LD B,H
                RL B
                LD E,H
                RL E
                RL D
                ADD HL,BC
                LD (SEED),HL
                LD HL,(SEED+2)
                ADC HL,DE
                RES 7,H
                LD (SEED+2),HL
                JP M,RANDOM3
                LD HL,SEED
    RANDOM2:    INC (HL)
                    INC HL
                JR Z,RANDOM2
    RANDOM3:    LD HL,(SEED)              
    SEED:       DB "Lion"
    end asm
DIM  a as uInteger
    let a=@random
    PRINT a
    let a=a+46
    PRINT a

DIM n as uInteger
DIM result as uByte

FOR n=a to a+4
    LET result=peek n
    print n;"=";result;"=";CHR$ (result)
next n

IF I change the last line to:
print n;"=";result;"=";CHR$ (76)

It doesn't crash. What's the problem with CHR$(uByte) suddenly?

Can anyone else replicate this?

All I was trying to do was put in a nice shiny new random number generator...

Messages In This Thread

Forum Jump:

Users browsing this thread: 1 Guest(s)