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: owner-sam-us...@nvg.ntnu.no [mailto:owner-sam-us...@nvg.ntnu.no] On
Behalf Of Marcos Cruz
Sent: dinsdag 25 december 2012 02:06
To: sam-users@nvg.ntnu.no
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

Reply via email to