ZXNet эхоконференция «code.zx»


тема: оверлей макросов



от: Aleksandr Majorov
кому: All
дата: 05 Jul 1997

Хаюшки, All!
вот вам бяка, там где я покапался есть
коменты.

прога набиралась в ЗАСМЕ (рулез) с
использование его возможностей, посему
или работайте в нём, или ручками-ручками ;-)

╔══════════════ начнём отсюдава ══════════╗
ОВЕРЛЕЙ МАКРОСОВ ДЛЯ IS-DOS

MAKE "ed4+",#6482

LD C,#12: RST 16
LD (LL661E),A

LD A,#7F: IN A,(#FE)
RRA: JR C,LL64A3

LD HL,(LL6591)
RES 3,(HL)
CALL LL6627
LD HL,LL65D8
RST 16
LD C,#08: RST 16
XOR A
PUSH AF
JP LL6610

LL64A3 LD HL,LL65FE
PUSH HL
LL64A8 EQU $+1: LD A,#FF
OR A: JR Z,LL64F6
XOR A
LD IX,#647E
LD C,#36: RST 16
XOR A
LD IX,#5D61
INC C: RST 16: RET C
LD HL,LL65DC
LD C,#34: RST 16: RET C
EXX
LD BC,14: ADD HL,BC
LD E,(HL): INC HL: LD D,(HL)
LD HL,#6E28
LD BC,LL667F

