<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://oldwiki.cpcwiki.eu/index.php?action=history&amp;feed=atom&amp;title=Programming%3ASimple_Split_Raster_Example_1</id>
		<title>Programming:Simple Split Raster Example 1 - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://oldwiki.cpcwiki.eu/index.php?action=history&amp;feed=atom&amp;title=Programming%3ASimple_Split_Raster_Example_1"/>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Programming:Simple_Split_Raster_Example_1&amp;action=history"/>
		<updated>2026-08-28T10:51:54Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.25.1</generator>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=Programming:Simple_Split_Raster_Example_1&amp;diff=15057&amp;oldid=prev</id>
		<title>CPCLER at 08:01, 14 March 2007</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=Programming:Simple_Split_Raster_Example_1&amp;diff=15057&amp;oldid=prev"/>
				<updated>2007-03-14T08:01:57Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
;;&lt;br /&gt;
;; (c) Kevin Thacker 2001,2002&lt;br /&gt;
;;&lt;br /&gt;
;; This source is released under the GNU Public License v2.&lt;br /&gt;
&lt;br /&gt;
org &amp;amp;8000&lt;br /&gt;
nolist&lt;br /&gt;
&lt;br /&gt;
.scr_set_mode equ &amp;amp;bc0e&lt;br /&gt;
&lt;br /&gt;
;;----------------------------------------&lt;br /&gt;
;; set the screen mode&lt;br /&gt;
&lt;br /&gt;
ld a,1&lt;br /&gt;
call scr_set_mode&lt;br /&gt;
&lt;br /&gt;
;;----------------------------------------&lt;br /&gt;
;; expand the visible display so that the whole raster can be seen&lt;br /&gt;
&lt;br /&gt;
ld bc,&amp;amp;bc01&lt;br /&gt;
out (c),c&lt;br /&gt;
ld bc,&amp;amp;bd00+48&lt;br /&gt;
out (c),c&lt;br /&gt;
ld bc,&amp;amp;bc02&lt;br /&gt;
out (c),c&lt;br /&gt;
ld bc,&amp;amp;bd00+48&lt;br /&gt;
out (c),c&lt;br /&gt;
&lt;br /&gt;
;;----------------------------------------&lt;br /&gt;
;; initialise interrupts&lt;br /&gt;
;;&lt;br /&gt;
;; setup a dummy interrupt handler&lt;br /&gt;
&lt;br /&gt;
di						;; disable interrupts&lt;br /&gt;
im 1					;; interrupt mode 1&lt;br /&gt;
ld hl,&amp;amp;c9fb				;; C9:FB corresponds to the instructions EI:RET&lt;br /&gt;
ld (&amp;amp;0038),hl			;; write instructions to interrupt vector&lt;br /&gt;
ei						;; enable interrupts&lt;br /&gt;
&lt;br /&gt;
;;----------------------------------------&lt;br /&gt;
;; set the border colour to black&lt;br /&gt;
&lt;br /&gt;
ld bc,&amp;amp;7f10&lt;br /&gt;
out (c),c&lt;br /&gt;
ld bc,&amp;amp;7f54&lt;br /&gt;
out (c),c&lt;br /&gt;
&lt;br /&gt;
;;----------------------------------------&lt;br /&gt;
;; the main loop which displays the raster&lt;br /&gt;
&lt;br /&gt;
.main_loop&lt;br /&gt;
;;----------------------------------------&lt;br /&gt;
;; wait for the start of the vsync&lt;br /&gt;
&lt;br /&gt;
ld b,&amp;amp;f5&lt;br /&gt;
.ml1&lt;br /&gt;
in a,(c)&lt;br /&gt;
rra&lt;br /&gt;
jr nc,ml1&lt;br /&gt;
&lt;br /&gt;
;;----------------------------------------&lt;br /&gt;
;; use halt to delay until the position we want&lt;br /&gt;
;; on the display&lt;br /&gt;
&lt;br /&gt;
halt&lt;br /&gt;
&lt;br /&gt;
halt&lt;br /&gt;
&lt;br /&gt;
halt&lt;br /&gt;
&lt;br /&gt;
halt&lt;br /&gt;
&lt;br /&gt;
;;------------------------------------&lt;br /&gt;
;; delay so that the first colour change is invisible (it occurs&lt;br /&gt;
;; during the horizontal flyback)&lt;br /&gt;
defs 28&lt;br /&gt;
&lt;br /&gt;
;;------------------------------------&lt;br /&gt;
;; select the pen index to change the colour of&lt;br /&gt;
ld bc,&amp;amp;7f00&lt;br /&gt;
out (c),c&lt;br /&gt;
&lt;br /&gt;
;;------------------------------------&lt;br /&gt;
;; change the colours&lt;br /&gt;
             &lt;br /&gt;
ld hl,raster_colours	  ;; table of colours for all split rasters&lt;br /&gt;
&lt;br /&gt;
ld e,7                    ;; number of complete scanlines that the split rasters&lt;br /&gt;
                          ;; cover&lt;br /&gt;
