Search found 402 matches

by never-obsolete
Tue Oct 16, 2018 7:56 pm
Forum: General Stuff
Topic: Start developing a game and don't sink into engine design?
Replies: 21
Views: 29087

Re: Start developing a game and don't sink into engine desig

The longer slog is implementing all of the items, levels, enemies, and abilities. That's the type of thing you'll burn out on. This. I finished the core of my Zelda-like game years ago, but always get burnt out creating content. I also like building engines, so I've started a few other projects and...
by never-obsolete
Wed Oct 10, 2018 7:05 am
Forum: NESdev
Topic: Writing my own assembler
Replies: 73
Views: 32751

Re: Writing my own assembler

The problem with that is that all these extra labels will get exported to label files along with the ones that are actually relevant for debugging. Maybe the solution is not to change ENUM, but to take a cue from ca65 and implement two forms of assignment for symbols, one that marks the symbol as a...
by never-obsolete
Fri Oct 05, 2018 1:46 pm
Forum: NESemdev
Topic: Mesen - NES Emulator
Replies: 967
Views: 587635

Re: Mesen - NES Emulator

I would show whatever valid instruction the PC points to. In this example, LDA #$FF.

The debugger was highlighted on line $FE66, but the actual value of the PC was $FE67.
by never-obsolete
Fri Oct 05, 2018 6:22 am
Forum: NESemdev
Topic: Mesen - NES Emulator
Replies: 967
Views: 587635

Re: Mesen - NES Emulator

Found an issue with the debugger. Here's an example: lda var beq _is_zero _is_not_zero: lda array, X .db $2C _is_zero: lda #$FF sta v0 rts The first time it ran, 'var' was non-zero, so it went through the array access path (lda, bit, sta, rts). Later on, 'var' was zero, so it went through the consta...
by never-obsolete
Tue Sep 18, 2018 1:28 pm
Forum: NESdev
Topic: Mesen Debugger - Feedback/Feature Requests? (2018 edition)
Replies: 204
Views: 141096

Re: Mesen Debugger - Feedback/Feature Requests? (2018 editi

So I finally took the time to download Mesen after fceux crashed because I tried a mmc3/chr-rom/chr-ram/wram combo. I've only briefly tried out the debugging features, but I was immediately impressed. The event viewer is really helpful and showed me that my irq fires 1 scanline early for a few frame...
by never-obsolete
Wed Aug 08, 2018 11:13 am
Forum: General Stuff
Topic: Networking, Threads, and Multiplayer
Replies: 1
Views: 3315

Networking, Threads, and Multiplayer

I've been reading up on both topics lately and was able to make a simple client-server chat program. Now I want to take this idea and extend it to a co-op game with both local and network support. For now, I'm just going to extend my original program to allow for multiple clients to join the server ...
by never-obsolete
Fri Jul 06, 2018 7:11 am
Forum: NES Graphics
Topic: Questions about animation frames
Replies: 13
Views: 11393

Re: Questions about animation frames

There is no hardware limitation on having different times for each frame of an animation. My animation code allows for this, but it does double the size of an animation definition (which isn't really a problem these days). Without bank switching or chr-ram you might run out of tiles to use on other ...
by never-obsolete
Thu May 31, 2018 8:21 pm
Forum: NESdev
Topic: Efficient way to reuse variables
Replies: 48
Views: 16947

Re: Efficient way to reuse variables

rainwarrior wrote:a 256 OAM buffer in RAM might be rebuilt every frame, which is quite a bit of temporary space available for anything that happens before you build your sprite list
I never considered this possibility. I'll have to keep this in mind if I find myself short on temporary storage.
by never-obsolete
Thu May 31, 2018 3:08 pm
Forum: NESdev
Topic: Efficient way to reuse variables
Replies: 48
Views: 16947

Re: Efficient way to reuse variables

I set aside zp variables like MIPS registers: a0 - a5 : argument registers t0 - t9 : temporary registers s0 - s5 : save registers v0 - v1 : return value registers (or more arguments) i0 - i1 : temporary registers (for interrupts) A , T , and V are assumed to be overwritten across function calls. S m...
by never-obsolete
Fri May 04, 2018 12:28 pm
Forum: General Stuff
Topic: Math in Video Game development
Replies: 16
Views: 7974

Re: Math in Video Game development

It depends on the type of game, but I do feel a basic understanding of math and physics helps. While working on a Zelda-type game, everything was very simple and basic. On the other hand, a platformer project was a lot more complex. Some of that was by choice, such as having elastic collisions inste...
by never-obsolete
Tue Apr 10, 2018 8:16 pm
Forum: NES Hardware and Flash Equipment
Topic: Mapper30 8x8 attributes on Everdrive
Replies: 42
Views: 16326

Re: Mapper30 8x8 attributes on Everdrive

* Which of the possible configurations would be your favorite? Conventional H/V mirroring trading away CHR tiles? One-screen mirroring leaving CHR alone? Or variants on the 4-screen configuration? I'm a big fan of one-screen mirroring. I like to used nat-a for the playing field and nat-b for the st...
by never-obsolete
Tue Apr 10, 2018 9:52 am
Forum: NES Hardware and Flash Equipment
Topic: Mapper30 8x8 attributes on Everdrive
Replies: 42
Views: 16326

Re: Mapper30 8x8 attributes on Everdrive

I added it to the FME7, but sorted cheated and used a block ram instead. Nice to see it in a more affordable package.

I'd have to double check, but I'm pretty sure I had to latch bits on the rising edge for the PowerPak.
by never-obsolete
Wed Feb 21, 2018 7:05 am
Forum: NES Hardware and Flash Equipment
Topic: Verilog and the Powerpak
Replies: 13
Views: 5428

Re: Verilog and the Powerpak

lidnariq wrote:I assume you're also keeping the NES's internal RAM off the bus?
Turns out this was it. After adding some logic to control ciram_ce, everything started working. Thanks!
by never-obsolete
Mon Feb 19, 2018 9:11 pm
Forum: NES Hardware and Flash Equipment
Topic: Verilog and the Powerpak
Replies: 13
Views: 5428

Re: Verilog and the Powerpak

I've been trying to figure out how to put data into PPU D0.D7 but haven't had any luck. I started out by filling the attribute tables with palette 0 in software, and trying to force them all to palette 2 in hardware. For bus control I have: assign neschr_oe=neschr_rd & ({chrain[13:12],chrain[9:6...