Search found 53 matches

by flamewing
Wed Nov 22, 2017 4:30 am
Forum: Megadrive/Genesis
Topic: Sprite List Code Messed Up
Replies: 28
Views: 5116

Re: Sprite List Code Messed Up

I've got just shy of 100 transcribed which is pretty far from complete, though it probably covers a lot of the more "interesting" cases. I've thought about trying to make a concerted effort to transcribe everything, but I really want to try and decode the production micro/nanocode instead. Worked o...
by flamewing
Tue Nov 21, 2017 8:26 pm
Forum: Megadrive/Genesis
Topic: Sprite List Code Messed Up
Replies: 28
Views: 5116

Re: Sprite List Code Messed Up

Obviously both things add cycles. "Register read + operation + register write" uses 2 cycles at microcode level. The person who 2 minutes ago was avoiding byte instructions because he believed, without evidence, that they were slower and 2 bytes longer is trying to argue about microcode? Fine, if y...
by flamewing
Thu Nov 16, 2017 10:08 pm
Forum: Megadrive/Genesis
Topic: Sprite List Code Messed Up
Replies: 28
Views: 5116

Re: Sprite List Code Messed Up

FYI, I decided to completely ignoring your false equivalences with flat Earth and no one else in the solar system. "clr" always reads the operand first, no matter the address mode, because it shares microopcode with "move" like opcodes, this way pre-decrement and post-increment is supported, and the...
by flamewing
Wed Nov 15, 2017 10:04 am
Forum: Megadrive/Genesis
Topic: Sprite List Code Messed Up
Replies: 28
Views: 5116

Re: Sprite List Code Messed Up

1) .b instructions are 2 byte larger (except for move) so they are necessarily slower. That is not true at all. This is true for immediate .l instructions, but for most other instructions, .b and .w differ by a couple of bits. Those that are different by more than a couple bits are generally shorte...
by flamewing
Tue Nov 14, 2017 5:49 pm
Forum: Megadrive/Genesis
Topic: Sprite List Code Messed Up
Replies: 28
Views: 5116

Re: Sprite List Code Messed Up

Unless necessary avoid working with byte (.b) or long (.l) addressing , word (.w) it's ideal for most cases; because it's faster and avoids the use of extra instructions. .b is neither faster nor slower than .w, in general. In some cases, .b is faster (sCC instructions, bCC.s when branch is not tak...
by flamewing
Fri Sep 01, 2017 3:34 pm
Forum: Tools
Topic: aPLib decruncher for 68000
Replies: 48
Views: 24398

Re: aPLib decruncher for 68000

Yeah, it can definitely achieve perfect compression with my generic LZSS backend; this format is a LZ variant. It won't be fast, though, because the sliding window is limited only by file size, as is the lenght of the lookahead buffer; because of this, match finding will dominate, and worst case per...
by flamewing
Fri Sep 01, 2017 10:03 am
Forum: Tools
Topic: Algorithm for splitting sprites
Replies: 70
Views: 16231

Re: Algorithm for splitting sprites

The formula is just a function cost, then depending the user you can affect different cost to whatever you want (number of sprite, vram usage, scanline density..) This (which is what I had said before). There should be a way to specify what is more important to the person writing the game. Concrete...
by flamewing
Fri Sep 01, 2017 9:19 am
Forum: Tools
Topic: aPLib decruncher for 68000
Replies: 48
Views: 24398

Re: aPLib decruncher for 68000

Can you give more details on this format? It sounds like the kind of thing that could be brought to perfect compression level using my generic LZSS backend.
by flamewing
Wed Aug 30, 2017 8:25 am
Forum: Tools
Topic: Algorithm for splitting sprites
Replies: 70
Views: 16231

Re: Algorithm for splitting sprites

Except it minimizes neither of those measures... if you are willing to sacrifice a few extra tiles in VRAM. For example: _____JJJ____ __AAAAFFFF__ __AAAAFFFF__ __AAAAFFFF__ iIIbBBBEEEE_ IIIBBBBEEEE_ IIiBBBBDDD__ HhHHGGGDDD__ HhHHGGGDDD__ HHHHGGGCCCC_ _____KKCCCC_ _____kKCCCC_ This sacrifices 6 tiles...
by flamewing
Tue Aug 22, 2017 11:09 am
Forum: Megadrive/Genesis
Topic: Shadow/Highlight
Replies: 13
Views: 4899

Re: Shadow/Highlight

Or use it to store the color for a light (e.g. Pulseman's watch) so it shows up lit while in shadow =P (ironic example since Pulseman doesn't ever use S/H) That is a very neat idea. What about when color 14 shows up in the tilemaps though? If memory serves, tilemaps (and the background) show up cor...
by flamewing
Mon Aug 21, 2017 7:48 am
Forum: Megadrive/Genesis
Topic: Shadow/Highlight
Replies: 13
Views: 4899

Re: Shadow/Highlight

There's an issue regarding color 14 outside sprite highlight (which makes it show up normal even if it should default to shadowed). I don't recall the exact details, every time I try to bring it up I get it wrong =P But it's the only way to have a bright color in an otherwise shadowed graphic, whic...
by flamewing
Thu Aug 17, 2017 7:40 am
Forum: Tools
Topic: Algorithm for splitting sprites
Replies: 70
Views: 16231

Re: Algorithm for splitting sprites

One thing I often see people forget about when discussing optimization is the goal of said optimization. For the MD, there are several potential goals which are often at odds with one another: minimal amount of tiles minimal number of sprites minimal amount of sprites per scanline minimal amount of ...
by flamewing
Sat Jul 15, 2017 8:37 pm
Forum: Megadrive/Genesis
Topic: Console freezes when reset
Replies: 8
Views: 1787

Re: Console freezes when reset

A random idea: if you add a read from the VDP control port before doing any writes to it, does the issue still happen?
by flamewing
Thu Jun 29, 2017 1:39 pm
Forum: Megadrive/Genesis
Topic: Transition effects between levels, do you know more?
Replies: 7
Views: 1787

Re: Transition effects between levels, do you know more?

It uses the SSF2 mapper. I think it was tried in real hardware and it worked, but I am not sure anymore.
by flamewing
Mon Jun 26, 2017 5:59 am
Forum: Megadrive/Genesis
Topic: Drawing lines/pixels
Replies: 5
Views: 1590

Re: Drawing lines/pixels

I had to solve this exact problem for Big's Fishing Derby. The basic idea is that you have to draw a line using one tater algorithm (e.g., Bresenham's ) into a tile buffer. But how this goes will depend on whether you are drawing the line with sprites or with planes: if using planes, you can draw th...