Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
115 | savelij | 1 | |
2 | ;LAST UPDATE: 16.04.2014 savelij |
||
3 | |||
4 | RELAXED ON |
||
5 | CPU Z80UNDOC |
||
6 | |||
7 | BUILD_DEBUG EQU 1 |
||
8 | |||
9 | DZ MACRO DEFZ |
||
10 | DB DEFZ,0 |
||
11 | ENDM |
||
12 | |||
13 | DC MACRO DEFC |
||
14 | IF STRLEN(DEFC)>1 |
||
15 | DB SUBSTR(DEFC,0,STRLEN(DEFC)-1) |
||
16 | ENDIF |
||
17 | IF STRLEN(DEFC)>0 |
||
18 | DB CHARFROMSTR(DEFC,STRLEN(DEFC)-1)|80H |
||
19 | ENDIF |
||
20 | ENDM |
||
21 | |||
22 | SUM_HOB MACRO STR,AA,BB,CC |
||
23 | DB STR |
||
24 | DW AA |
||
25 | DW BB |
||
26 | DB 0 |
||
27 | DB CC |
||
28 | $$I := 0 |
||
29 | $$S := 0 |
||
30 | REPT 9 |
||
31 | $$N := CHARFROMSTR (STR,STRLEN(STR)+$$S-9) |
||
32 | $$I := ($$I+$$S+$$N+($$N*256))&0XFFFF |
||
33 | $$S := $$S+1 |
||
34 | ENDM |
||
35 | $$I := ($$I+$$S+LOW (AA)+(LOW (AA)*0X100))&0XFFFF |
||
36 | $$S := $$S+1 |
||
37 | $$I := ($$I+$$S+HIGH (AA)+(HIGH (AA)*0X100))&0XFFFF |
||
38 | $$S := $$S+1 |
||
39 | $$I := ($$I+$$S+LOW (BB)+(LOW (BB)*0X100))&0XFFFF |
||
40 | $$S := $$S+1 |
||
41 | $$I := ($$I+$$S+HIGH (BB)+(HIGH (BB)*0X100))&0XFFFF |
||
42 | $$S := $$S+1 |
||
43 | $$I := ($$I+$$S+LOW (CC)+(LOW (CC)*0X100))&0XFFFF |
||
44 | $$S := $$S+1 |
||
45 | $$I := ($$I+$$S+HIGH (CC)+(HIGH (CC)*0X100))&0XFFFF |
||
46 | $$S := $$S+1 |
||
47 | DW $$I |
||
48 | ENDM |
||
49 | |||
50 | DUPL MACRO LEN,FILL |
||
51 | DUPL: |
||
52 | $$N EQU (LEN) / 1024 |
||
53 | $$M EQU (LEN) # 1024 |
||
54 | REPT $$N |
||
55 | DB 1024 DUP(FILL) |
||
56 | ENDM |
||
57 | IF $$M <> 0 |
||
58 | DB $$M DUP(FILL) |
||
59 | ENDIF |
||
60 | ENDM |
||
61 | |||
62 | HIGH FUNCTION X,((X >> 8) & 0XFF) |
||
63 | LOW FUNCTION X,(X & 0XFF) |
||
64 | |||
65 | PCALL MACRO ADR,PAGE |
||
66 | RST 0X30 |
||
67 | DW ADR |
||
68 | DB PAGE |
||
69 | ENDM |
||
70 | |||
71 | ATMPORT MACRO PORT,BYTE |
||
72 | LD BC,PORT |
||
73 | LD A,BYTE |
||
74 | OUT (C),A |
||
75 | ENDM |
||
76 | |||
77 | EVOPORT MACRO PORT,BYTE |
||
78 | LD BC,PORT |
||
79 | LD A,BYTE |
||
80 | OUT (C),A |
||
81 | ENDM |
||
82 | |||
83 | PEC_ON MACRO BYTE |
||
84 | IN A,(PEVO_CONF) |
||
85 | OR BYTE |
||
86 | OUT (PEVO_CONF),A |
||
87 | ENDM |
||
88 | |||
89 | PEC_OFF MACRO BYTE |
||
90 | IN A,(PEVO_CONF) |
||
91 | AND BYTE!0XFF |
||
92 | OUT (PEVO_CONF),A |
||
93 | ENDM |
||
94 | |||
95 | SIZEDATE EQU STRLEN (DATE) |
||
96 | |||
97 | IF SIZEDATE=10 |
||
98 | MMOUNTH EQU (CHARFROMSTR (DATE,0)-0X30)*10+(CHARFROMSTR (DATE,1)-0X30) |
||
99 | DDATE EQU (CHARFROMSTR (DATE,3)-0X30)*10+(CHARFROMSTR (DATE,4)-0X30) |
||
100 | YYEAR EQU (CHARFROMSTR (DATE,8)-0X30)*10+(CHARFROMSTR (DATE,9)-0X30) |
||
101 | ELSEIF SIZEDATE=8 |
||
102 | MMOUNTH EQU (CHARFROMSTR (DATE,0)-0X30) |
||
103 | DDATE EQU (CHARFROMSTR (DATE,2)-0X30) |
||
104 | YYEAR EQU (CHARFROMSTR (DATE,6)-0X30)*10+(CHARFROMSTR (DATE,7)-0X30) |
||
105 | ELSEIF (CHARFROMSTR (DATE,1))=0X2F |
||
106 | MMOUNTH EQU (CHARFROMSTR (DATE,0)-0X30) |
||
107 | DDATE EQU (CHARFROMSTR (DATE,2)-0X30)*10+(CHARFROMSTR (DATE,3)-0X30) |
||
108 | YYEAR EQU (CHARFROMSTR (DATE,7)-0X30)*10+(CHARFROMSTR (DATE,8)-0X30) |
||
109 | ELSE |
||
110 | MMOUNTH EQU (CHARFROMSTR (DATE,0)-0X30)*10+(CHARFROMSTR (DATE,1)-0X30) |
||
111 | DDATE EQU (CHARFROMSTR (DATE,3)-0X30) |
||
112 | YYEAR EQU (CHARFROMSTR (DATE,7)-0X30)*10+(CHARFROMSTR (DATE,8)-0X30) |
||
113 | ENDIF |
||
114 | DATA_VERS EQU DDATE+(MMOUNTH<<5)+(YYEAR<<9)+0X8000 ; |
||
115 | |||
116 | TEXTDATE MACRO |
||
117 | IF DDATE<10 |
||
118 | TDATE DB DDATE+0X30 |
||
119 | ELSE |
||
120 | TDATE DB ((DDATE/10)+0X30),(DDATE#10)+0X30 |
||
121 | ENDIF |
||
122 | DB "." |
||
123 | IF MMOUNTH<10 |
||
124 | TMOUNTH DB MMOUNTH+0X30 |
||
125 | ELSE |
||
126 | TMOUNTH DB MMOUNTH/10+0X30,MMOUNTH#10+0X30 |
||
127 | ENDIF |
||
128 | DB ".",CHARFROMSTR (DATE,SIZEDATE-4),CHARFROMSTR (DATE,SIZEDATE-3) |
||
129 | DB CHARFROMSTR (DATE,SIZEDATE-2),CHARFROMSTR (DATE,SIZEDATE-1) |
||
130 | ENDM |