diff --git a/graphics/hgr/vgi/Makefile b/graphics/hgr/vgi/Makefile index f300a69b..d897879c 100644 --- a/graphics/hgr/vgi/Makefile +++ b/graphics/hgr/vgi/Makefile @@ -24,7 +24,7 @@ HELLO: hello.bas VGI: vgi.o ld65 -o VGI vgi.o -C $(LINKERSCRIPTS)/apple2_c00.inc -vgi.o: clock.data rocket.data rocket_door.data red_book.data \ +vgi.o: clock.data rocket.data rocket_door.data red_book.data fireplace.data \ vgi.s vgi_clearscreen.s vgi_rectangle.s vgi_circles.s vgi_lines.s \ vgi_triangles.s ca65 -o vgi.o vgi.s -l vgi.lst @@ -55,6 +55,12 @@ red_book.data: make_boxes_asm red_book.vgi echo "red_book_data:" > red_book.data ./make_boxes_asm < red_book.vgi >> red_book.data +### + +fireplace.data: make_boxes_asm fireplace.vgi + echo "fireplace_data:" > fireplace.data + ./make_boxes_asm < fireplace.vgi >> fireplace.data + ### diff --git a/graphics/hgr/vgi/fireplace.vgi b/graphics/hgr/vgi/fireplace.vgi new file mode 100644 index 00000000..e383f98b --- /dev/null +++ b/graphics/hgr/vgi/fireplace.vgi @@ -0,0 +1,137 @@ +; Fireplace from Myst +;CLS 0xAA ; orange background +; bricks bg +RECT 6 4 0 0 46 192 +RECT 6 4 241 0 278 192 +; wood ends +RECT 4 4 46 0 50 192 ; black bg +VSTRP 0xA2 0xC4 53 0 236 192 ; woodgrain bg +FCIRC 4 139 75 22 ; center circle +FCIRC 5 139 79 22 ; center circle +FCIRC 4 76 72 22 ; left circle +FCIRC 5 75 76 22 ; left circle +FCIRC 4 202 70 22 ; right circle +FCIRC 5 208 76 22 ; right circle +VSTRP 0xA2 0xC4 53 0 76 100 ; woodgrain fix left +VSTRP 0xA2 0xC4 208 0 236 100 ; woodgrain fix right +VSTRP 0xA2 0xC4 53 76 236 100 ; woodgrain fix bottom +RECT 4 4 235 0 241 192 ; black right +RECT 5 4 79 82 208 192 ; wood edging +;RECT 4 4 79 0 207 76 ; black window +RECT 7 7 83 89 201 192 ; panel +RECT 4 7 85 89 200 93 ; shade +; brick mortar +POINT 7 24 0 ; L top +LINETO 24 25 +LINETO 44 25 +POINT 7 24 57 ; l mid +LINETO 24 89 +LINETO 46 89 +POINT 7 24 122 ; l bottom +LINETO 24 153 +LINETO 46 153 +POINT 7 24 25 +LINETO 0 13 +POINT 7 46 58 +LINETO 24 57 +LINETO 0 51 +POINT 7 24 90 +LINETO 0 89 +POINT 7 44 123 +LINETO 24 123 +LINETO 0 130 +POINT 7 24 153 +LINETO 0 166 +POINT 7 44 186 +LINETO 24 185 +LINETO 13 191 +; vertical +POINT 7 8 17 +LINETO 8 52 +POINT 7 8 90 +LINETO 8 126 +POINT 7 8 161 +LINETO 8 191 +; right brickwork +POINT 7 279 18 +LINETO 255 26 +LINETO 241 26 +POINT 7 279 54 +LINETO 255 58 +LINETO 242 58 +POINT 7 279 90 +LINETO 240 90 +POINT 7 279 126 +LINETO 255 122 +LINETO 242 122 +POINT 7 279 162 +LINETO 255 152 +LINETO 241 152 +POINT 7 265 191 +LINETO 255 185 +LINETO 241 185 +; right vertical +POINT 7 254 0 +LINETO 254 26 +POINT 7 254 58 +LINETO 254 90 +POINT 7 254 121 +LINETO 254 152 +POINT 7 254 187 +LINETO 254 191 +; button +RECT 6 6 22 94 38 111 ; button back +RECT 2 2 28 100 32 107 ; exit button +; outside +;RECT 5 5 88 18 198 71 ; outside orange +POINT 4 86 35 ; lower line +LINETO 110 42 +LINETO 164 42 +LINETO 199 34 +POINT 4 87 28 ; next line +LINETO 114 36 +LINETO 161 37 +LINETO 198 27 +POINT 4 86 23 +LINETO 114 32 +LINETO 162 31 +LINETO 198 22 +POINT 4 100 18 +LINETO 114 23 +LINETO 165 23 +LINETO 180 16 +RECT 4 4 114 17 164 20 ; ceiling hole +; pillars +RECT 5 5 105 44 113 71 ; left pillar +RECT 5 5 165 44 175 71 ; right pillar +; chandelier +POINT 6 137 19 +LINETO 140 29 +LINETO 145 32 +LINETO 149 31 +LINETO 149 24 +POINT 6 136 19 +LINETO 139 32 +LINETO 138 40 +LINETO 130 28 +LINETO 129 21 +; lights +RECT 7 7 145 19 147 22 +RECT 7 7 142 24 144 27 +RECT 7 7 134 26 136 29 +RECT 7 7 128 19 130 22 +; recess +RECT 4 4 116 44 163 49 ; recess +; lights +RECT 7 7 194 39 198 42 ; right light +RECT 7 7 136 45 141 48 ; left light +RECT 2 2 136 66 142 69 ; book light +; black window +RECT 4 4 79 0 206 18 ; black window +RECT 4 4 79 71 207 76 ; black window +RECT 4 4 79 0 87 76 ; black window +RECT 4 4 198 0 207 76 ; black window +; bars +RECT 5 4 120 0 128 74 ; left bar +RECT 5 4 160 0 168 74 ; right bar +END diff --git a/graphics/hgr/vgi/vgi.s b/graphics/hgr/vgi/vgi.s index 8e653499..a36e8c60 100644 --- a/graphics/hgr/vgi/vgi.s +++ b/graphics/hgr/vgi/vgi.s @@ -14,9 +14,9 @@ vgi_test: ; get pointer to image data -; lda #red_book_data +; lda #>fireplace_data ; sta VGIH lda #fireplace_data + sta VGIH + + jsr play_vgi + + jsr wait_until_keypress + + bit TEXTGR + + + jsr CROUT1 ; print linefeed/cr + + lda #string10 + sta OUTH + + jsr fake_input + jsr fake_input + jsr fake_input + + + ; jmp loopy done: jmp done @@ -197,7 +227,7 @@ all_done: .include "rocket.data" .include "rocket_door.data" .include "red_book.data" - +.include "fireplace.data" ; string data @@ -244,6 +274,16 @@ string8: string9: .byte "I'D SAY IT'S MORE OF A PURPLE COLOR",13,0 +string10: +.byte "THIS IS A MOST UNUSUAL FIREPLACE",13 +.byte "THERE ARE MANY BUTTONS HERE",13,0 + +string11: +.byte "WHICH BUTTON?",13,0 + +string12: +.byte "THAT WAS NOT THE RIGHT ONE",13,0 + ; PICK UP PAGE ; WHICH PAGE? ; THE RED ONE