There is not one illustration or capture here. The screens are drawn from the bytes of the ROM, by running in Python the same run-length decompressor, the same list painter and the same title script the Z80 runs. The listing and the numbers come from the binary and are reproducible with make.
The launcher at 0x5757 only knows how to set poses 1, 2 and 3: the 100, 500 and 1000 clays. Poses 4 and 5 are set by nobody except two routines tucked away at the end of the cartridge, 0x761A and 0x762F, which build the slot by hand from nine bytes written in ROM. The first one releases the octopus; the second, the bird.
0x4F59 calls them when a round ends with the three slots empty, counting in 0xE19A: the octopus the first time, the bird the second. But 0x762F starts by checking 0xE179, and that byte is only set by 0x5AC1 when the clay just broken was pose 4 —the octopus— and 0xE178 says the shot came from the upper barrel. Hitting the octopus is not enough: it has to be hit with the upper barrel, the one at 0xE0C4. The octopus pays 0x30 in BCD (3000 points) and the bird 0x10 (1000).
And there is a way to lose both: 0xE199. Every time 0x58EF retires a clay while 0xE179 is clear, 0x591D sets it, and with it set 0x4F59 calls neither of them —nor does the difficulty go up—.
0xE145 starts at 3 (0x4C32). 0x65D1 takes one off it, but only when the arrow landed in ring 9, which is not the outer ring but the bullseye: it is the one paying 600 in the table at 0x5D37, where the outer ring is 0 and pays 10.
On the third bullseye 0xE145 reaches zero, and then 0x5C22 does not build the usual ending: it copies the six sprite entries at 0x5E59, which are the apple and the penguin. Hitting it leaves pattern 0x7C —the 3000 sign— and 0x0030 in BCD at 0xE11D: another 3000 points.
The third secret is not a sprite. Once the judges pass the lift (0x6F98) and the player keeps pressing the button, 0x523E raises 0xE132 by one per frame. When it reaches 5, 0x5065 fills twelve cells of row 16 with tile 0x91 and twelve of row 17 with 0x92, and the flower bed appears over the podium. 0x524B also pays 2000 points in BCD.
With the bar up, 0x6F78 turns one light on every 0x20 frames in column 2, under the JUDGE sign; on the third it sets 0xE071 and 0xE1A3 to one and the lift is good. That 0xE1A3 then decides the figure's colour, which bytes get copied to VRAM and which digit is painted: one byte ruling in five different places.
0x5CCF squares the two distances to the centre of the target (0xBC, 0x53) with eight adds and shifts, adds them up, and compares that square against the table at 0x5D03, which holds the radii of the nine rings already squared: 1, 6, 16, 25, 64, 96, 144, 196 and 289. The last one does not fit in a byte, which is why the loop supplies its top 1 by hand with an xor a / djnz / inc a.
The launcher reads which way each clay goes from the table at 0x583E one bit at a time, and its height from the one at 0x5866 two bits at a time, each with its own counter. There is no seed and no clock anywhere: the cartridge always throws the same.
The player keeps twelve periods at 0x7832 —from 0x6A to 0x38— and gets the other octaves by doubling the period at 0x7815, which is exactly what dropping an octave means. With the PSG clock, 0x6A gives 1,055 Hz and 0x38 gives 1,998: C and B of the same octave.
At 0x7587 there are eight names of fourteen tiles each —FLY, BANTAM, FEATHER, LIGHT and MIDDLE WEIGHT, MIDDLE HEAVY, HEAVY WEIGHT and SUPER HEAVY— and at 0x6F48 their eight weights in BCD: 150, 165, 180, 195, 210, 225, 240 and 260 kilos. The bow's angle, in the other event, goes up 0.28 degrees at a time and wraps round at 4.00.
Many of the house's cartridges hide their catalogue number and the title in katakana at the end of the ROM; Manuel Pazos (@ManuelPazosMSX) found it. Here it is absent: the last 25 bytes are 0xFF filler, with no 0xAA to close the mark. RC-717 comes from the catalogue, not the binary.
Under the picture is where it comes from and what is on it.
ANGLE on row 10, WIND at the bottom and SCORE beside it. The target is centred on X 0xBC and Y 0x53, which are exactly the two constants 0x5CCF measures every arrow againstJUDGE, the column of three lights that 0x6F78 turns on; at the bottom the POWER bar that 0x6E24 paints on row 23; in the middle the CHOOSE CLASS sign where 0x756D writes the class; and on the right the one with the kilos