SBC HL,BC
SBC HL,DE: ADD HL,DE
JR NC,LL64E3
EX DE,HL
LD HL,(LL65D4+1)
SET 5,H: SET 5,L
LD (LL65D4+1),HL
LL64E3 LD (LL650C),DE
LD IX,LL667F
XOR A
SBC HL,HL
LD C,#29: RST 16: RET C
XOR A: LD (LL6607),A
LL64F6 CALL LL6627
LD HL,LL65D4
RST 16
LD IX,#6E4E
SET 5,(IX+#11)
CALL #6EE9
LD (LL6513),A
LL650C EQU $+1: LD BC,#0000
LD HL,LL667F
LL6511 LD A,(HL)
LL6513 EQU $+1: CP 0
JR Z,LL6566
LL6516 LD A,(HL): INC HL
LD E,A
DEC BC: LD A,B: OR C: RET Z
LD A,E
CP 13: JR NZ,LL6516
JR LL6511

TIME INC HL: PUSH HL: PUSH DE
CALL GTIME_TXT
JR WND_DT

DATE INC HL: PUSH HL: PUSH DE
CALL GDATE_TXT
WND_DT
LD B,1
EXX
POP DE
LD HL,TXT_BUFF
LD C,#14
CALL LL65AC
POP HL
EXX
JR LL65A7

LL653A INC HL
CALL LL65E7: RET C
EXX
LD B,A
EXX
CALL LL65E7: RET C
LD C,A
JR LL65AC

LL6549 LD A,(HL)
CP "R": JR Z,LL653A
CP "Д": JR Z,DATE

;вот енто я добавил, думаю ясно что это
;за зверь
CP "Т": JR Z,TIME

CALL LL65E7: RET C
RLA: RLA: RLA: RLA
EX AF,AF'
CALL LL65E7: RET C
PUSH BC
LD C,A
EX AF,AF'
OR C
POP BC
JR LL65BF

LL6566 LD E,L: LD D,H

LL6569 EQU $+1: LD A,#FF
OR A: JR Z,LL6590
LD C,#11: RST 16
EXX
LD (LL6591),HL
EXX
LD C,#14: RST 16: RET C
PUSH HL
EXX
LD BC,15: ADD HL,BC
LD A,(HL)
OR A: JR Z,LL6586
LD (LL65C8),A
LL6586 INC HL
LD E,(HL): INC HL
LD D,(HL): INC HL
ADD HL,DE
POP DE
LD (LL6596),HL

LL6590 DI
LL6591 EQU $+1: LD HL,0
SET 3,(HL)
LL6596 EQU $+1: LD HL,0
PUSH HL: POP IX
XOR A
LD (LL6569),A
LD (HL),A: INC HL
LD (HL),A: INC HL
EX DE,HL
INC HL
EXX
LL65A7 LD B,1
EXX
LD C,1
LL65AC LD (LL65B0),HL
EXX

LL65AF EXX
LL65B0 EQU $+1: LD HL,#0000
LD B,C
LL65B3 LD A,(HL): INC HL
CP 13: RET Z
CP ";": RET Z
CP "#": JR Z,LL6549
LL65BF INC (IX+0)
LD (DE),A: INC DE
LD A,(IX+0)
LL65C8 EQU $+1: CP #1F: RET Z
DJNZ LL65B3
EXX: DJNZ LL65AF
JR LL65A7

LL65D4 DB "MAC",13
LL65D8 DB "mac",13
LL65DC DB "ed_mac txt"

LL65E7 LD A,(HL): INC HL
SUB "0": JR C,LL65FA
CP 10: CCF: RET NC
SUB 7
CP 16: JR NC,LL65FA
CP 10: RET NC
LL65FA LD A,#EA: SCF
RET

LL65FE PUSH AF
LD HL,LL64A8
LD A,(HL)
OR A
JR Z,LL6610
LL6607 EQU $+1: LD (HL),#FF
XOR A
LD IX,#647E
LD C,#37: RST 16
LL6610 PUSH AF
CALL LL6627
LD BC,#030A
LL6617 LD A,32: RST 16: DJNZ LL6617

LL661E EQU $+2: LD BC,#001B: RST 16
EI
POP BC: POP AF
RET C
PUSH BC: POP AF
RET

LL6627 LD BC,#081B: RST 16
LD HL,#001A
LD C,#0C
RST 16: LD C,#6C
RET


СОЗДАЕМ СТРОКУ С ДАТОЙ
GDATE_TXT LD C,#45: RST 16: EXX
DEC HL: DEC HL
LD D,(HL): DEC HL: LD E,(HL)

LD HL,TXT_BUFF
LD A,E: AND #1F: CALL DECOD_D

SRL D: LD A,E
RRA: RRA: RRA: RRA: PRA
AND #0F: CALL DECOD_D

LD A,D: ADD A,80: CALL DECOD_D
DEC HL: LD (HL),13
RET

DECOD_D PUSH DE
LD E,A: XOR A: LD D,A
LD A,2
LD BC,#0A7C: RST 16

;здесь был Вася!
LD A,(HL)
CP 32: JR NZ,$+4: LD (HL),"0"
INC HL: INC HL
LD (HL),"-": INC HL
POP DE
RET


; ---- C U T ----
;енто моё добавлние

СОЗДАЕМ СТРОКУ СО ВРЕМЕHЕМ
GTIME_TXT EXX
LD HL,TXT_BUFF
LD A,4: CALL READ_CMOS
LD (HL),":" : INC HL
LD A,2: CALL READ_CMOS
LD (HL),13
RET

READ_CMOS LD BC,#FFF9
LD DE,#3FF0: CALL TR_DOS
LD C,#79
LD DE,#3FF3
CALL TR_DOS
PUSH AF
RRCA: RRCA: RRCA: RRCA
CALL TIME1
POP AF
TIME1 AND 15: ADD A,"0"
LD (HL),A: INC HL
RET

TR_DOS PUSH DE: JP #3D2F
; ---- C U T ----

TXT_BUFF DB "00.00.00",13

LL667F EQU $

╚═════════════ на сегодня хватит ═════════╝

Hу вот и всё...
С уважением, Aleksandr (*MAS*)




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Информбюро - Путеводитель по журналу.
Игрушки - прохождение La abadia del crimen.
Scene - интервью с группой Master Home Computers Group взятое на CAFe'2002.
Кyзmич - Чem oтличaeтcя ceктa oт рeлигии?
Говорят дети - 13 фенечек...

В этот день...   29 марта