maskromtool
maskromtool copied to clipboard
Repeated patterns
Thank you for this tool!
I feel like it could be improved by reducing the amount of manual work required to mark rows and columns, as they usually follow repetitive patterns and are all parallel to each other and the offsets can be described using simple rules.
In your GameBoy tutorial file, there are 16 repeated groups of columns with 8 repeated columns each. The groups have an equal margin to each other and the columns within the groups also have an equal margin to each other. The same goes for the 8x2 rows.
Imagine the following scenario:
- You define the top left, bottom right, and angle of the rectangular ROM area
- You define the number of row groups
- You define the number of rows within a group
- You define the number of column groups
- You define the number of columns within a group
- You define the vertical margin between row groups
- You define the horizontal margin between column groups
I think this is enough to describe where all the rows and columns are located.
Perhaps one could define an unlimited number of row or column supergroups to allow for larger patterns.
I think this would save a lot of tiring work (and time). Do you think it's feasible?
Please try to describe exactly what the key presses and clicks would be for the GB example. It might help in implementing the feature, which has been backlogged for a while now.
You would only click the top left and bottom right, which draws the outline rectangle.
The other inputs are probably better suited in a popup window and could look somewhat like this:
Here's an example of how this idea applies to columns, and perhaps how it could be rendered for the user (the same idea applies for rows, rotated by 90deg):
The size of the groups is determined by the size of the outer rectangle, the number of groups, and the margin between groups.
The columns/rows are just evenly distributed within the group space.
I hope this clarifies my idea.
I wasn't able to make this work smoothly with dialog boxes, but groups are now supported by selection and duplication. To try it out, build from master and then do the following:
- Draw your first column group.
- Select the eight column lines of that group with the left mouse button. They will turn green.
- Press
SHIFT+Dto duplicate the column lines. - Drag the duplicate lines with the right mouse button until they are placed over the second group.
- Repeat from step 3 until all column groups are marked.
Bits are updated live while dragging, but this can cause performance problems in large projects. To skip that, use the TAB key to temporarily hide the bits until you are ready for them.