From ce60795f549d4dbc450ff2ca1a13607f2d863ed6 Mon Sep 17 00:00:00 2001 From: 4am Date: Mon, 29 Oct 2018 12:11:57 -0400 Subject: [PATCH] add fx.hgr.iris --- res/notes/iris.py | 13 ++++++ res/notes/iris.txt | 24 +++++++++++ res/ss/favorites.conf | 2 +- src/4cade.a | 3 +- src/fx.hgr.iris.a | 96 +++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 136 insertions(+), 2 deletions(-) create mode 100755 res/notes/iris.py create mode 100644 res/notes/iris.txt create mode 100644 src/fx.hgr.iris.a diff --git a/res/notes/iris.py b/res/notes/iris.py new file mode 100755 index 000000000..46742a001 --- /dev/null +++ b/res/notes/iris.py @@ -0,0 +1,13 @@ +#!/usr/bin/env python3 + +import sys + +alphabet = 'MNOPQRSTUVWXYZABCDEFGHIJKL' +with open(sys.argv[1]) as f: + lines = f.readlines() +for c in alphabet: + for line, row in zip(lines, range(len(lines))): + for l, col in zip(line, range(len(line))): + if l == c: + print("%s,%s," % (row,col), end=' ') + print("255,255") diff --git a/res/notes/iris.txt b/res/notes/iris.txt new file mode 100644 index 000000000..1e6e00108 --- /dev/null +++ b/res/notes/iris.txt @@ -0,0 +1,24 @@ + LKJIHGFEDCBAZZYYYXXXXYYYZZABCDEFGHIJKL +LKJIHGFEDCBAZYYXXXWWWWXXXYYZABCDEFGHIJKL +KJIHGFEDCBAZYXXWWWVVVVWWWXXYZABCDEFGHIJK +JIHGFEDCBAZYXWWVVVUUUUVVVWWXYZABCDEFGHIJ +IHGFEDCBAZYXWVVUUUTTTTUUUVVWXYZABCDEFGHI +HGFEDCBAZYXWVUUTTTSSSSTTTUUVWXYZABCDEFGH +HGFEDCBAZYXWVUTSSSRRRRSSSTUVWXYZABCDEFGH +GFEDCBAZYXWVUTSRRRQQQQRRRSTUVWXYZABCDEFG +GFEDCBAZYXWVUTSRQQPPPPQQRSTUVWXYZABCDEFG +GFEDCBAZYXWVUTSRQPOOOOPQRSTUVWXYZABCDEFG +FEDCBAZYXWVUTSRQPONNNNOPQRSTUVWXYZABCDEF +FEDCBAZYXWVUTSRQPONMMNOPQRSTUVWXYZABCDEF +FEDCBAZYXWVUTSRQPONMMNOPQRSTUVWXYZABCDEF +FEDCBAZYXWVUTSRQPONNNNOPQRSTUVWXYZABCDEF +GFEDCBAZYXWVUTSRQPOOOOPQRSTUVWXYZABCDEFG +GFEDCBAZYXWVUTSRQQPPPPQQRSTUVWXYZABCDEFG +GFEDCBAZYXWVUTSRRRQQQQRRRSTUVWXYZABCDEFG +HGFEDCBAZYXWVUTSSSRRRRSSSTUVWXYZABCDEFGH +HGFEDCBAZYXWVUUTTTSSSSTTTUUVWXYZABCDEFGH +IHGFEDCBAZYXWVVUUUTTTTUUUVVWXYZABCDEFGHI +JIHGFEDCBAZYXWWVVVUUUUVVVWWXYZABCDEFGHIJ +KJIHGFEDCBAZYXXWWWVVVVWWWXXYZABCDEFGHIJK +LKJIHGFEDCBAZYYXXXWWWWXXXYYZABCDEFGHIJKL + LKJIHGFEDCBAZZYYYXXXXYYYZZABCDEFGHIJKL diff --git a/res/ss/favorites.conf b/res/ss/favorites.conf index 09412fcda..bc7a42529 100644 --- a/res/ss/favorites.conf +++ b/res/ss/favorites.conf @@ -1 +1 @@ -# # slideshow of favorite title screens # DUNG.BEETLES MR.ROBOT NIBBLER SNAKE.BYTE DAVIDS.MAGIC CRAZY.MAZY SPYS.DEMISE WAVY.NAVY DIG.DUG PAPERBOY TUBEWAY PRINCEUNP LOST.TOMB MOON.PATROL DROL HERO MONTEZUMA SWASHBUCKLER POOYAN TAPPER GOONIES PLASMANIA PITFALL.II ALCAZAR SABOTAGE FROGGER GORGON CONAN NIGHT.MISSION DINO.EGGS FALCONS BRUCE.LEE BCS.QUEST JOUST [eof] \ No newline at end of file +# # slideshow of favorite title screens # DUNG.BEETLES MR.ROBOT MOON.PATROL HERO DROL MONTEZUMA DAVIDS.MAGIC CRAZY.MAZY SPYS.DEMISE WAVY.NAVY DIG.DUG PAPERBOY TUBEWAY PRINCEUNP LOST.TOMB NIBBLER SNAKE.BYTE SWASHBUCKLER POOYAN TAPPER GOONIES PLASMANIA PITFALL.II ALCAZAR SABOTAGE FROGGER GORGON CONAN NIGHT.MISSION DINO.EGGS FALCONS BRUCE.LEE BCS.QUEST JOUST [eof] \ No newline at end of file diff --git a/src/4cade.a b/src/4cade.a index d2994aa66..f090f18bd 100644 --- a/src/4cade.a +++ b/src/4cade.a @@ -212,7 +212,7 @@ HGRLoad jsr AddToPath jsr LoadFile !word gPathname - jsr SpiralHGR;DiagonalHGR;InterlockingVerticalHGR;FizzleHGR;InterlockingHorizontalHGR; + jsr IrisHGR;SpiralHGR;DiagonalHGR;InterlockingVerticalHGR;FizzleHGR;InterlockingHorizontalHGR; jmp WaitOnScreenshot DHGRLoad @@ -329,6 +329,7 @@ kAttractModeConfFile !source "src/fx.hgr.fizzle.a" !source "src/fx.hgr.spiral.a" !source "src/fx.hgr.diagonal.a" + !source "src/fx.hgr.iris.a" !source "src/fx.hgr.interlockingvertical.a" !source "src/fx.hgr.interlockinghorizontal.a" !source "src/fx.dhgr.fizzle.a" diff --git a/src/fx.hgr.iris.a b/src/fx.hgr.iris.a new file mode 100644 index 000000000..ea7528356 --- /dev/null +++ b/src/fx.hgr.iris.a @@ -0,0 +1,96 @@ +!zone { +round = $F0 +block = $F1 + +IrisHGR + lda #$00 + sta round +@outerloop + lda round + asl + tax + lda @map,x + sta $fe + lda @map+1,x + sta $ff + lda #$00 + sta block +@innerloop + ldy block + lda ($fe),y + bmi @nextround + tax + iny + lda ($fe),y + tay + txa + jsr HGRBlockCopy + inc block + inc block + bne @innerloop ; always branches +@nextround + lda #$40 + jsr WaitForKeyWithTimeout + bmi @exit + inc round + lda round + cmp #27 + bne @outerloop +@exit rts + +@map + !word @round1 + !word @round2 + !word @round3 + !word @round4 + !word @round5 + !word @round6 + !word @round7 + !word @round8 + !word @round9 + !word @round10 + !word @round11 + !word @round12 + !word @round13 + !word @round14 + !word @round15 + !word @round16 + !word @round17 + !word @round18 + !word @round19 + !word @round20 + !word @round21 + !word @round22 + !word @round23 + !word @round24 + !word @round25 + !word @round26 + !word @round27 +@round1 !byte 11,19, 11,20, 12,19, 12,20, 255 +@round2 !byte 10,18, 10,19, 10,20, 10,21, 11,18, 11,21, 12,18, 12,21, 13,18, 13,19, 13,20, 13,21, 255 +@round3 !byte 9,18, 9,19, 9,20, 9,21, 10,17, 10,22, 11,17, 11,22, 12,17, 12,22, 13,17, 13,22, 14,18, 14,19, 14,20, 14,21, 255 +@round4 !byte 8,18, 8,19, 8,20, 8,21, 9,17, 9,22, 10,16, 10,23, 11,16, 11,23, 12,16, 12,23, 13,16, 13,23, 14,17, 14,22, 15,18, 15,19, 15,20, 15,21, 255 +@round5 !byte 7,18, 7,19, 7,20, 7,21, 8,16, 8,17, 8,22, 8,23, 9,16, 9,23, 10,15, 10,24, 11,15, 11,24, 12,15, 12,24, 13,15, 13,24, 14,16, 14,23, 15,16, 15,17, 15,22, 15,23, 16,18, 16,19, 16,20, 16,21, 255 +@round6 !byte 6,18, 6,19, 6,20, 6,21, 7,15, 7,16, 7,17, 7,22, 7,23, 7,24, 8,15, 8,24, 9,15, 9,24, 10,14, 10,25, 11,14, 11,25, 12,14, 12,25, 13,14, 13,25, 14,15, 14,24, 15,15, 15,24, 16,15, 16,16, 16,17, 16,22, 16,23, 16,24, 17,18, 17,19, 17,20, 17,21, 255 +@round7 !byte 5,18, 5,19, 5,20, 5,21, 6,15, 6,16, 6,17, 6,22, 6,23, 6,24, 7,14, 7,25, 8,14, 8,25, 9,14, 9,25, 10,13, 10,26, 11,13, 11,26, 12,13, 12,26, 13,13, 13,26, 14,14, 14,25, 15,14, 15,25, 16,14, 16,25, 17,15, 17,16, 17,17, 17,22, 17,23, 17,24, 18,18, 18,19, 18,20, 18,21, 255 +@round8 !byte 4,18, 4,19, 4,20, 4,21, 5,15, 5,16, 5,17, 5,22, 5,23, 5,24, 6,14, 6,25, 7,13, 7,26, 8,13, 8,26, 9,13, 9,26, 10,12, 10,27, 11,12, 11,27, 12,12, 12,27, 13,12, 13,27, 14,13, 14,26, 15,13, 15,26, 16,13, 16,26, 17,14, 17,25, 18,15, 18,16, 18,17, 18,22, 18,23, 18,24, 19,18, 19,19, 19,20, 19,21, 255 +@round9 !byte 3,18, 3,19, 3,20, 3,21, 4,15, 4,16, 4,17, 4,22, 4,23, 4,24, 5,13, 5,14, 5,25, 5,26, 6,13, 6,26, 7,12, 7,27, 8,12, 8,27, 9,12, 9,27, 10,11, 10,28, 11,11, 11,28, 12,11, 12,28, 13,11, 13,28, 14,12, 14,27, 15,12, 15,27, 16,12, 16,27, 17,13, 17,26, 18,13, 18,14, 18,25, 18,26, 19,15, 19,16, 19,17, 19,22, 19,23, 19,24, 20,18, 20,19, 20,20, 20,21, 255 +@round10 !byte 2,18, 2,19, 2,20, 2,21, 3,15, 3,16, 3,17, 3,22, 3,23, 3,24, 4,13, 4,14, 4,25, 4,26, 5,12, 5,27, 6,12, 6,27, 7,11, 7,28, 8,11, 8,28, 9,11, 9,28, 10,10, 10,29, 11,10, 11,29, 12,10, 12,29, 13,10, 13,29, 14,11, 14,28, 15,11, 15,28, 16,11, 16,28, 17,12, 17,27, 18,12, 18,27, 19,13, 19,14, 19,25, 19,26, 20,15, 20,16, 20,17, 20,22, 20,23, 20,24, 21,18, 21,19, 21,20, 21,21, 255 +@round11 !byte 1,18, 1,19, 1,20, 1,21, 2,15, 2,16, 2,17, 2,22, 2,23, 2,24, 3,13, 3,14, 3,25, 3,26, 4,12, 4,27, 5,11, 5,28, 6,11, 6,28, 7,10, 7,29, 8,10, 8,29, 9,10, 9,29, 10,9, 10,30, 11,9, 11,30, 12,9, 12,30, 13,9, 13,30, 14,10, 14,29, 15,10, 15,29, 16,10, 16,29, 17,11, 17,28, 18,11, 18,28, 19,12, 19,27, 20,13, 20,14, 20,25, 20,26, 21,15, 21,16, 21,17, 21,22, 21,23, 21,24, 22,18, 22,19, 22,20, 22,21, 255 +@round12 !byte 0,18, 0,19, 0,20, 0,21, 1,15, 1,16, 1,17, 1,22, 1,23, 1,24, 2,13, 2,14, 2,25, 2,26, 3,12, 3,27, 4,11, 4,28, 5,10, 5,29, 6,10, 6,29, 7,9, 7,30, 8,9, 8,30, 9,9, 9,30, 10,8, 10,31, 11,8, 11,31, 12,8, 12,31, 13,8, 13,31, 14,9, 14,30, 15,9, 15,30, 16,9, 16,30, 17,10, 17,29, 18,10, 18,29, 19,11, 19,28, 20,12, 20,27, 21,13, 21,14, 21,25, 21,26, 22,15, 22,16, 22,17, 22,22, 22,23, 22,24, 23,18, 23,19, 23,20, 23,21, 255 +@round13 !byte 0,15, 0,16, 0,17, 0,22, 0,23, 0,24, 1,13, 1,14, 1,25, 1,26, 2,12, 2,27, 3,11, 3,28, 4,10, 4,29, 5,9, 5,30, 6,9, 6,30, 7,8, 7,31, 8,8, 8,31, 9,8, 9,31, 10,7, 10,32, 11,7, 11,32, 12,7, 12,32, 13,7, 13,32, 14,8, 14,31, 15,8, 15,31, 16,8, 16,31, 17,9, 17,30, 18,9, 18,30, 19,10, 19,29, 20,11, 20,28, 21,12, 21,27, 22,13, 22,14, 22,25, 22,26, 23,15, 23,16, 23,17, 23,22, 23,23, 23,24, 255 +@round14 !byte 0,13, 0,14, 0,25, 0,26, 1,12, 1,27, 2,11, 2,28, 3,10, 3,29, 4,9, 4,30, 5,8, 5,31, 6,8, 6,31, 7,7, 7,32, 8,7, 8,32, 9,7, 9,32, 10,6, 10,33, 11,6, 11,33, 12,6, 12,33, 13,6, 13,33, 14,7, 14,32, 15,7, 15,32, 16,7, 16,32, 17,8, 17,31, 18,8, 18,31, 19,9, 19,30, 20,10, 20,29, 21,11, 21,28, 22,12, 22,27, 23,13, 23,14, 23,25, 23,26, 255 +@round15 !byte 0,12, 0,27, 1,11, 1,28, 2,10, 2,29, 3,9, 3,30, 4,8, 4,31, 5,7, 5,32, 6,7, 6,32, 7,6, 7,33, 8,6, 8,33, 9,6, 9,33, 10,5, 10,34, 11,5, 11,34, 12,5, 12,34, 13,5, 13,34, 14,6, 14,33, 15,6, 15,33, 16,6, 16,33, 17,7, 17,32, 18,7, 18,32, 19,8, 19,31, 20,9, 20,30, 21,10, 21,29, 22,11, 22,28, 23,12, 23,27, 255 +@round16 !byte 0,11, 0,28, 1,10, 1,29, 2,9, 2,30, 3,8, 3,31, 4,7, 4,32, 5,6, 5,33, 6,6, 6,33, 7,5, 7,34, 8,5, 8,34, 9,5, 9,34, 10,4, 10,35, 11,4, 11,35, 12,4, 12,35, 13,4, 13,35, 14,5, 14,34, 15,5, 15,34, 16,5, 16,34, 17,6, 17,33, 18,6, 18,33, 19,7, 19,32, 20,8, 20,31, 21,9, 21,30, 22,10, 22,29, 23,11, 23,28, 255 +@round17 !byte 0,10, 0,29, 1,9, 1,30, 2,8, 2,31, 3,7, 3,32, 4,6, 4,33, 5,5, 5,34, 6,5, 6,34, 7,4, 7,35, 8,4, 8,35, 9,4, 9,35, 10,3, 10,36, 11,3, 11,36, 12,3, 12,36, 13,3, 13,36, 14,4, 14,35, 15,4, 15,35, 16,4, 16,35, 17,5, 17,34, 18,5, 18,34, 19,6, 19,33, 20,7, 20,32, 21,8, 21,31, 22,9, 22,30, 23,10, 23,29, 255 +@round18 !byte 0,9, 0,30, 1,8, 1,31, 2,7, 2,32, 3,6, 3,33, 4,5, 4,34, 5,4, 5,35, 6,4, 6,35, 7,3, 7,36, 8,3, 8,36, 9,3, 9,36, 10,2, 10,37, 11,2, 11,37, 12,2, 12,37, 13,2, 13,37, 14,3, 14,36, 15,3, 15,36, 16,3, 16,36, 17,4, 17,35, 18,4, 18,35, 19,5, 19,34, 20,6, 20,33, 21,7, 21,32, 22,8, 22,31, 23,9, 23,30, 255 +@round19 !byte 0,8, 0,31, 1,7, 1,32, 2,6, 2,33, 3,5, 3,34, 4,4, 4,35, 5,3, 5,36, 6,3, 6,36, 7,2, 7,37, 8,2, 8,37, 9,2, 9,37, 10,1, 10,38, 11,1, 11,38, 12,1, 12,38, 13,1, 13,38, 14,2, 14,37, 15,2, 15,37, 16,2, 16,37, 17,3, 17,36, 18,3, 18,36, 19,4, 19,35, 20,5, 20,34, 21,6, 21,33, 22,7, 22,32, 23,8, 23,31, 255 +@round20 !byte 0,7, 0,32, 1,6, 1,33, 2,5, 2,34, 3,4, 3,35, 4,3, 4,36, 5,2, 5,37, 6,2, 6,37, 7,1, 7,38, 8,1, 8,38, 9,1, 9,38, 10,0, 10,39, 11,0, 11,39, 12,0, 12,39, 13,0, 13,39, 14,1, 14,38, 15,1, 15,38, 16,1, 16,38, 17,2, 17,37, 18,2, 18,37, 19,3, 19,36, 20,4, 20,35, 21,5, 21,34, 22,6, 22,33, 23,7, 23,32, 255 +@round21 !byte 0,6, 0,33, 1,5, 1,34, 2,4, 2,35, 3,3, 3,36, 4,2, 4,37, 5,1, 5,38, 6,1, 6,38, 7,0, 7,39, 8,0, 8,39, 9,0, 9,39, 14,0, 14,39, 15,0, 15,39, 16,0, 16,39, 17,1, 17,38, 18,1, 18,38, 19,2, 19,37, 20,3, 20,36, 21,4, 21,35, 22,5, 22,34, 23,6, 23,33, 255 +@round22 !byte 0,5, 0,34, 1,4, 1,35, 2,3, 2,36, 3,2, 3,37, 4,1, 4,38, 5,0, 5,39, 6,0, 6,39, 17,0, 17,39, 18,0, 18,39, 19,1, 19,38, 20,2, 20,37, 21,3, 21,36, 22,4, 22,35, 23,5, 23,34, 255 +@round23 !byte 0,4, 0,35, 1,3, 1,36, 2,2, 2,37, 3,1, 3,38, 4,0, 4,39, 19,0, 19,39, 20,1, 20,38, 21,2, 21,37, 22,3, 22,36, 23,4, 23,35, 255 +@round24 !byte 0,3, 0,36, 1,2, 1,37, 2,1, 2,38, 3,0, 3,39, 20,0, 20,39, 21,1, 21,38, 22,2, 22,37, 23,3, 23,36, 255 +@round25 !byte 0,2, 0,37, 1,1, 1,38, 2,0, 2,39, 21,0, 21,39, 22,1, 22,38, 23,2, 23,37, 255 +@round26 !byte 0,1, 0,38, 1,0, 1,39, 22,0, 22,39, 23,1, 23,38, 255 +@round27 !byte 0,0, 0,39, 23,0, 23,39, 255 +}