Dwedit's Board

Enjoy the board

You are not logged in.

Announcement

Welcome, fellow visitors from other websites!
Whenever you download a file, I'd appreciate it if you posted a nice "Thank You" message, then tell me which site you came from. Thanks.
- Dwedit

#1 2008-06-24 7:54:55 pm

morbid27
Shigeru Miyamoto
Shigeru Miyamoto
Registered: 2008-06-13
Posts: 104

help

Hey i studied the ppu of nesds and made these changes could you compile it and see if it looks smoother please.
Included PPU.S, NESMAIN.C

Compiles with ARM ADS version source nesds.

Last edited by morbid27 (2008-06-24 8:37:11 pm)


Attachments:
s ppu.s, Size: 26.03 KiB, Downloads: 124

Offline

#2 2008-06-24 7:56:07 pm

morbid27
Shigeru Miyamoto
Shigeru Miyamoto
Registered: 2008-06-13
Posts: 104

Re: help

Nesmain.c

Arm Ads 1.2


Attachments:
c NESmain.c, Size: 3.86 KiB, Downloads: 119

Offline

#3 2008-06-25 1:59:42 am

Dwedit
Alex Trebek (Administrator)
From: Chicago
Registered: 2004-12-12
Posts: 991
Website

Re: help

Why are you copying and pasting C code into an ASM file?


"We are merely sprites that dance at the beck and call of our button pressing overlord."

Offline

#4 2008-06-25 9:13:03 am

morbid27
Shigeru Miyamoto
Shigeru Miyamoto
Registered: 2008-06-13
Posts: 104

Re: help

really its just a small change that might make it look better the code i put in nesmain should work but ya i guess your right ppu wont work im still learning ok so i put the vblank in nesmain maybe it will work?

Nesmain.c


Attachments:
c NESmain.c, Size: 4.1 KiB, Downloads: 115

Offline

#5 2008-06-25 9:15:20 am

morbid27
Shigeru Miyamoto
Shigeru Miyamoto
Registered: 2008-06-13
Posts: 104

Re: help

this is what i added should make it smoother

static void interrupthandler() {
    u32 jitter2 = blendFlipFlop<<7;
    u32 jitter3 = (blendFlipFlop^1)<<7;
    blendFlipFlop ^= 1;
   
     BG3_CX  = (32<<8) | jitter3;
     BG3_CY  = (8<<8) | jitter3;
     BG2_CX  = (32<<8) | jitter2;
     BG2_CY  = (8<<8) | jitter2;

void EMU_Init() {
    PPU_init();
    rescale(0xe000,-0x00060000);
void vramSetBankA(VRAM_A_TYPE 0x28800000);
void vramSetBankB(VRAM_B_TYPE 0x28800000);
    videoSetMode(MODE_5_2D | DISPLAY_BG3_ACTIVE | DISPLAY_BG2_ACTIVE); //SCR base=605xxxx, CHR base=600xxxx, OBJ H-blank process disable
    BG3_CR = VRAM_A_TYPE
    BG2_CR = VRAM_B_TYPE
    BLEND_CR = BLEND_ALPHA | BLEND_SRC_BG2 | BLEND_DST_BG3;
    BLEND_AB = (8 << 8) | 8;

i think you know what im getting at render two of the same screens then blend them into each other so that flicker is gone

Last edited by morbid27 (2008-06-25 9:37:44 am)

Offline

Quick reply

Write your message and submit

Board footer

Powered by FluxBB