Click Here
home features news forums classifieds faqs links search
6144 members 
Amiga Q&A /  Free for All /  Emulation /  Gaming / (Latest Posts)
Login

Nickname

Password

Lost Password?

Don't have an account yet?
Register now!

Support Amigaworld.net
Your support is needed and is appreciated as Amigaworld.net is primarily dependent upon the support of its users.
Donate

Menu
Main sections
Home
Features
News
Forums
Classifieds
Links
Downloads
Extras
OS4 Zone
IRC Network
AmigaWorld Radio
Newsfeed
Top Members
Amiga Dealers
Information
About Us
FAQs
Advertise
Polls
Terms of Service
Search

IRC Channel
Server: irc.amigaworld.net
Ports: 1024,5555, 6665-6669
SSL port: 6697
Channel: #Amigaworld
Channel Policy and Guidelines

Who's Online
75 crawler(s) on-line.
 26 guest(s) on-line.
 3 member(s) on-line.


 utri007,  matthey,  AmiDARK

You are an anonymous user.
Register Now!
 matthey:  1 min ago
 utri007:  3 mins ago
 AmiDARK:  4 mins ago
 Hitman:  8 mins ago
 Cheese:  8 mins ago
 kolla:  11 mins ago
 duga:  17 mins ago
 AP:  32 mins ago
 sibbi:  34 mins ago
 cap:  36 mins ago

/  Forum Index
   /  Amiga General Chat
      /  Hollywood 9 on Kickstart 1.2!!!
Register To Post

PosterThread
softwarefailure 
Hollywood 9 on Kickstart 1.2!!!
Posted on 27-Mar-2021 12:32:25
#1 ]
Member
Joined: 16-Feb-2004
Posts: 78
From: Germany



Sorry, that thread title was just a clickbait :)

But did you know that the Kickstart 1.x "Insert floppy" image was actually a vector image? Once again, Amiga was truly ahead of its time. Commodore engineers chose to use a vector image to save disk space. This was recently discussed here. And another user posted the raw vector data and described the algorithm how to render it here. Of course I had to implement this in Hollywood. Took just a few minutes.

Here it is, ready for pasting into Hollywood 9: (note that Hollywood 9 is strictly required because it uses the groovy new palette mode!)


/* ported to Hollywood from an explanation of the algorithm here: https://retrocomputing.stackexchange.com/a/13940 */

