Re: We've been called out
Posted: Mon Apr 17, 2017 5:26 pm
When the SNES and the Genesis are involved, its more like "technical" writeups.lidnariq wrote:technical writeups
When the SNES and the Genesis are involved, its more like "technical" writeups.lidnariq wrote:technical writeups
Oh whoops, I seem to have misinterpreted what you said.lidnariq wrote:Specifically talking about the launch Amiga, not the later ones.Oerg866 wrote:Are you literally trolling? The Amiga is a computer designed for things like this. It has a ton of custom chips devoted to fast graphics, overhead-less digital sound and 512KB+ of memory - oh, and it isn't tilebased.
It's a 68k at the same speed, with (because of your choice of large cart) usually less memory available (albeit, per your complaint, more memory dedicatable to the graphics processor). Any reliance on computrons should be comparable between the two, and any substantial differences will be due to the hardware support.
Sure, the OCS has the copper function (but OD2 tentatively seems to not rely on many raster effects) and seventy-gazillion DMA channels (but OD2 streams most of the soundtrack from ROM). And despite the A500's support from its coprocessors, OD2 looks as good as a top-tier A500 demo. With better pacing ... much better.
Regardless, I will definitely enjoy reading whatever technical writeups show up as they come out.
Higan is an impressive emulator, to be sure - but it's not perfect, not when you're trying crazy stunts. I've broken it a few times already while messing around with the PPU, and so far as I'm aware none of the cases in which that happened work perfectly yet.Oerg866 wrote:emulators (ok a non issue for snes i guess)
There's a MD emulator in higan. It's not very far along yet, but it's coming.could we bribe you to come to our side some day?
There's no such thing as "better than real hardware"! "Lack of glitches" isn't what makes an emulator good, the "presence of glitches similar to those of the real hardware" is.93143 wrote:better than real hardware in fact (real hardware has worse garbage, and can't quite perfectly mask it with sprites).
I'm not calling it "trivial", just explaining that the trick is coming up with ways to limit the number of calculations you do with clever lookup tables and pallet effects. Coming up with these that both work and are pretty is an "Art", not trivial. But I probably also suffer from C64 snobbery as in the C64 world when an effect is "just speed code" we tend to just be "oh you make some tables and do some speed code - yah" as we now focus more on discovering more hardware tricks or ways to combine tricks, or limiting ourselves to 256B or 4K.. Amazingly we are still finding them 30 years later XDOerg866 wrote: @Oziphantom: There are many reasons why MD demos or console demos in general will never reach the quality of effects you get on C64 and Amiga. (Tiles vs. Linear bitmap / bitplanes /etc., video memory not being mapped to the CPU address bus, closedness and unknownness of many parts of the systems, memory size, lack of good dev environments and/or emulators (ok a non issue for snes i guess) and most importantly those platforms having a 30+ year head start.) - but again let me just ask you to attempt something like this before calling our efforts trivial.
You don't pre-render, you build the screen out of lookups into the tables, chars etc, but clever setup of the tables, chars allows you to greatly reduce the number of calculations you need to do. The trick is not remove doing any maths, but to find ways to reduce as much maths as possible. Have a look at http://codebase64.org/doku.php?id=base: ... ng_carpets it is the only one with pictures and C code to help explain the type of tricks better sadly there is not one that covers a bitmap zoomer.psycopathicteen wrote:My idea wouldn't work because there wouldn't be enough dma for 2 layers, even in PAL.
@Oziphantom, I'm still confused. Wouldn't there need to be so many prerendered tiles of different scroll values, and scaling rotation amounts that you might as well just prerender the whole thing?
I understand that. But surely it's clear what I meant? Changing BGMODE mid-scanline, for the purpose of juxtaposing BG graphics in two different modes on the same scanline, works better in higan v095+ than on real hardware, in much the same way that sending graphics to VRAM during active display works better in ZSNES than on real hardware. (Okay, maybe that's a bit extreme...)tokumaru wrote:There's no such thing as "better than real hardware"! "Lack of glitches" isn't what makes an emulator good, the "presence of glitches similar to those of the real hardware" is.93143 wrote:better than real hardware in fact (real hardware has worse garbage, and can't quite perfectly mask it with sprites).
That's the exact analogy I'd use! You don't normally want the emulator to show cleaner results for a special trick than the hardware does, you want the emulator to behave the SAME, ideally. If you use inaccurate emulation as a reference point, you're just making higan/zsnes/nesticle programs rather than programs for the actual consoles.93143 wrote:in much the same way that sending graphics to VRAM during active display works better in ZSNES than on real hardware. (Okay, maybe that's a bit extreme...)
I agree! the more the better!I'm a bit late with this, but Overdrive 2 is a most impressive demo. I do hope the SNES community rises to this challenge eventually...
Can you post a picture of what you mean? Lookup tables can mean anything. The "codebase64.org" doesn't help because I already know how all those tricks work.Oziphantom wrote:You don't pre-render, you build the screen out of lookups into the tables, chars etc, but clever setup of the tables, chars allows you to greatly reduce the number of calculations you need to do. The trick is not remove doing any maths, but to find ways to reduce as much maths as possible. Have a look at http://codebase64.org/doku.php?id=base: ... ng_carpets it is the only one with pictures and C code to help explain the type of tricks better sadly there is not one that covers a bitmap zoomer.psycopathicteen wrote:My idea wouldn't work because there wouldn't be enough dma for 2 layers, even in PAL.
@Oziphantom, I'm still confused. Wouldn't there need to be so many prerendered tiles of different scroll values, and scaling rotation amounts that you might as well just prerender the whole thing?
Don't worry, that's probably the highest compliment you can get. But if it makes you feel any better, I believed this was running on a stock Genesis :)Oerg866 wrote:Guys, you're freaking hilarious and just absolutely full of it. The salt level in this thread is insane. :)
The allegations are hilarious. Custom chip? Prerendering? Playing an animation? This is not the SNES and we most definitely don't need half a dozen Super FX, DSP or other helper chips to do something useful. Just grab a calculator and you'll end up with ~350 bytes per frame.
Everyone knows the Genesis CPU is significantly superior to the SNES CPU. Just like the SNES PPU runs circles around the Genesis' VDP. The sound chips are a wash, based on personal preference.I think there's a very good reason why absolutely nothing technically impressive has come out of the SNES homebrew / demo scene in 27 years, sans the recent efforts by elix.
could we bribe you to come to our side some day? ;)

