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
Member
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:
Attachment Icon ppu.s, Size: 26,658 bytes, Downloads: 131

Offline

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

morbid27
Member
Registered: 2008-06-13
Posts: 104

Re: help

Nesmain.c

Arm Ads 1.2


Attachments:
Attachment Icon NESmain.c, Size: 3,950 bytes, Downloads: 126

Offline

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

Dwedit
Administrator
From: Chicago
Registered: 2004-12-12
Posts: 1,017
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
Member
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:
Attachment Icon NESmain.c, Size: 4,196 bytes, Downloads: 122

Offline

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

morbid27
Member
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

Registered users online in this topic: 0, guests: 1
[Bot] claudebot

Board footer

Powered by FluxBB
Modified by Visman