This file is indexed.

/usr/share/z88dk/lib/zx81_altint.def is in z88dk-data 1.8.ds1-10.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
;       CRT0 for the ZX81 - SLOW MODE
;
;
; ----------------------------------------------------------------------------------------
;       Modified display handler to preserve IY
;	Note: a swap between IX and IY happens "on the fly" during assembly !
; ----------------------------------------------------------------------------------------
;
;       Stefano Bodrato Sept. 2007
;       Sync fixed by Siegfried Engel - Dec. 2007
;
; - - - - - - -
;
;       $Id: zx81_altint.def,v 1.7 2007/12/18 13:35:51 stefano Exp $
;
; - - - - - - -


;--------------------------------------------------------------
;--------------------------------------------------------------

XDEF	hrg_on
XDEF	hrg_off

;========
; Not HRG really, but switches the new interrupt handler with no sighs
;========

hrg_on:
	call   $F2B	; SLOW
        ld      hl,L0281
        push	hl
        jr      HRG_Sync

hrg_off:
        ld      hl,$281
        push	hl
        ;ld      a,$1e
        ;ld      i,a
HRG_Sync:
        ld      hl,$4034        ; FRAMES counter
        ld      a,(hl)          ; get old FRAMES
HRG_Sync1:
        cp      (hl)            ; compare to new FRAMES
        jr      z,HRG_Sync1     ; exit after a change is detected
        pop	iy              ; switch to new display handler
        ret

;--------------------------------------------------------------
;--------------------------------------------------------------


;; DISPLAY-1
L0229:
	LD      HL,($4034)      ; fetch two-byte system variable FRAMES.
        DEC     HL              ; decrement frames counter.

;; DISPLAY-P
L022D:  LD      A,$7F           ;
        AND     H               ;
        OR      L               ;
        LD      A,H             ;
        JR      NZ,L0237        ; to ANOTHER

        RLA                     ;
        JR      L0239           ; to OVER-NC

; ---

;; ANOTHER
L0237:  LD      B,(HL)          ;
        SCF                     ; Set Carry Flag

;; OVER-NC
L0239:  LD      H,A             ;
        LD      ($4034),HL      ; sv FRAMES_lo
        RET     NC              ;

;; DISPLAY-2
L023E:
	push	ix
	ld	ix,16384
	CALL    $2BB           ; routine KEYBOARD
	pop	ix
        LD      BC,($4025)      ; sv LAST_K
        LD      ($4025),HL      ; sv LAST_K
        LD      A,B             ;
        ADD     A,$02           ;
        SBC     HL,BC           ;
        LD      A,($4027)       ; sv DEBOUNCE
        OR      H               ;
        OR      L               ;
        LD      E,B             ;
        LD      B,$0B           ;
        LD      HL,$403B        ; system variable CDFLAG
        RES     0,(HL)          ;
        JR      NZ,L0264        ; to NO-KEY

        BIT     7,(HL)          ;
        SET     0,(HL)          ;
        RET     Z               ;

        DEC     B               ;
        NOP                     ;
        SCF                     ; Set Carry Flag

;; NO-KEY
L0264:  LD      HL,$4027        ; sv DEBOUNCE
        CCF                     ; Complement Carry Flag
        RL      B               ;

;; LOOP-B
L026A:  DJNZ    L026A           ; to LOOP-B

        LD      B,(HL)          ;
        LD      A,E             ;
        CP      $FE             ;
        SBC     A,A             ;
        LD      B,$1F           ;
        OR      (HL)            ;
        AND     B               ;
        RRA                     ;
        LD      (HL),A          ;
        OUT     ($FF),A         ;
        LD      HL,($400C)      ; sv D_FILE_lo
        SET     7,H             ;

        CALL    L0292           ; routine DISPLAY-3

; ---

;; R-IX-1
L0281:  LD      A,R             ;
        LD      BC,$1901        ;
        LD      A,$F5           ;
        CALL    $2B5           ; routine DISPLAY-5
        DEC     HL              ;

        CALL    L0292           ; routine DISPLAY-3

; ---

;; R-IX-2
L028F:  JP      L0229           ; to DISPLAY-1

; ---

;; DISPLAY-3
L0292:  POP     IY              ; return address to IX register (-IXIY swap).
                                ; will be either L0281 or L028F - see above.
; Modified here to keep IY unchanged

	ld	a,(16424)      ; load C with MARGIN
	ld	c,a
	ld	a,(16443)      ; test CDFLAG
	bit	7,a
        jp	z,$2a9

        ld 	a,c
        neg
        inc	a
        ex 	af,af
        out 	($FE),a

	ld	hl,(frames)	; clock handler
        inc	hl
        ld	(frames),hl
        ld	a,h
        or	l
        jp	nz,nofr1
        ld	hl,frames+1
        inc	(hl)
.nofr1
	jp	$2A4