@@ -71,8 +71,8 @@ _test__leave:
71
71
pop ix
72
72
ret
73
73
;; --- end of user code ---
74
- #line 1 "/zxbasic/src/arch/zx48k/library-asm /addf.asm"
75
- #line 1 "/zxbasic/src/arch/zx48k/library-asm /stackf.asm"
74
+ #line 1 "/zxbasic/src/lib/ arch/zx48k/runtime/arith /addf.asm"
75
+ #line 1 "/zxbasic/src/lib/ arch/zx48k/runtime /stackf.asm"
76
76
; -------------------------------------------------------------
77
77
; Functions to manage FP-Stack of the ZX Spectrum ROM CALC
78
78
; -------------------------------------------------------------
@@ -111,7 +111,7 @@ __FPSTACK_I16: ; Pushes 16 bits integer in HL into the FP ROM STACK
111
111
ld b , a
112
112
jp __FPSTACK_PUSH
113
113
pop namespace
114
- #line 2 "/zxbasic/src/arch/zx48k/library-asm /addf.asm"
114
+ #line 2 "/zxbasic/src/lib/ arch/zx48k/runtime/arith /addf.asm"
115
115
; -------------------------------------------------------------
116
116
; Floating point library using the FP ROM Calculator (ZX 48K)
117
117
; All of them uses A EDCB registers as 1st paramter.
@@ -129,8 +129,8 @@ __ADDF: ; Addition
129
129
defb 38h ; ; END CALC
130
130
jp __FPSTACK_POP
131
131
pop namespace
132
- #line 53 "opt4_keepix.bas"
133
- #line 1 "/zxbasic/src/arch/zx48k/library-asm /mulf.asm"
132
+ #line 53 "arch/zx48k/ opt4_keepix.bas"
133
+ #line 1 "/zxbasic/src/lib/ arch/zx48k/runtime/arith /mulf.asm"
134
134
; -------------------------------------------------------------
135
135
; Floating point library using the FP ROM Calculator (ZX 48K)
136
136
; All of them uses A EDCB registers as 1st paramter.
@@ -148,13 +148,13 @@ __MULF: ; Multiplication
148
148
defb 38h ; ; END CALC
149
149
jp __FPSTACK_POP
150
150
pop namespace
151
- #line 54 "opt4_keepix.bas"
152
- #line 1 "/zxbasic/src/arch/zx48k/library-asm /ploadf.asm"
151
+ #line 54 "arch/zx48k/ opt4_keepix.bas"
152
+ #line 1 "/zxbasic/src/lib/ arch/zx48k/runtime /ploadf.asm"
153
153
; Parameter / Local var load
154
154
; A => Offset
155
155
; IX = Stack Frame
156
156
; RESULT: HL => IX + DE
157
- #line 1 "/zxbasic/src/arch/zx48k/library-asm /iloadf.asm"
157
+ #line 1 "/zxbasic/src/lib/ arch/zx48k/runtime /iloadf.asm"
158
158
; __FASTCALL__ routine which
159
159
; loads a 40 bits floating point into A ED CB
160
160
; stored at position pointed by POINTER HL
@@ -181,21 +181,21 @@ __LOADF: ; Loads a 40 bits FP number from address pointed by HL
181
181
ld b , (hl)
182
182
ret
183
183
pop namespace
184
- #line 7 "/zxbasic/src/arch/zx48k/library-asm /ploadf.asm"
184
+ #line 7 "/zxbasic/src/lib/ arch/zx48k/runtime /ploadf.asm"
185
185
push namespace core
186
186
__PLOADF:
187
187
push ix
188
188
pop hl
189
189
add hl , de
190
190
jp __LOADF
191
191
pop namespace
192
- #line 55 "opt4_keepix.bas"
193
- #line 1 "/zxbasic/src/arch/zx48k/library-asm /pstoref.asm"
192
+ #line 55 "arch/zx48k/ opt4_keepix.bas"
193
+ #line 1 "/zxbasic/src/lib/ arch/zx48k/runtime /pstoref.asm"
194
194
; Stores FP number in A ED CB at location HL+IX
195
195
; HL = Offset
196
196
; IX = Stack Frame
197
197
; A ED CB = FP Number
198
- #line 1 "/zxbasic/src/arch/zx48k/library-asm /storef.asm"
198
+ #line 1 "/zxbasic/src/lib/ arch/zx48k/runtime /storef.asm"
199
199
push namespace core
200
200
__PISTOREF: ; Indect Stores a float (A, E, D, C, B) at location stored in memory, pointed by (IX + HL)
201
201
push de
@@ -223,7 +223,7 @@ __STOREF: ; Stores the given FP number in A EDCB at address HL
223
223
ld (hl) , b
224
224
ret
225
225
pop namespace
226
- #line 7 "/zxbasic/src/arch/zx48k/library-asm /pstoref.asm"
226
+ #line 7 "/zxbasic/src/lib/ arch/zx48k/runtime /pstoref.asm"
227
227
; Stored a float number in A ED CB into the address pointed by IX + HL
228
228
push namespace core
229
229
__PSTOREF:
@@ -235,8 +235,8 @@ __PSTOREF:
235
235
pop de
236
236
jp __STOREF
237
237
pop namespace
238
- #line 56 "opt4_keepix.bas"
239
- #line 1 "/zxbasic/src/arch/zx48k/library-asm /random.asm"
238
+ #line 56 "arch/zx48k/ opt4_keepix.bas"
239
+ #line 1 "/zxbasic/src/lib/ arch/zx48k/runtime /random.asm"
240
240
; RANDOM functions
241
241
push namespace core
242
242
RANDOMIZE:
@@ -262,15 +262,12 @@ TAKE_FRAMES:
262
262
ret
263
263
FRAMES EQU 23672
264
264
ENDP
265
- RANDOM_SEED_HIGH EQU RAND + 6 ; RANDOM seed, 16 higher bits
265
+ RANDOM_SEED_HIGH EQU RAND + 1 ; RANDOM seed, 16 higher bits
266
266
RANDOM_SEED_LOW EQU 23670 ; RANDOM seed, 16 lower bits
267
267
RAND:
268
268
PROC
269
- LOCAL RAND_LOOP
270
- ld b , 4
271
- RAND_LOOP:
272
- ld hl , (RANDOM_SEED_LOW) ; xz -> yw
273
269
ld de , 0C0DEh ; yw -> zt
270
+ ld hl , (RANDOM_SEED_LOW) ; xz -> yw
274
271
ld (RANDOM_SEED_LOW) , de ; x = y, z = w
275
272
ld a , e ; w = w ^ ( w << 3 )
276
273
add a , a
@@ -288,14 +285,6 @@ RAND_LOOP:
288
285
ld d , l ; y = z
289
286
ld e , a ; w = t
290
287
ld (RANDOM_SEED_HIGH) , de
291
- push af
292
- djnz RAND_LOOP
293
- pop de
294
- pop af
295
- ld e , a
296
- pop hl
297
- pop af
298
- ld l , a
299
288
ret
300
289
ENDP
301
290
RND:
@@ -336,5 +325,5 @@ RND_LOOP:
336
325
ret
337
326
ENDP
338
327
pop namespace
339
- #line 57 "opt4_keepix.bas"
328
+ #line 57 "arch/zx48k/ opt4_keepix.bas"
340
329
END
0 commit comments