&lt;br /&gt;
.rl&lt;br /&gt;
inc b&lt;br /&gt;
outi                      ;; [5] set colour for split raster 1                 &lt;br /&gt;
defs 4						;; delay a little (controls the width of the split raster)&lt;br /&gt;
&lt;br /&gt;
inc b&lt;br /&gt;
outi                      ;; [5] set colour for split raster 2&lt;br /&gt;
defs 4&lt;br /&gt;
&lt;br /&gt;
inc b&lt;br /&gt;
outi                      ;; [5] set colour for split raster 3&lt;br /&gt;
defs 4&lt;br /&gt;
&lt;br /&gt;
inc b&lt;br /&gt;
outi                      ;; [5] set colour for split raster 4&lt;br /&gt;
defs 4&lt;br /&gt;
&lt;br /&gt;
inc b&lt;br /&gt;
outi                      ;; [5] set colour for split raster 5&lt;br /&gt;
defs 4&lt;br /&gt;
&lt;br /&gt;
;; delay so that the colour change for raster 1 is aligned with&lt;br /&gt;
;; the previous colour change for raster 1.&lt;br /&gt;
&lt;br /&gt;
defs 64-50-1-3&lt;br /&gt;
&lt;br /&gt;
;; loop for next line of each of the split raster's&lt;br /&gt;
&lt;br /&gt;
dec e                     ;; [1]&lt;br /&gt;
jp nz,rl                  ;; [3]&lt;br /&gt;
&lt;br /&gt;
;;------------------------------------&lt;br /&gt;
;; reset the pen back to black&lt;br /&gt;
&lt;br /&gt;
ld bc,&amp;amp;7f54&lt;br /&gt;
out (c),c&lt;br /&gt;
&lt;br /&gt;
;;------------------------------------&lt;br /&gt;
;; and loop again to refresh the raster&lt;br /&gt;
&lt;br /&gt;
jp main_loop&lt;br /&gt;
&lt;br /&gt;
;;------------------------------------&lt;br /&gt;
;; raster 1 is made of blues&lt;br /&gt;
;; raster 2 is made of reds&lt;br /&gt;
;; raster 3 is made of greens&lt;br /&gt;
;; raster 4 is made of yellows&lt;br /&gt;
;; raster 5 is made of purples&lt;br /&gt;
&lt;br /&gt;
;; These bytes are in a format ready to be sent direct&lt;br /&gt;
;; to the hardware.&lt;br /&gt;
;;&lt;br /&gt;
.raster_colours&lt;br /&gt;
defb &amp;amp;44                  ;; raster 1 line 1&lt;br /&gt;
defb &amp;amp;5c                  ;; raster 2 line 1&lt;br /&gt;
defb &amp;amp;56                  ;; raster 3 line 1&lt;br /&gt;
defb &amp;amp;5e                  ;; raster 4 line 1&lt;br /&gt;
defb &amp;amp;58                  ;; raster 5 line 1&lt;br /&gt;
defb &amp;amp;55                  ;; raster 1 line 2&lt;br /&gt;
defb &amp;amp;4c                  ;; raster 2 line 2&lt;br /&gt;
defb &amp;amp;52                  ;; raster 3 line 2&lt;br /&gt;
defb &amp;amp;4a                  ;; raster 4 line 2&lt;br /&gt;
defb &amp;amp;45                  ;; raster 5 line 2&lt;br /&gt;
defb &amp;amp;57                  ;; raster 1 line 3&lt;br /&gt;
defb &amp;amp;4e                  ;; raster 2 line 3&lt;br /&gt;
defb &amp;amp;59                  ;; raster 3 line 3&lt;br /&gt;
defb &amp;amp;43                  ;; raster 4 line 3&lt;br /&gt;
defb &amp;amp;4f                  ;; raster 5 line 3&lt;br /&gt;
defb &amp;amp;4b                  ;; raster 1 line 4&lt;br /&gt;
defb &amp;amp;4b                  ;; raster 2 line 4&lt;br /&gt;
defb &amp;amp;4b                  ;; raster 3 line 4&lt;br /&gt;
defb &amp;amp;4b                  ;; raster 4 line 4&lt;br /&gt;
defb &amp;amp;4b                  ;; raster 5 line 4&lt;br /&gt;
defb &amp;amp;57                  ;; raster 1 line 5&lt;br /&gt;
defb &amp;amp;4e                  ;; raster 2 line 5&lt;br /&gt;
defb &amp;amp;59                  ;; raster 3 line 5&lt;br /&gt;
defb &amp;amp;43                  ;; raster 4 line 5&lt;br /&gt;
defb &amp;amp;4f                  ;; raster 5 line 5&lt;br /&gt;
defb &amp;amp;55                  ;; raster 1 line 6&lt;br /&gt;
defb &amp;amp;4c                  ;; raster 2 line 6&lt;br /&gt;
defb &amp;amp;52                  ;; raster 3 line 6&lt;br /&gt;
defb &amp;amp;4a                  ;; raster 4 line 6&lt;br /&gt;
defb &amp;amp;45                  ;; raster 5 line 6&lt;br /&gt;
defb &amp;amp;44                  ;; raster 1 line 7&lt;br /&gt;
defb &amp;amp;5c                  ;; raster 2 line 7&lt;br /&gt;
defb &amp;amp;56                  ;; raster 3 line 7&lt;br /&gt;
defb &amp;amp;5e                  ;; raster 4 line 7&lt;br /&gt;
defb &amp;amp;58                  ;; raster 5 line 7&lt;br /&gt;
.end_raster_colours&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Programming]]&lt;/div&gt;</summary>
		<author><name>CPCLER</name></author>	</entry>

	</feed>