4 Kay
ZXNet echo conference «code.zx»
From Mihail Zharov → To Denis Kitel 4 April 2001
Hello Denis!
Saturday 31 March 2001, at 15:14:32,
Denis Kitel -> All:
DK> Does anyone have an upper memory driver for KAY-1024
DK> TRMSHOB2? Or at least
DK> under 256K, otherwise I have some kind of glitch. Kinte plz.
Here is under Scorp with a clock:
╒═══< Begin file: trmsdrv .asm >══════════
;Extended memory driver TRMSDRV C
;Let's look at this driver as an example
;Scorpion, where pages 8-15 are selected
;by setting the 4th bit of port #1FFD to "1",
;and we will not use 2,5,8 and 9 countries
;faces (total pages 16-4 = 12).
ORG #5B00
DEFB 12 ;number of uses pages
JR C,TIME
PAGE PUSH BC ;driver call point
PUSH HL
LD HL,PAGES ;page table
ADD A,L ;A-logical page number
LD L,A
LD A,(HL)
AND 16
LD BC,#1FFD
OUT(C),A
LD A,(HL)
OR 16
LD B,#7F
OUT(C),A
POP HL
POP B.C.
RET
PAGES DEFB 0,1,3,4,6,7
DEFB #12,#13,#14,#15,#16,#17
; Driver length should not exceed
;127 bytes. It is allowed to change only the re-
;hyster pair AF. The output is a zero flag
;Z must be in NZ state.
;If there is a real-time chip-
;there is no way to record current
;date and time when recording MS-DOS files
;instead of the date 28.02.00 and time 21:20.; Real time implementation:
;when switching pages is done
;CALL #5B01 with flag C cleared. Before
;the MS-DOS file header entry is made
;CALL #5B01 with flag C raised, and in
;A - current page. Thus
;supports compatibility with old
;driver TRMSDRV.
; So, here's the procedure:
;- if flag C=0, then turn on the page,
; whose number is in register A
;- if flag C=1, then write below
; The listed registers have the following values:
; nia:
; B - hour (0-23)
; C - minute (0-59)
; D - month (1-12)
; E - day (1-31)
; L - year (0-99)
; Attention! If the chip is real
;time stores values in BCD format,
;then they need to be converted to HEX format!
TIME LD D,%00100000
RST 8 : DB #89
LD C,B : LD B,E
PUSH BC
LD D,%00100001
RST 8 : DB #89
LD L,E
LD E,C
LD D,B
POP B.C.
RET
╘═══< End file: trmsdrv .asm >════════════
Have a nice connection Denis...