<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://c64mags.untergrund.net/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://c64mags.untergrund.net/wiki/index.php?action=history&amp;feed=atom&amp;title=Skyhigh_07_ch12_Mixed</id>
		<title>Skyhigh 07 ch12 Mixed - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://c64mags.untergrund.net/wiki/index.php?action=history&amp;feed=atom&amp;title=Skyhigh_07_ch12_Mixed"/>
		<link rel="alternate" type="text/html" href="http://c64mags.untergrund.net/wiki/index.php?title=Skyhigh_07_ch12_Mixed&amp;action=history"/>
		<updated>2026-05-19T01:43:26Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.19.0</generator>

	<entry>
		<id>http://c64mags.untergrund.net/wiki/index.php?title=Skyhigh_07_ch12_Mixed&amp;diff=2656&amp;oldid=prev</id>
		<title>Ymgve at 14:50, 23 June 2007</title>
		<link rel="alternate" type="text/html" href="http://c64mags.untergrund.net/wiki/index.php?title=Skyhigh_07_ch12_Mixed&amp;diff=2656&amp;oldid=prev"/>
				<updated>2007-06-23T14:50:09Z</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;                  mixed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    about the making of skyhigh #6.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
howdy hackers, this is RAZ/CAMELOT with&lt;br /&gt;
some coder-info about the new oufit of&lt;br /&gt;
skyhigh.&lt;br /&gt;
&lt;br /&gt;
at the time i was asked to do the new&lt;br /&gt;
outfit, i'd just finished coding the&lt;br /&gt;
camelot mag 'REVEALED' and i was sick&lt;br /&gt;
and tried of disc-mags. however, i deci-&lt;br /&gt;
ded to do it anyway. some days later i&lt;br /&gt;
recived a disc from biz kid containing&lt;br /&gt;
all the things i needed to make the mag.&lt;br /&gt;
at the time i'd allready decided to make&lt;br /&gt;
a desktop menu, and the disc contained&lt;br /&gt;
the graphics, music and 4 test chapters.&lt;br /&gt;
i started to code the mag on a quite&lt;br /&gt;
lazy wednesday and this is how i did it:&lt;br /&gt;
&lt;br /&gt;
DAY 1.&lt;br /&gt;
&lt;br /&gt;
 biz kid had drawn some icons for the&lt;br /&gt;
menu, but they was in a 'wrong' format&lt;br /&gt;
and i therefore had to manipulate them&lt;br /&gt;
a bit. they was drawn in the way:&lt;br /&gt;
+$00,+$40,+$80,+$c0 meaning icon 1 was&lt;br /&gt;
build of $01,$41,$81,$c1. but i needed&lt;br /&gt;
to put some letters in the charset as&lt;br /&gt;
well. i made a small program (in basic)&lt;br /&gt;
that re-arranged the icons into another&lt;br /&gt;
format (+$00,+$01,+$02,+$03. icon 1 =&lt;br /&gt;
$04,$05,$06,$07). finally i copied the&lt;br /&gt;
icons into char.pos $80-$ff. i'd now&lt;br /&gt;
made the lower half of the charset&lt;br /&gt;
free for some letters. biz kid had sent&lt;br /&gt;
me the letter-charset (this one) and i&lt;br /&gt;
now merged them into the lower half of&lt;br /&gt;
my menu-charset.&lt;br /&gt;
 the next thing i did was drawing the&lt;br /&gt;
frames for the windows. (yes they are&lt;br /&gt;
made by me !!! hurray, hurray i bet i'll&lt;br /&gt;
now enter the graphics charts!!). final-&lt;br /&gt;
ly i inverted the letters and copied&lt;br /&gt;
them into char.pos $40-$7f. i'd now got&lt;br /&gt;
2 set of letters: one normal and one in&lt;br /&gt;
revers. the next thing i did was to de-&lt;br /&gt;
sign the main-menu screen.&lt;br /&gt;
 the routines for moving the arrow and&lt;br /&gt;
