;************************
;* Driver pour carte AGB*
;*       -19 85-        *
;*   PAR PHILIPPE MOY   *
;* -------------------- *
;*     ORDI5 No 12      *
;*  Mis en memoire par  *
;*       XAVSNAP        *
;************************

org +16514

76 76

JR DEBUT

;PARAMETERES
;-----------
00 00 00 00

;Variables
@CHGMT=+7666 ; ROM<->RAM
@CODER=+16518
@DATA1=+16519
@DATA2=+16520
@DATA3=+16521
@ROMCA=+7680
@DJEU1=+31735
@DJEU0=+32250
@DFILE=+16396

@DEBUT
LD A,(CODER)
CP 1
CALL Z INIT
CP 2
CALL Z AFFIC
CP 3
CALL Z SETBI
CP 4
CALL Z RESET
CP 5
CALL Z JEU0
CP 6
CALL Z JEU1
RET


;************************
@INIT
LD HL, ROMCA
LD DE, DJEU0
LD BC, +512
LDIR

LD HL, ROMCA
LD DE, DJEU1
LD BC, +512
LDIR
CALL JEU0
RET


;************************
@JEU0
LD HL,DJEU0
LD DE,ROMCA
LD BC,+512
LD (CHGMT),A
LDIR
LD (CHGMT),A
RET

;************************
@JEU1
LD HL,DJEU1
LD DE,ROMCA
LD BC,+512
LD (CHGMT),A
LDIR
LD (CHGMT),A
RET

;************************
@AFFIC
LD HL,(DFILE)
LD DE,+208
ADD HL,DE
PUSH HL

LD HL,DJEU1
LD DE,8
SCF
CCF
SBC HL,DE
LD A,(DATA1)
LD B,A
INC B

@AFFI1
ADD HL,DE
DJNZ AFFI1
EX DE,HL
POP HL
LD B,8

@AFFI2
LD A,(DE)
INC DE
PUSH BC
LD B,8

@AFFI3
RLC A
JR NC AFFI4
LD (HL),"*"

@AFFI4
INC HL
DJNZ AFFI3
PUSH DE
LD DE,+25
ADD HL,DE
POP DE
POP BC
DJNZ AFFI2
RET

;************************
@SETBI
LD HL,DJEU1
LD DE,8
CP A
SBC HL,DE
LD A,(DATA1)
LD B,A
INC B

@SETB1
ADD HL,DE
DJNZ SETB1
LD A,(DATA2)
LD B,A
DEC HL
INC B

@SETB0
INC HL
DJNZ SETB0
LD A,(DATA3)
LD B,A
INC B
PUSH BC
LD A,(HL)

@SETB2
RRC A
DJNZ SETB2
SET 7,A
POP BC

@SETB3
RLC A
DJNZ SETB3
LD (HL),A
RET

;************************
@RESET

LD HL,DJEU1
LD DE,8
SCF
CCF
SBC HL,DE

LD A,(DATA1)
LD B,A
INC B

@RESE1
ADD HL,DE
DJNZ RESE1
LD A,(DATA2)
LD B,A
DEC HL
INC B

@RESE0
INC HL
DJNZ RESE0
LD A,(DATA3)
LD B,A
INC B
PUSH BC
LD A,(HL)

@RESE2
RRC A
DJNZ RESE2
RES 7,A
POP BC

@RESE3
RLC A
DJNZ RESE3
LD A,(HL)
RET

;************************
;*************** FIN ****
;************************












