I have a lovely place for all my Z80 source, it's called a 3.5" disk box...
must get it organized some time :-).
In this case it is so short, here it is:
ORG 60000
DUMP $
JP start
DEFM " "
DEFM "GREY-SCALE DITHERER "
DEFM " "
DEFM "This program changes all odd "
DEFM "colour pixels to a stipple "
DEFM "pattern of even colours. "
DEFM " "
DEFM "(C) 1993 Solar Flare of ENTROPY "
DEFM "Completion date: 4 October 1993 "
DEFM "Idea: Robert van der Veeke "
start:
LD HL,32768
loop:
LD B,128
line0:
LD A,(HL)
AND %11101110
CP (HL)
JR Z,nochange
LD A,(HL)
AND %11100000
LD C,A
LD A,(HL)
AND %11110000
CP C
JR Z,leftsame
LD A,(HL)
AND %00001110
LD C,A
LD A,(HL)
AND %00001111
CP C
JR NZ,changeboth
LD A,(HL)
AND %11101110
LD (HL),A
JR nochange
leftsame:
LD A,(HL)
AND %11110000
LD C,A
LD A,(HL)
AND %00001111
INC A
CP 14
JR C,$+4
LD A,%00001110
OR C
LD (HL),A
JR nochange
changeboth:
LD A,(HL)
AND %11100000
LD C,A
LD A,(HL)
AND %00001111
INC A
CP 14
JR C,$+4
LD A,14
OR C
LD (HL),A
nochange:
LD A,(HL)
RRCA
LD (HL),A
INC HL
DJNZ line0
LD B,128
line1:
LD A,(HL)
AND %11101110
CP (HL)
JR Z,nochange1
LD A,(HL)
AND %11110000
LD C,A
LD A,(HL)
AND %11100000
CP C
JR Z,leftsame1
LD A,(HL)
AND %00001110
LD C,A
LD A,(HL)
AND %00001111
CP C
JR NZ,changeboth1
LD A,(HL)
AND %00001110
LD C,A
LD A,(HL)
AND %11110000
ADD 16
JR NC,$+4
LD A,%11100000
AND %11100000
OR C
LD (HL),A
JR nochange1
leftsame1:
LD A,(HL)
AND %11101110
LD (HL),A
JR nochange1
changeboth1:
LD A,(HL)
AND %00001110
LD C,A
LD A,(HL)
AND %11110000
ADD A,16
JR NC,$+4
LD A,%11100000
AND %11100000
OR C
LD (HL),A
nochange1:
LD A,(HL)
RRCA
LD (HL),A
INC HL
DJNZ line1
LD A,H
CP 128+96
JP NZ,loop
RET
-----Original Message-----
From: [email protected] [mailto:[email protected]] On
Behalf Of Marcos Cruz
Sent: dinsdag 25 december 2012 02:06
To: [email protected]
Subject: Re: Which colors for a grayscale?
En/Je/On 2012-12-20 05:00, Stefan Drissen escribió / skribis / wrote :
> I wrote the greyscale ditherer - see
> [1]http://www.worldofsam.org/node/40
Stefan, do you keep the Z80 source? If so, would you share it? I'd like to
adapt your routine to work on any region of the current screen. I'd publish
the modified version with the original credits and a link to its page on
World of Sam. Probably changing some values will be enough, but I didn't try
to disassemble it yet.
Marcos
--
http://programandala.net