;================
; Screen Compact ;================ ; ; image src : &c000 ; datas dest : &6000 ; ; pic length : word(&a400)+70 ; To display pic : load "filename",&6000 ; ; call &6000 ; ; http://CPCrulez.fr org #a100 ld bc,#0000 ld hl,#6040 ld ix,#c000 .la10a ld a,(ix+#00) cp (ix+#01) jr nz,la15a cp (ix+#02) jr nz,la15a cp (ix+#03) jr nz,la15a ld (hl),#6e inc hl ld (hl),#86 inc hl ld (hl),a push hl ld c,#01 ld (#a400),ix ld hl,(#a400) .la12d inc hl inc c push af ld a,h and a jr z,la14f ld a,c and a jr z,la13f pop af cp (hl) jr z,la12d dec c jr la142 .la13f ld c,#ff pop af .la142 ld (#a402),hl pop hl inc hl ld (hl),c inc hl ld ix,(#a402) jr la10a .la14f dec c pop af pop hl inc hl ld (hl),c ld (#a400),hl jp la19a .la15a ld a,(ix+#00) ld (hl),a inc ix inc hl ld (#a400),ix push hl ld hl,(#a400) ld de,#fffd sbc hl,de jr nz,la184 pop hl ld a,(ix+#00) ld (hl),a inc hl ld a,(ix+#01) ld (hl),a inc hl ld a,(ix+#02) ld (hl),a ld (#a400),hl jr la19a .la184 pop hl cp #6e jp nz,la10a ld a,(ix+#00) cp #86 jp nz,la10a ld a,#46 ld (ix+#00),a jp la10a .la19a ld hl,la1b0 ld de,#6000 ld bc,#003a ldir ret ld a,(hl) cp #6e jr z,la1b3 ld (de),a inc hl inc de ld a,d and a .la1b0 ld hl,#6040 .la1b3 ld de,#c000 .la1b6 ld a,(hl) cp #6e jr z,la1c3 ld (de),a inc hl .la1bd inc de ld a,d and a jr nz,la1b6 ret .la1c3 inc hl push af ld a,(hl) cp #86 jr z,la1ce pop af ld (de),a jr la1bd .la1ce pop af inc hl ld a,(hl) inc hl ld b,(hl) .la1d3 ld (de),a inc de djnz la1d3 ld a,d and a jr z,la1de inc hl jr la1b6 .la1de ret |