Action 53 multicart engine
Moderator: Moderators
- mikejmoffitt
- Posts: 1353
- Joined: Sun May 27, 2012 8:43 pm
Re: Action 53 multicart engine
The screenshots look great this way. Looks quite good in the example picture.
Re: Action 53 multicart engine
As with most of my other projects, you'll need to have Python 3 and Pillow (Python Imaging Library) installed, per the standard instructions to set up a build environment for Pin Eight projects.
The input image must be 64x56 pixels, in BMP, PNG, or any other format that Pillow reads. It must follow the engine's limits (grays + 3 colors in each 8x8 pixel area, two distinct groups of 3 colors).
The main() function in a53screenshot.py is hardcoded for testing purposes so that I can test from within IDLE, the editor that comes with Python. You'll need to comment that at the bottom of the file and uncomment plain main().
EDIT: Fixed documentation
The input image must be 64x56 pixels, in BMP, PNG, or any other format that Pillow reads. It must follow the engine's limits (grays + 3 colors in each 8x8 pixel area, two distinct groups of 3 colors).
The main() function in a53screenshot.py is hardcoded for testing purposes so that I can test from within IDLE, the editor that comes with Python. You'll need to comment that at the bottom of the file and uncomment plain main().
Code: Select all
# Convert by guessing the 3-color palettes, then display
./a53screenshot.py thwaite.png
# Convert by guessing the 3-color palettes, then save conversion
./a53screenshot.py thwaite.png -o thwaite-indexed.png
# Convert using the given palettes, then display
./a53screenshot.py --palette 12162A122738 thwaite.png
# Convert using the given palettes, then save conversion
./a53screenshot.py --palette 12162A122738 thwaite.png -o thwaite-indexed.png
# Save a PNG image showing the NES palette that savtool uses
./savtool.py --write-swatches=bisqwit_nes_palette.png
REM Windows Command Prompt may require backslashes or removal of the
REM leading ./ entirely. I haven't tested this on Windows. Let me
REM know which of these work for you.
.\a53screenshot.py thwaite.png
a53screenshot.py thwaite.png
py a53screenshot.py thwaite.png
python a53screenshot.py thwaite.png
- Attachments
-
- a53screenshot.zip
- (21.97 KiB) Downloaded 529 times
Re: Action 53 multicart engine
Now that screenshots can be more colorful, wouldn't this be a good time to improve the graphics of the television set itself? Maybe something like this:
Re: Action 53 multicart engine
Code: Select all
./a53screenshot.py inherent.png
Traceback (most recent call last):
File "./a53screenshot.py", line 385, in <module>
main(["a53screenshot.py", "-v", "../tilesets/screenshots/thwaite.png"])
File "./a53screenshot.py", line 360, in main
im = Image.open(infilename)
File "/usr/lib/python3/dist-packages/PIL/Image.py", line 2258, in open
fp = builtins.open(filename, "rb")
FileNotFoundError: [Errno 2] No such file or directory: '../tilesets/screenshots/thwaite.png'
edit: When I comment the hardcode line and uncomment the main() line, it goes further, but the inputs do not match your README, they expect -o instead of two filenames.
edit2: The new image did not use the new palettes for some reason, even though the run was successful:
Code: Select all
./a53screenshot.py inherent.png -o new.png
palette: 03 17 27, 08 17 27
Re: Action 53 multicart engine
Yup. Sometimes I hardcode argv so that I can test from within an environment that doesn't offer a way to specify argv. You caught me with the -o there as well: I changed the API and forgot to change the manual. Thank you for helping to test.calima wrote:Hardcoded inputs overriding what I passed?
Try changing parse_palette(s) to parse_palette(args.palette). If that doesn't work, could you attach inherent.png for me to test with?calima wrote:The new image did not use the new palettes for some reason, even though the run was successful:Code: Select all
./a53screenshot.py inherent.png -o new.png palette: 03 17 27, 08 17 27
Re: Action 53 multicart engine
Code: Select all
File "./a53screenshot.py", line 173
def parse_palette(args.palette):
^
SyntaxError: invalid syntax
- Attachments
-
- inherent.png (589 Bytes) Viewed 14583 times
Re: Action 53 multicart engine
My camera sucks, as do the room lighting and the TV's color temperature settings. But this photo at least shows more colorful screenshots on hardware.
I meant in the function's use, not its definition.
But anyway, I found a bunch of other dumb typos, and I have attached a revised version with them fixed. Thank you for the test materials. As for the purple, the conversion uses a palette generated using Bisqwit's tool. In the revised version of a53screenshot, I've added functionality to savtool.py --write-swatches where .pal writes a 192-byte binary palette for use with an emulator, and .txt writes a 64-line tab-separated file with 6-digit hex codes (e.g. #342800 for color $08).
@tokumaru
That'd certainly be doable with my current framework.
The screenshot frame in the current version of Action 53 was based on a TV belonging to NovaSquirrel, made by Sharp. That was the TV that I had in front of me while making the menu software. Pictures of model 19C140 found through Google Images appear to match it. I could have modeled it after a more iconic bezel if I knew of one. What TV model is tokumaru's suggested frame based on?
@calima
I meant in the function's use, not its definition.
But anyway, I found a bunch of other dumb typos, and I have attached a revised version with them fixed. Thank you for the test materials. As for the purple, the conversion uses a palette generated using Bisqwit's tool. In the revised version of a53screenshot, I've added functionality to savtool.py --write-swatches where .pal writes a 192-byte binary palette for use with an emulator, and .txt writes a 64-line tab-separated file with 6-digit hex codes (e.g. #342800 for color $08).
@tokumaru
That'd certainly be doable with my current framework.
The screenshot frame in the current version of Action 53 was based on a TV belonging to NovaSquirrel, made by Sharp. That was the TV that I had in front of me while making the menu software. Pictures of model 19C140 found through Google Images appear to match it. I could have modeled it after a more iconic bezel if I knew of one. What TV model is tokumaru's suggested frame based on?
Re: Action 53 multicart engine
I took bits and pieces from different TVs, but the biggest inspiration was this one (apparently a Sony Trinitron KV-20TR23): I don't think this is about using an iconic model though, I just think it has to be believable. The current one looks a bit too boxy, and the light color blends with the background too much (the Windows 95 style shading doesn't help here). I figured that a dark/black television would stand out more, and would have better contrast overall.tepples wrote:I could have modeled it after a more iconic bezel if I knew of one. What TV model is tokumaru's suggested frame based on?
If you provide a reference image of any other model you think would work better, I can take a shot at pixeling it.
Re: Action 53 multicart engine
Looking good, and you're credited in CHANGES.txt of the menu source code.
- Attachments
-
- a53menu-0.06wip1.zip
- (195.39 KiB) Downloaded 538 times
-
- a53vol4-0.png (1.81 KiB) Viewed 14534 times
Re: Action 53 multicart engine
Cool! I'm glad you liked it.
- mikejmoffitt
- Posts: 1353
- Joined: Sun May 27, 2012 8:43 pm
Re: Action 53 multicart engine
The old bezel looked fine, but the new one has some nice character to it.
- FrankenGraphics
- Formerly WheelInventor
- Posts: 2064
- Joined: Thu Apr 14, 2016 2:55 am
- Location: Gothenburg, Sweden
- Contact:
Re: Action 53 multicart engine
I added a new feature to the builder to let me reserve space in the ROM for notices on the title screen, specifying their position and color. Previously they had been hardcoded in the RODATA of the menu program. The new arrangement should let me build multiple collections from the same menu program even if they have different title screen layouts, particularly volumes 3 and 4.In [url=https://forums.nesdev.com/viewtopic.php?p=213846#p213846]the volume 3 topic[/url], infiniteneslives wrote:Only other detail to cover for the rom's release then is special messages on the title screen. Is there a feature to do this as we have in past years with contributor carts and number of LE copies? I guess we'll survive without it, but if the feature is already built in and ready to use, what's the hex offset and limits for the message?
- Attachments
-
- a53menu-0.06wip2.zip
- (202.5 KiB) Downloaded 565 times
Re: Action 53 multicart engine
Now that you've added button icons, how would you feel about one for the d-pad as well?
- Attachments
-
- a53dpad2.png (656 Bytes) Viewed 13982 times
-
- a53dpad.png (2.21 KiB) Viewed 13982 times
Re: Action 53 multicart engine
I've uploaded the ROM builder's source code to Microsoft GitHub so that JRoatch can make pull requests in the course of building the master ROM.
pinobatch/action53
Could the design of these overlapping tab tiles be improved? (top: current; bottom: proposed)
pinobatch/action53
Could the design of these overlapping tab tiles be improved? (top: current; bottom: proposed)
- Attachments
-
- a53_overlapping_tabs.png (402 Bytes) Viewed 12783 times