It's because of what I said above: the SNES CPU is much less capable of computations for software-rendered effects. And it's also less fun to program for than a 68K. Yet it has a very strong PPU compared to the Genesis.Also yeah this was meant as a callout to the SNES homebrew/demo community. Been a while since we've heard from you.
... the SNES feels like a coherent, custom-fit design.I'll tell you any day of the week that the Genesis is better designed
I got all of your demos to run. The only one that doesn't work now is your palette RAM DMA, because fixing that throws off timings in other games.Higan is an impressive emulator, to be sure - but it's not perfect, not when you're trying crazy stunts. I've broken it a few times already while messing around with the PPU, and so far as I'm aware none of the cases in which that happened work perfectly yet.
Everyone here knew what he meant :)There's no such thing as "better than real hardware"!
It was running on a stock PAL Mega Drive. To the best of my knowledge, all Genesis systems are NTSC, and with the demoscene primarily confined to mainland Europe, demos like this tend to be PAL exclusive.byuu wrote:Don't worry, that's probably the highest compliment you can get. But if it makes you feel any better, I believed this was running on a stock Genesis
Including or excluding the creation of new games for them in 2017?byuu wrote:Enjoy both systems for what matters: the actual games that were released for them
So in other words, the Genesis looks more like a PC, and it is the master in the computing speed race.byuu wrote:... the SNES feels like a coherent, custom-fit design.
The Genesis feels like someone went on a shopping spree at the computer parts store.
Or a "how can we have a machine that runs games from this generation and the previous generation?" The format resembles that of the Master System, which in turn resembles that of the TMS9918 series VDP in the TI-99/4A, CreatiVision, ColecoVision, and SG-1000.byuu wrote:Just look at the -batshit insane- format you have to use to send commands and write to the VDP memory or set register values. That is not an elegant design: it's a "how can we glue these two disparate components into a working system?" design.
Some of that might be tradition: 68000 systems are more likely to assert /BERR than 65816 systems are to assert /ABORT. When the 68000 came out, workstations and servers were moving toward memory protection rather than just letting programs run by one user of a time-sharing system stomp all over those run by another, while 65816 systems were either upgrades for 6502 systems (CMD SuperCPU for Commodore 64), backward-compatible successors to 6502 systems (Apple IIGS), or systems where backward compatibility with a previous 6502 platform was considered at least at the early design phase even if ultimately discarded (Super NES).byuu wrote:Look at all the ways you can deadlock the Sega Genesis by doing "disallowed things."
Code: Select all
-----------------------------------------------------------------------------
$02 - Tilemap A location - Tilemap location - Tilemap location
-----------------------------------------------------------------------------
7 - x - x - x
6 - A16 (128KB only) - x - x
5 - A15 - x - x
4 - A14 - x - x
3 - A13 - A13 - A13
2 - x - A12 - A12
1 - x - A11 (V224,V240 force 1) - A11
0 - x - 1 (needed for SMS1) - A10
8KB granularity for MD
2KB for SMS/GG
1KB for TMS