1
0
mirror of https://github.com/cc65/cc65.git synced 2025-04-08 19:38:55 +00:00

New randomize() function for nearly all platforms

git-svn-id: svn://svn.cc65.org/cc65/trunk@1487 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cuz 2002-11-05 10:48:20 +00:00
parent 444aa7c944
commit 3fae969b5b
19 changed files with 142 additions and 7 deletions

View File

@ -21,6 +21,7 @@ OBJS = _scrsize.o \
cputc.o \
kbhit.o \
mouse.o \
randomize.o \
readjoy.o \
rs232.o \
tgi_mode_table.o\

View File

@ -8,6 +8,7 @@
ST = $90 ; IEC status byte
TIME = $A0 ; 60HZ clock
FNAM_LEN = $B7 ; Length of filename
SECADR = $B9 ; Secondary address
DEVNUM = $BA ; Device number

17
libsrc/c128/randomize.s Normal file
View File

@ -0,0 +1,17 @@
;
; Ullrich von Bassewitz, 05.11.2002
;
; void randomize (void);
; /* Initialize the random number generator */
;
.export _randomize
.import _srand
.include "c128.inc"
_randomize:
ldx VIC_HLINE ; Use VIC rasterline as high byte
lda TIME ; Use 60HZ clock as low byte
jmp _srand ; Initialize generator

View File

@ -24,6 +24,7 @@ OBJS = _scrsize.o \
cputc.o \
kbhit.o \
mouse.o \
randomize.o \
readjoy.o \
rs232.o \
tgi_mode_table.o \
@ -43,4 +44,4 @@ all: $(OBJS) $(TGIS)
clean:
@rm -f $(OBJS) $(TGIS:.tgi=.o)

View File

@ -8,6 +8,7 @@
ST = $90 ; IEC status byte
TIME = $A0 ; 60 HZ clock
FNAM_LEN = $B7 ; Length of filename
SECADR = $B9 ; Secondary address
DEVNUM = $BA ; Device number

17
libsrc/c64/randomize.s Normal file
View File

@ -0,0 +1,17 @@
;
; Ullrich von Bassewitz, 05.11.2002
;
; void randomize (void);
; /* Initialize the random number generator */
;
.export _randomize
.import _srand
.include "c64.inc"
_randomize:
ldx VIC_HLINE ; Use VIC rasterline as high byte
lda TIME ; Use 60HZ clock as low byte
jmp _srand ; Initialize generator

View File

@ -28,6 +28,7 @@ OBJS = _scrsize.o \
mouse.o \
peeksys.o \
pokesys.o \
randomize.o \
readjoy.o \
rs232.o \
tgi_mode_table.o

16
libsrc/cbm510/randomize.s Normal file
View File

@ -0,0 +1,16 @@
;
; Ullrich von Bassewitz, 05.11.2002
;
; void randomize (void);
; /* Initialize the random number generator */
;
.export _randomize
.import _srand
.importzp time
_randomize:
ldx time ; Use 50/60HZ clock
lda time+1
jmp _srand ; Initialize generator

View File

@ -27,6 +27,7 @@ OBJS = _scrsize.o \
kudtim.o \
peeksys.o \
pokesys.o \
randomize.o \
rs232.o
all: $(OBJS)

16
libsrc/cbm610/randomize.s Normal file
View File

@ -0,0 +1,16 @@
;
; Ullrich von Bassewitz, 05.11.2002
;
; void randomize (void);
; /* Initialize the random number generator */
;
.export _randomize
.import _srand
.importzp time
_randomize:
ldx time ; Use 50/60HZ clock
lda time+1
jmp _srand ; Initialize generator

View File

@ -19,7 +19,8 @@ OBJS = _scrsize.o \
conio.o \
cputc.o \
crt0.o \
kbhit.o
kbhit.o \
randomize.o
all: $(OBJS)

View File

@ -6,6 +6,7 @@
; ---------------------------------------------------------------------------
; Zero page, Commodore stuff
TIME = $8D ; 60HZ clock
MEMSIZE = $34 ; Size of memory installed
ST = $96 ; IEC status byte
SECADR = $D3 ; Secondary address

17
libsrc/pet/randomize.s Normal file
View File

@ -0,0 +1,17 @@
;
; Ullrich von Bassewitz, 05.11.2002
;
; void randomize (void);
; /* Initialize the random number generator */
;
.export _randomize
.import _srand
.include "pet.inc"
_randomize:
ldx TIME
lda TIME+1 ; Use 60HZ clock
jmp _srand ; Initialize generator

View File

@ -20,6 +20,7 @@ OBJS = _scrsize.o \
cputc.o \
crt0.o \
kbhit.o \
randomize.o \
readjoy.o \
tgi_mode_table.o

View File

@ -8,6 +8,7 @@
ST = $90 ; IEC status byte
TIME = $A3 ; 60HZ clock
FNAM_LEN = $AB ; Length of filename
SECADR = $AD ; Secondary address
DEVNUM = $AE ; Device number

17
libsrc/plus4/randomize.s Normal file
View File

@ -0,0 +1,17 @@
;
; Ullrich von Bassewitz, 05.11.2002
;
; void randomize (void);
; /* Initialize the random number generator */
;
.export _randomize
.import _srand
.include "plus4.inc"
_randomize:
ldx TED_VLINELO ; Use TED rasterline as high byte
lda TIME ; Use 60HZ clock as low byte
jmp _srand ; Initialize generator

View File

@ -20,6 +20,7 @@ OBJS = _scrsize.o \
conio.o \
cputc.o \
kbhit.o \
randomize.o \
readjoy.o \
write.o

21
libsrc/vic20/randomize.s Normal file
View File

@ -0,0 +1,21 @@
;
; Ullrich von Bassewitz, 05.11.2002
;
; void randomize (void);
; /* Initialize the random number generator */
;
.export _randomize
.import _srand
.include "vic20.inc"
_randomize:
lda VIC_LINES ; Get overflow bit
asl a ; Shift bit 7 into carry
lda VIC_HLINE ; Get bit 1-8 of rasterline
rol a ; Use bit 0-7
tax ; Use VIC rasterline as high byte
lda TIME ; Use 60HZ clock as low byte
jmp _srand ; Initialize generator

View File

@ -8,6 +8,7 @@
ST = $90 ; IEC status byte
TIME = $A0 ; 60HZ clock
FNAM_LEN = $B7 ; Length of filename
SECADR = $B9 ; Secondary address
DEVNUM = $BA ; Device number
@ -30,10 +31,10 @@ PALFLAG = $2A6 ; $01 = PAL, $00 = NTSC
; Kernal routines
; Direct entries
CLRSCR = $E55F
KBDREAD = $E5CF
CLRSCR = $E55F
KBDREAD = $E5CF
NAMED_OPEN = $F495
NAMED_CLOSE = $F6DA
NAMED_CLOSE = $F6DA
PLOTCHAR = $EAAA ; Char in A, color in X
; ---------------------------------------------------------------------------
@ -46,8 +47,10 @@ NMIVec = $0318
; ---------------------------------------------------------------------------
; I/O: 6560 VIC
VIC = $9000
VIC_COLOR = $900F
VIC = $9000
VIC_LINES = $9003 ; Screen lines, bit 7 is bit 0 from VIC_HLINE
VIC_HLINE = $9004 ; Rasterline, bits 1-8
VIC_COLOR = $900F ; Border and background color
; ---------------------------------------------------------------------------
; I/O: 6522 VIA1