UrForth: some fixes ;-)
[urasm.git] / samples / timetest / timetest.zas
blob2adbbe0a1a1fe414ccabd6897dfe1af77d594934
1 ; 3880: 48k
2 ; 3937: 128k
3 ; 3980: pentagon 128k
5 ; emuz: 3882 on any model (shit?)
6 ; spin: exatly the same as DSP
7 ; unreal: pent128
8 ; yase/delphispec: ~+3 to 48/128
9 ; ancient DSP: complete shit, 128k fails
10 ; Z: always 48k
11 ; ZX32: perfect
12 ; WinZX32: same as delphispec
13 ; argh, I WANT FUSE/W32! %-)
14 ; ZxEmul v0.25b: pent128
15 ; SpecEmu 1.3: 128k: 3880; 48k: failed to load snapshot
16 ; ZX Plus v0.23: 48k: resets; 128k: sucks (2731)
18 jadr EQU #8888
20   ORG  #8000
21   DI
22   LD   HL,jadr
23   LD   (HL),#C3       ; JP
24   LD   (save_sp),SP
25   LD   SP,#9000
26   LD   A,#A0
27   LD   I,A
28   LD   HL,#A000
29   LD   DE,#A001
30   LD   BC,256
31   LD   (HL),#88
32   LDIR
33   LD   BC,0
34   LD   HL,exit0
35   LD   (jadr+1),HL
36   LD   HL,exit1
37   IM   2
38   EI
39   HALT
40 exit0:
41   LD   (jadr+1),HL
42   EI
43 incloop:
44   INC  BC
45   JR   incloop
46 exit1:
47   LD   (testres),BC
48   LD   SP,(save_sp)
49   IM   1
50   EI
52 showinfo:
53   include <open-main-screen.zas>
55   LD   HL,(testres)
56   CALL printdechl
57   LD   HL,textis
58   CALL printstr
60   LD   BC,(testres)
61   LD   HL,numtable
62 .loop:
63   LD   E,(HL)
64   INC  HL
65   LD   D,(HL)
66   INC  HL
67   LD   A,D
68   OR   E
69   JR   Z,.notfound
70   LD   A,D
71   CP   B
72   JR   NZ,.notme
73   LD   A,E
74   CP   C
75   JR   NZ,.notme
76   JR   .printandquit
77 .notme:
78   LD   A,(HL)
79   INC  HL
80   OR   A
81   JR   Z,.loop
82   JR   .notme
83 .notfound:
84   LD   HL,notfoundmsg
85 .printandquit:
86   CALL printstr
87   LD   A,13
88   RST  #10
89   LD   BC,(testres)
90   RET
92 printstr:
93   LD   A,(HL)
94   OR   A
95   RET  Z
96   RST  #10
97   INC  HL
98   JR   printstr
100   include <printdechl.zas>
103 testres:
104   DEFW  0
106 save_sp:
107   DEFW  0
109 numtable:
110   DEFW 3880
111   DEFZ "Spectrum 48K"
112   DEFW 3937
113   DEFZ "Spectrum 128K"
114   DEFW 3980
115   DEFZ "Pentagon"
116   DEFW 3283
117   DEFZ "Spectrum 48K (NTSC)"
118   DEFW 0
120 notfoundmsg:
121   DEFZ "unknown model"
123 textis
124   DEFZ " is "
126 ;  ORG  #8888
127 ;jadr:
128 ;  JP   0