Difference between revisions of "Forrest picture"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
Line 5: Line 5:
 
''Original picture''
 
''Original picture''
  
[[Image:Forrest original.gif|320px|Picture drawn by Mr. Lous girlfriend]]
+
[[Image:Forrest picture.png|320px|Picture drawn by Mr. Lous girlfriend]]
  
 
''Picture using rasters''
 
''Picture using rasters''

Revision as of 03:38, 12 October 2009

Forrest Picture is a picture drawn by Mr. Lous girlfriend, and is a demonstration on how to use the graphic abilities of the CPC.

The picture uses mode 1 of the CPC. The graphic mode is limited to 4 simultanious colors. After publication the picture became the subject on how to break the 4 colour limit in mode 1 using rasters. Subsequent T&J wrote a small program showing how the picture would look like using rasters generated by the gate array.

Original picture

Picture drawn by Mr. Lous girlfriend

Picture using rasters

Picture using raster routine by T&J

Sourcecode

<geshi lang=z80>

Example of rasters in a MODE 1 screen
T&J/GPA in 2009
Done under WINAPE
Not tested on a real CPC, so maybe it needs some timing adjustments
Wait for Color Lines ! Rasters inside !!

ORG &9000 NOLIST WRITE "RASTERS.BIN"

black equ &54 grey equ &41 green_19 equ &51 red_6 equ &4C blue_1 equ &44 blue_11 equ &57 blue_14 equ &5F bleu_clair equ &53

violet equ &58

JP booter

save38 defw &0

Booter DI LD HL,(&38) LD (save38),HL LD HL,&C9FB LD (&38),HL EI


main DI LD B,&F5 sync IN A,(C) RRA JR NC,sync

CALL scan_spacekey CP &7F JP Z,endit

LD BC,&7F02  ; sky OUT (C),C LD A,blue_11 OUT (C),A

EI

HALT

HALT

LD HL,&FDD0 wait1 INC HL LD A,H AND A JR NZ,wait1

LD BC,&7F02 OUT (C),C LD A,&5F OUT (C),A

HALT HALT

LD HL,&FFC0 wait2 INC HL LD A,H AND A JR NZ,wait2

LD BC,&7F02 ; board of the lake OUT (C),C LD A,grey OUT (C),A

LD HL,&FF74 wait3 INC HL LD A,H AND A JR NZ,wait3

LD BC,&7F02 OUT (C),C

LD D,green_19 LD E,red_6

DI

LD A,&40

split1 OUT (C),E  ; red mushrooms PUSH AF NOP NOP NOP NOP NOP OUT (C),D  ; green mushroom

NOP NOP NOP

LD A,&9 waitsp1 DEC A JR NZ,waitsp1

POP AF DEC A JR NZ,split1

JP main

endit

LD BC,&7F02  ; sky OUT (C),C LD A,blue_14 OUT (C),A

LD HL,(save38) DI LD (&38),HL EI RET

scan_spacekey

LD BC,&F40E OUT (C),C LD BC,&F6C0 OUT (C),C LD C,&0 OUT (C),C LD BC,&F792 OUT (C),C LD BC,&F645 OUT (C),C LD B,&F4 IN A,(C) LD BC,&F782 OUT (C),C LD BC,&F600 OUT (C),C RET </geshi>

Download