@PALETTE 1, {Colors = {#WHITE, #BLACK, $7777CC, $BBBBBB}}
@DISPLAY {Palette = 1}

q = SystemRequest("Hollywood", "Quick or slow draw?", "Quick|Slow")

t = {$FF, $01, $23, $0B, $3A, $0B, $3A, $21, $71, $21, $71, $0B, $7D, $0B, $88, $16, $88, $5E, $7F, $5E, $7F, $38, $40, $38,
$3E, $36, $35, $36, $34, $38, $2D, $38, $2D, $41, $23, $48, $23, $0B, $FE, $02, $25, $45, $FF, $01, $21, $48, $21, $0A,
$7E, $0A, $8A, $16, $8A, $5F, $56, $5F, $56, $64, $52, $6C, $4E, $71, $4A, $74, $44, $7D, $3C, $81, $3C, $8C, $0A, $8C,
$0A, $6D, $09, $6D, $09, $51, $0D, $4B, $14, $45, $15, $41, $19, $3A, $1E, $37, $21, $36, $21, $36, $1E, $38, $1A, $3A,
$16, $41, $15, $45, $0E, $4B, $0A, $51, $0A, $6C, $0B, $6D, $0B, $8B, $28, $8B, $28, $76, $30, $76, $34, $72, $34, $5F,
$32, $5C, $32, $52, $41, $45, $41, $39, $3E, $37, $3B, $37, $3E, $3A, $3E, $41, $3D, $42, $36, $42, $33, $3F, $2A, $46,
$1E, $4C, $12, $55, $12, $54, $1E, $4B, $1A, $4A, $17, $47, $1A, $49, $1E, $4A, $21, $48, $FF, $01, $32, $3D, $34, $36,
$3C, $37, $3D, $3A, $3D, $41, $36, $41, $32, $3D, $FF, $01, $33, $5C, $33, $52, $42, $45, $42, $39, $7D, $39, $7D, $5E,
$34, $5E, $33, $5A, $FF, $01, $3C, $0B, $6F, $0B, $6F, $20, $3C, $20, $3C, $0B, $FF, $01, $60, $0E, $6B, $0E, $6B, $1C,
$60, $1C, $60, $0E, $FE, $03, $3E, $1F, $FF, $01, $62, $0F, $69, $0F, $69, $1B, $62, $1B, $62, $0F, $FE, $02, $63, $1A,
$FF, $01, $2F, $39, $32, $39, $32, $3B, $2F, $3F, $2F, $39, $FF, $01, $29, $8B, $29, $77, $30, $77, $35, $72, $35, $69,
$39, $6B, $41, $6B, $41, $6D, $45, $72, $49, $72, $49, $74, $43, $7D, $3B, $80, $3B, $8B, $29, $8B, $FF, $01, $35, $5F,
$35, $64, $3A, $61, $35, $5F, $FF, $01, $39, $62, $35, $64, $35, $5F, $4A, $5F, $40, $69, $3F, $69, $41, $67, $3C, $62,
$39, $62, $FF, $01, $4E, $5F, $55, $5F, $55, $64, $51, $6C, $4E, $70, $49, $71, $46, $71, $43, $6D, $43, $6A, $4E, $5F,
$FF, $01, $44, $6A, $44, $6D, $46, $70, $48, $70, $4C, $6F, $4D, $6C, $49, $69, $44, $6A, $FF, $01, $36, $68, $3E, $6A,
$40, $67, $3C, $63, $39, $63, $36, $65, $36, $68, $FF, $01, $7E, $0B, $89, $16, $89, $5E, $FE, $01, $22, $0B, $FE, $01,
$3B, $0B, $FE, $01, $61, $0F, $FE, $01, $6A, $1B, $FE, $01, $70, $0F, $FE, $01, $7E, $5E, $FE, $01, $4B, $60, $FE, $01,
$2E, $39, $FF, $FF}

CreateBrush(1, 160, 150, {Palette = 1})
SelectBrush(1)

Repeat
Local x = t[i]
Local y = t[i+1]

If x = 255

If y = 255 Then Break

SetDrawPen(y)
drawing = False

ElseIf x = 254

drawing = False

EndSelect
FloodFill(1, t[i+2], t[i+3], 1, y)

If Not q
DisplayBrush(1, #CENTER, #CENTER, {ScaleX = 2, ScaleY = 2, AnchorX = 0.5, AnchorY = 0.5})
Wait(25)
EndIf

SelectBrush(1)

i = i + 2

ElseIf drawing = True

Line(lx, ly, x, y)

If Not q
DisplayBrush(1, #CENTER, #CENTER, {ScaleX = 2, ScaleY = 2, AnchorX = 0.5, AnchorY = 0.5})
Wait(25)
SelectBrush(1)
EndIf

Else
drawing = True
EndIf

lx = x
ly = y

i = i + 2
Forever

DisplayBrush(1, #CENTER, #CENTER, {ScaleX = 2, ScaleY = 2, AnchorX = 0.5, AnchorY = 0.5})
WaitLeftMouse
End


The cool thing is that I added a slow draw option which waits after each cycle so you can see how this iconic image is drawn piece by piece, just like your good old A500 would have drawn it! Isn't that great?

 Status: Offline
Profile     Report this post  
Tuxedo 
Re: Hollywood 9 on Kickstart 1.2!!!
Posted on 28-Mar-2021 11:08:53
#2 ]
Elite Member
Joined: 28-Nov-2003
Posts: 2326
From: Perugia, ITALY

@softwarefailure

really nice!

_________________
Simone"Tuxedo"Monsignori, Perugia, ITALY.

 Status: Offline
Profile     Report this post  

[ home ][ about us ][ privacy ] [ forums ][ classifieds ] [ links ][ news archive ] [ link to us ][ user account ]
Copyright (C) 2000 - 2019 Amigaworld.net.
Amigaworld.net was originally founded by David Doyle