@@ -71,8 +71,8 @@ _test__leave:
7171 pop ix
7272 ret
7373 ;; --- 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"
7676 ; -------------------------------------------------------------
7777 ; Functions to manage FP-Stack of the ZX Spectrum ROM CALC
7878 ; -------------------------------------------------------------
@@ -111,7 +111,7 @@ __FPSTACK_I16: ; Pushes 16 bits integer in HL into the FP ROM STACK
111111 ld b , a
112112 jp __FPSTACK_PUSH
113113 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"
115115 ; -------------------------------------------------------------
116116 ; Floating point library using the FP ROM Calculator (ZX 48K)
117117 ; All of them uses A EDCB registers as 1st paramter.
@@ -129,8 +129,8 @@ __ADDF: ; Addition
129129 defb 38h ; ; END CALC
130130 jp __FPSTACK_POP
131131 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"
134134 ; -------------------------------------------------------------
135135 ; Floating point library using the FP ROM Calculator (ZX 48K)
136136 ; All of them uses A EDCB registers as 1st paramter.
@@ -148,13 +148,13 @@ __MULF: ; Multiplication
148148 defb 38h ; ; END CALC
149149 jp __FPSTACK_POP
150150 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"
153153 ; Parameter / Local var load
154154 ; A => Offset
155155 ; IX = Stack Frame
156156; 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"
158158 ; __FASTCALL__ routine which
159159 ; loads a 40 bits floating point into A ED CB
160160 ; stored at position pointed by POINTER HL
@@ -181,21 +181,21 @@ __LOADF: ; Loads a 40 bits FP number from address pointed by HL
181181 ld b , (hl)
182182 ret
183183 pop namespace
184- #line 7 "/zxbasic/src/arch/zx48k/library-asm /ploadf.asm"
184+ #line 7 "/zxbasic/src/lib/ arch/zx48k/runtime /ploadf.asm"
185185 push namespace core
186186__PLOADF:
187187 push ix
188188 pop hl
189189 add hl , de
190190 jp __LOADF
191191 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"
194194 ; Stores FP number in A ED CB at location HL+IX
195195 ; HL = Offset
196196 ; IX = Stack Frame
197197 ; 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"
199199 push namespace core
200200__PISTOREF: ; Indect Stores a float (A, E, D, C, B) at location stored in memory, pointed by (IX + HL)
201201 push de
@@ -223,7 +223,7 @@ __STOREF: ; Stores the given FP number in A EDCB at address HL
223223 ld (hl) , b
224224 ret
225225 pop namespace
226- #line 7 "/zxbasic/src/arch/zx48k/library-asm /pstoref.asm"
226+ #line 7 "/zxbasic/src/lib/ arch/zx48k/runtime /pstoref.asm"
227227 ; Stored a float number in A ED CB into the address pointed by IX + HL
228228 push namespace core
229229__PSTOREF:
@@ -235,8 +235,8 @@ __PSTOREF:
235235 pop de
236236 jp __STOREF
237237 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"
240240 ; RANDOM functions
241241 push namespace core
242242RANDOMIZE:
@@ -262,15 +262,12 @@ TAKE_FRAMES:
262262 ret
263263 FRAMES EQU 23672
264264 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
266266 RANDOM_SEED_LOW EQU 23670 ; RANDOM seed, 16 lower bits
267267RAND:
268268 PROC
269- LOCAL RAND_LOOP
270- ld b , 4
271- RAND_LOOP:
272- ld hl , (RANDOM_SEED_LOW) ; xz -> yw
273269 ld de , 0C0DEh ; yw -> zt
270+ ld hl , (RANDOM_SEED_LOW) ; xz -> yw
274271 ld (RANDOM_SEED_LOW) , de ; x = y, z = w
275272 ld a , e ; w = w ^ ( w << 3 )
276273 add a , a
@@ -288,14 +285,6 @@ RAND_LOOP:
288285 ld d , l ; y = z
289286 ld e , a ; w = t
290287 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
299288 ret
300289 ENDP
301290RND:
@@ -336,5 +325,5 @@ RND_LOOP:
336325 ret
337326 ENDP
338327 pop namespace
339- #line 57 "opt4_keepix.bas"
328+ #line 57 "arch/zx48k/ opt4_keepix.bas"
340329 END
0 commit comments