selecting the icons was very easily done&lt;br /&gt;
because the main technique is simple:&lt;br /&gt;
&lt;br /&gt;
first of all you transform the sprite-&lt;br /&gt;
coordinates into screen (x,y) coors.&lt;br /&gt;
the first y-spr coor visible on the&lt;br /&gt;
screen (below the top border) is #50&lt;br /&gt;
(#$32). therefore you subtract #$32 and&lt;br /&gt;
then all you have to do is dividing with&lt;br /&gt;
8. (the screen lines are 8x8 pixels wide&lt;br /&gt;
, and you want to determine at which&lt;br /&gt;
scr-pos the sprite is):&lt;br /&gt;
&lt;br /&gt;
              lda ypos&lt;br /&gt;
              sec&lt;br /&gt;
              sbc #$32&lt;br /&gt;
              lsr a&lt;br /&gt;
              lsr a&lt;br /&gt;
              lsr a&lt;br /&gt;
&lt;br /&gt;
the first x-spr coor visible is #24&lt;br /&gt;
(#$18), and that means that it's pos-&lt;br /&gt;
sible to subtract #$03 (3*8 =24 =#$18)&lt;br /&gt;
in the end. the main problem is the 9th&lt;br /&gt;
bit ($d010). this can be solved by using&lt;br /&gt;
some bit-manipulating:&lt;br /&gt;
&lt;br /&gt;
              lda $d010&lt;br /&gt;
              and #%00000001 ;sprite 0&lt;br /&gt;
                             ;in this&lt;br /&gt;
                             ;example.&lt;br /&gt;
              lsr a  ;9th bit is rota-&lt;br /&gt;
                     ;ted into carry.&lt;br /&gt;
              lda xpos&lt;br /&gt;
              ror a  ;carry is rotated&lt;br /&gt;
                     ;into 8th bit.&lt;br /&gt;
              lsr a&lt;br /&gt;
              lsr a&lt;br /&gt;
              sec&lt;br /&gt;
              sbc #$03&lt;br /&gt;
&lt;br /&gt;
and now you've got the spr-coors in scr-&lt;br /&gt;
coors. easy.&lt;br /&gt;
&lt;br /&gt;
the next thing i did was to make some&lt;br /&gt;
tables with the x,y coordinates of the&lt;br /&gt;
icons (and of the value to be returned&lt;br /&gt;
if the icon is activated).&lt;br /&gt;
&lt;br /&gt;
i made most of the menu fade up effects&lt;br /&gt;
this day and actually, this was what&lt;br /&gt;
took must time to do.&lt;br /&gt;
&lt;br /&gt;
by the way: in this mag i DO NOT USE ANY&lt;br /&gt;
INTERUPTS AT ALL. heck knows why, i just&lt;br /&gt;
felt in the mood. (ok: it was the easies&lt;br /&gt;
way of doing it).&lt;br /&gt;
&lt;br /&gt;
2.SAY:&lt;br /&gt;
&lt;br /&gt;
i spent most of the time coding the fade&lt;br /&gt;
up effects of the upscroller. the main&lt;br /&gt;
techniques used are:&lt;br /&gt;
&lt;br /&gt;
LOGO FADE UP:&lt;br /&gt;
&lt;br /&gt;
the lo-res logo is covered with 14 x-&lt;br /&gt;
expaned black sprites. the sprites is&lt;br /&gt;
animated in a sequence which they disa-&lt;br /&gt;
pear revealing the logo. quite easy code&lt;br /&gt;
but it took me a while making everything&lt;br /&gt;
run 100% smooth (timing!!).&lt;br /&gt;
&lt;br /&gt;
UPSROLLER:&lt;br /&gt;
&lt;br /&gt;
 in order to make everything look/feel&lt;br /&gt;
smooth i placed 7 black sprites (8 pix-&lt;br /&gt;
els high) just below the headline. the&lt;br /&gt;
text then scrolls into coverage of the&lt;br /&gt;
sprites and disapears perfectly smooth.&lt;br /&gt;
i did it this way because i'm a lazy&lt;br /&gt;
person who prefer most thing the easies&lt;br /&gt;
way.&lt;br /&gt;
 when the text is faded in, all i do is&lt;br /&gt;
moving the black sprites from the bottem&lt;br /&gt;
and up lighting the textline under the&lt;br /&gt;
sprites.&lt;br /&gt;
&lt;br /&gt;
the final thing i did this day was to&lt;br /&gt;
code the upscroller routine itself.&lt;br /&gt;
i haven't got much to say about the&lt;br /&gt;
upscroller it self but this: REMEMBER to&lt;br /&gt;
set $01 to the right value if some of&lt;br /&gt;
the text is placed 'underneath' the rom&lt;br /&gt;
($a000-$bfff, $e000-$ffff) or the i/o&lt;br /&gt;
area ($d000-$dfff).&lt;br /&gt;
&lt;br /&gt;
3.DAY:&lt;br /&gt;
&lt;br /&gt;
 well not much to say: this day i debug-&lt;br /&gt;
ged the whole thing (making all the up/&lt;br /&gt;
down fade routines work smoothly toget-&lt;br /&gt;
her was the hardest thing), installed&lt;br /&gt;
the loader/decrunch routine and finally&lt;br /&gt;
installed the musics.&lt;br /&gt;
&lt;br /&gt;
 debugging is a boring event. very&lt;br /&gt;
boring. i just get so damn angry at my&lt;br /&gt;
own routines when they don't work the&lt;br /&gt;
way i want them to. arrrrrrgh. by the&lt;br /&gt;
way: i'd forgotten to set $01 to #$36&lt;br /&gt;
and therefore the text in the area&lt;br /&gt;
$a000-$bfff fucked up. bummer!.&lt;br /&gt;
&lt;br /&gt;
 making the music run 100% smooth was a&lt;br /&gt;
bit hard (i don't use any interupts in&lt;br /&gt;
this mag, remember?), but as you see&lt;br /&gt;
(hear) i made it.&lt;br /&gt;
&lt;br /&gt;
 finally i mailed it to biz kid.&lt;br /&gt;
&lt;br /&gt;
LAST DAY:&lt;br /&gt;
 a few days (and some phonecalls) later&lt;br /&gt;
a recived a disc from the ever smiling&lt;br /&gt;
biz kid with some graphics that had to&lt;br /&gt;
be changed. only one hard thing among&lt;br /&gt;
this: the 8-colour fli sprite:&lt;br /&gt;
&lt;br /&gt;
FLI SPRITE:&lt;br /&gt;
&lt;br /&gt;
 i had to open the top/bottom border in&lt;br /&gt;
order to use this, and i had to make&lt;br /&gt;
some changes in my code. first of all:&lt;br /&gt;
now the border has gone missing i had to&lt;br /&gt;
place a row of 7 black sprites at the&lt;br /&gt;
last line of the screen. or else the&lt;br /&gt;
text couldn't disapear properly at the&lt;br /&gt;
bottom. however, the fli sprite was to&lt;br /&gt;
be placed a few pixels below this row,&lt;br /&gt;
and i therefore placed the black pixels&lt;br /&gt;
in the lowest part of the sprite.&lt;br /&gt;
 ofcause this isn't hard in theory, but&lt;br /&gt;
it takes quite a few tries to make look&lt;br /&gt;
good and to debug.&lt;br /&gt;
&lt;br /&gt;
by the way: i also changed the colours&lt;br /&gt;
of the main menu this day. (the old ones&lt;br /&gt;
was red/yellow. looking good, but hard&lt;br /&gt;
to see).&lt;br /&gt;
&lt;br /&gt;
the version finished this day is the one&lt;br /&gt;
used in skyhigh #6. MADE IN 4 DAYS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 it was quite fun to make and you hope&lt;br /&gt;
you'll enjoy it as much as i do.&lt;br /&gt;
&lt;br /&gt;
26/9 1993.                        -RAZ.&lt;br /&gt;
&lt;br /&gt;
 -- -- -- -- -- -- -- -- -- -- -- -- --&lt;br /&gt;
ps.&lt;br /&gt;
&lt;br /&gt;
 i'll continue this chapter in the next&lt;br /&gt;
issue, with some words about the updated&lt;br /&gt;
code in issue 7.&lt;br /&gt;
 furthermore, i'll start up my chapter&lt;br /&gt;
about assembler programming in the next&lt;br /&gt;
issue also.&lt;br /&gt;
&lt;br /&gt;
        prepare yourself... .. .&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ymgve</name></author>	</entry>

	</feed>