Points of Required Attention™
Smaghetti, a new Super Mario Advance 4 editor, is currently in development! Check out the thread HERE!

Please chime in on a proposed restructuring of the ROM hacking sections.
Views: 88,275,923
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search 03-19-24 12:04 PM
Guest: Register | Login

Main - Posts by RetroRain

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50

RetroRain
Posted on 10-13-07 01:43 AM, in The NEW General Project Screenshot / Video Thread EX Omega Supreme++ Link | Quote | ID: 67575


Fuzz Ball
Level: 66

Posts: 1/994
EXP: 2430541
Next: 31310

Since: 09-30-07

Last post: 1897 days
Last view: 919 days


I've seen a lot of cool hacks going on. I started something today, by trying to do something new. I don't know if I can really go anywhere with this, or if I'm going to, but this was inspired by the person who made that Sub-Zero Mythologies hack out of SMB.

I call this Mario Kombat. I can do some ASM coding, in which if both guys get hit a certain amount of times, one of them dies obviously. But I'm wondering if there is anywhere I can go with this. Just something fun to try and see if I can do anything with it.

I could make Level 1 "Round 1", and Level 2 "Round 2", and you get a powerup, and you can use that powerup (fire flower for example) to do a fatality.

____________________
My YouTube Channel

RetroRain
Posted on 10-27-07 01:26 AM, in The NEW General Project Screenshot / Video Thread EX Omega Supreme++ Link | Quote | ID: 68697


Fuzz Ball
Level: 66

Posts: 2/994
EXP: 2430541
Next: 31310

Since: 09-30-07

Last post: 1897 days
Last view: 919 days
I'm adding to my hack concept a little bit. I'm now calling it Mario Trap. At the end of each stage, you will fight a boss, and he will have a lot of health. Along the way you will fight enemies, and view gruesome scenary, such as this.

This is a goomba prison. You will see a lot of trapped goombas, and you can see the dead goombas in the pit below.


This was inspired by the Dead Pool in Mortal Kombat II. You can see the dead Mario body in the pool. It's supposed to be Luigi. Obviously I got to fix the palettes and do more work. But I'm just tweaking around and coming up with ideas as I go.


____________________
My YouTube Channel

RetroRain
Posted on 10-31-07 10:02 PM, in Megaman Ultra 2 Teaser Trailer Link | Quote | ID: 68936


Fuzz Ball
Level: 66

Posts: 3/994
EXP: 2430541
Next: 31310

Since: 09-30-07

Last post: 1897 days
Last view: 919 days
Your teaser trailer is pretty cool. Good luck with your hack.

____________________
My YouTube Channel

RetroRain
Posted on 12-24-07 07:48 AM, in Question PPU/Name Table (rev. 2 of 12-24-07 07:51 AM) Link | Quote | ID: 72079


Fuzz Ball
Level: 66

Posts: 4/994
EXP: 2430541
Next: 31310

Since: 09-30-07

Last post: 1897 days
Last view: 919 days


Why is the tile number in the PPU viewer different from the tile number in the Name Table? I'm sorry if this is a noob question, but I'm studying the NES very in-depth, and I want to ask any questions that may arise. When I noticed this, it confused me. Can anyone clarify?

EDIT - and I suppose I should ask, why does the status bar show screwed up in the name table?

____________________
My YouTube Channel

RetroRain
Posted on 12-24-07 04:26 PM, in Question PPU/Name Table (rev. 2 of 12-24-07 04:43 PM) Link | Quote | ID: 72091


Fuzz Ball
Level: 66

Posts: 5/994
EXP: 2430541
Next: 31310

Since: 09-30-07

Last post: 1897 days
Last view: 919 days
Yeah, I see what you were saying about the tiles. I was looking at the wrong id, and both ppu and name tables show messed up. y0shi's doc is very good and has a lot of information. I have been reading a lot of other documents as well, but none of them explain anything about the graphics banks.



Using SMB3 as an example, after taking a look at a few different ROMs, I realized that there can be 8 different graphics banks. They are 1K in size. Thats a total of 64 tiles per graphics bank. The documents cover how to display sprites, set up the ppu, vblank, name tables, but I see nothing of how to setup graphics banks, or specify them. I read up on the Attribute tables. I am left to wonder if those have anything to do with it, but I don't think they do, unless I'm wrong. Developing a game from scratch, how would one specify which graphics bank to use? Or, do you know a document that does cover that? Thanks.

____________________
My YouTube Channel

RetroRain
Posted on 12-31-07 10:07 AM, in Question PPU/Name Table Link | Quote | ID: 72438


Fuzz Ball
Level: 66

Posts: 6/994
EXP: 2430541
Next: 31310

Since: 09-30-07

Last post: 1897 days
Last view: 919 days
Thanks for the info.

____________________
My YouTube Channel

RetroRain
Posted on 12-31-07 11:32 AM, in I don't believe in giving up... Link | Quote | ID: 72442


Fuzz Ball
Level: 66

Posts: 7/994
EXP: 2430541
Next: 31310

Since: 09-30-07

Last post: 1897 days
Last view: 919 days
I am more than frustrated. I stay up late, do an all-nighter, staring at text documents, reading whatever I can read. I'm obsessed. I want to learn how to program the NES, because I don't believe it is that hard to do. I think it is easy once you get to know it. Easy, but also a big pain in the butt. So, how exactly do you code it? I have been messing around with lots of different code structures.

Here is my personal code, that I wrote recently:

; Biohazard 1.5 Homebrew Project

; The first thing we need to do, is set up the INES header.

headerset:

.inesprg 1 ; specify how many PRG banks to use. For now we are going to use 1.
.ineschr 1 ; specify how many CHR banks to use. For now we are going to use 1.
.inesmir 1 ; mirroring. We are going to be doing mirroring. Set to 1.
.inesmap 0 ; Mapper 0 = no mapper. We aren't going to use one right now.

.bank 0 ; Use bank 0.
.org $8000 ; PRG-code will start at $8000.

cld ; clear decimal mode.
sei ; set interrupt disable status.

; Once the header is set up, we need to set up the PPU.

ppuset:

lda #%00001000
sta $2000
lda #%00011110
sta $2001

; Once the ppu is set up, we need to set up the palette next.

paletteset:

; This positions $2006 to $3F00, where can proceed to set up the palette.

lda #$3F
sta $2006
lda #$00
sta $2006

; Write palette data.

lda #$01
sta $2007
lda #$02
sta $2007
lda #$03
sta $2007
lda #$04
sta $2007
lda #$05
sta $2007
lda #$06
sta $2007
lda #$07
sta $2007
lda #$08
sta $2007
lda #$01
sta $2007
lda #$08
sta $2007
lda #$09
sta $2007
lda #$0A
sta $2007
lda #$01
sta $2007
lda #$0B
sta $2007
lda #$0C
sta $2007
lda #$0D
sta $2007
lda #$01
sta $2007
lda #$0D
sta $2007
lda #$08
sta $2007
lda #$2B
sta $2007
lda #$01
sta $2007
lda #$05
sta $2007
lda #$06
sta $2007
lda #$07
sta $2007
lda #$01
sta $2007
lda #$08
sta $2007
lda #$09
sta $2007
lda #$0A
sta $2007
lda #$01
sta $2007
lda #$0B
sta $2007
lda #$0C
sta $2007
lda #$0D
sta $2007

reset:
jmp headerset

vblank:
rti
irq:
rti

.bank 1 ; Bank 1
.org $FFFA ; Start at $FFFA. This is where we put the interrupt stuff.
.dw vblank, reset, irq

.bank 2 ; Bank 2
.incbin "graphics.chr" ; include our graphics file

Other documents I have read, have it layed out differently. So sure, there is more than one way to make the NES do stuff. It depends on what you want it to. But damn, I'm not understanding the structure here.

I have to try to be as specific as possible, because if I don't, you guys won't understand me. This code, when compiled, doesn't do anything. Thats because I wrote it myself. I had code earlier, much simpler code, that I copied from a document, that works when compiled. All I want to do, for starting out, is be able to make a title screen with the graphics I have.

What I want to do, is make a homebrew rom, a Resident Evil 2D game, for another community I am a part of.

Can anyone provide me with simple code for a title screen, or maybe explain some stuff to me? *Rockman is frustrated XD*

----------------------------------------------------------------------------------------

This code here, I compiled the first several times I did it, and it worked. All of sudden tonight, its not working for me, and I don't know why. It compiles, but it doesn't show me the graphics in the PPU viewer.

.inesprg 1
.ineschr 1
.inesmir 1
.inesmap 0

.org $8000
.bank 0

Start:

;this sets up the PPU
lda #%00001000
sta $2000
lda #%00011110
sta $2001

;set to start of palette
lda #$3F
sta $2006
lda #$00
sta $2006

;these are the writes that setup the palette
lda #$01
sta $2007
lda #$02
sta $2007
lda #$03
sta $2007
lda #$04
sta $2007
lda #$05
sta $2007
lda #$06
sta $2007
lda #$07
sta $2007
lda #$08
sta $2007
lda #$01 ;stop here
sta $2007
lda #$08
sta $2007
lda #$09
sta $2007
lda #$0A
sta $2007
lda #$01
sta $2007
lda #$0B
sta $2007
lda #$0C
sta $2007
lda #$0D
sta $2007
lda #$01 ;Start sprite colors
sta $2007
lda #$0D
sta $2007
lda #$08
sta $2007
lda #$2B
sta $2007
lda #$01
sta $2007
lda #$05
sta $2007
lda #$06
sta $2007
lda #$07
sta $2007
lda #$01
sta $2007
lda #$08
sta $2007
lda #$09
sta $2007
lda #$0A
sta $2007
lda #$01
sta $2007
lda #$0B
sta $2007
lda #$0C
sta $2007
lda #$0D
sta $2007

Loop:
jmp Loop

.bank 1
.org $FFFA
.dw 0 ;(NMI_Routine)
.dw Start ;(Reset_Routine)
.dw 0 ;(IRQ_Routine)

.bank 2
.org $0000
.incbin "test.chr" ;gotta be 8192 bytes long

-----------------------------------------------------------------

another thing i don't get is that loop code. If code is executed in sequential order, wouldn't the bank codes below it not get executed? correct me if i'm wrong, but i think the loop has to do something with vblank.

the rest of the code, i understand.

from the ines, to the ppu setup, to the palette setup, that i get. I'm confused about the interrupts, setting them up, and can't figure out why i can't get graphics to show up in my pattern table. All there is, is screens with fully loaded palettes. I'll show some pics..........

This is what is on my CHR file.



Thats all that is there. Yeah, it says BIOHAZARD 2 (Resident Evil 2) with an eye in the background. That is all that is on my CHR file. all i want to do is something simple, get that to display in the PPU viewer.

Now, here is the code copied from the document:

.inesprg 1
.ineschr 1
.inesmir 1
.inesmap 0

.org $8000
.bank 0

Start:

;this sets up the PPU
lda #%00001000
sta $2000
lda #%00011110
sta $2001

;set to start of palette
lda #$3F
sta $2006
lda #$00
sta $2006

;these are the writes that setup the palette
lda #$01
sta $2007
lda #$02
sta $2007
lda #$03
sta $2007
lda #$04
sta $2007
lda #$05
sta $2007
lda #$06
sta $2007
lda #$07
sta $2007
lda #$08
sta $2007
lda #$01 ;stop here
sta $2007
lda #$08
sta $2007
lda #$09
sta $2007
lda #$0A
sta $2007
lda #$01
sta $2007
lda #$0B
sta $2007
lda #$0C
sta $2007
lda #$0D
sta $2007
lda #$01 ;Start sprite colors
sta $2007
lda #$0D
sta $2007
lda #$08
sta $2007
lda #$2B
sta $2007
lda #$01
sta $2007
lda #$05
sta $2007
lda #$06
sta $2007
lda #$07
sta $2007
lda #$01
sta $2007
lda #$08
sta $2007
lda #$09
sta $2007
lda #$0A
sta $2007
lda #$01
sta $2007
lda #$0B
sta $2007
lda #$0C
sta $2007
lda #$0D
sta $2007

Loop:
jmp Loop

.bank 1
.org $FFFA
.dw 0 ;(NMI_Routine)
.dw Start ;(Reset_Routine)
.dw 0 ;(IRQ_Routine)

.bank 2
.org $0000
.incbin "graphics.chr" ;gotta be 8192 bytes long

The "graphics.chr" is obviously my chr file. COMPILE IT..........THEN.......

Open up the emu.



Where's my background???? It should at least show up in the PPU Viewer, not the Name Table or emulator screen. It should at least show up in the PPU Viewer. That code compiled, was taken right from an actual document. How come its not working????

I'm sorry if I'm unclear, or if I seem noobish or whatever. Its just that I'm tired. Its 5:30 AM in the morning, and I'm tired and frustrated. Any help would be greatly appreciated.

____________________
My YouTube Channel

RetroRain
Posted on 01-01-08 12:00 AM, in I don't believe in giving up... Link | Quote | ID: 72488


Fuzz Ball
Level: 66

Posts: 8/994
EXP: 2430541
Next: 31310

Since: 09-30-07

Last post: 1897 days
Last view: 919 days
Well guys, I finally figured out why it wasn't showing up. It was actually pretty simple:

Instead of this:

.bank 1
.org $FFFA
.dw 0 ;(NMI_Routine)
.dw Start ;(Reset_Routine)
.dw 0 ;(IRQ_Routine)

.bank 2
.org $0000
.incbin "test.chr" ;gotta be 8192 bytes long

It had to be this:

.bank 2
.org $0000
.incbin "test.chr" ;gotta be 8192 bytes long

.bank 1
.org $FFFA
.dw 0 ;(NMI_Routine)
.dw Start ;(Reset_Routine)
.dw 0 ;(IRQ_Routine)

Yeah, unbelievable eh? The interrupt bank has to be the last bank in the code. I switched those two sets of code, and it worked.

But now, I'm faced with another problem. Hopefully less complicated:



This is where I'm at now. Which is almost what I wanted. What I want to do, is see the title screen how it looks in the PPU Viewer? Thats the way I want it to show up on the screen. Anyone have any tips? Because, with the loop code I wrote, its making it look like that.

Here is the loop code I wrote:

ldx #$00
Title:
stx $2007
inx
cpx #$FF
bne Title

I guess what I need to know, is how do you specify the X and Y locations of the $2007 register? I know how to do it for SPR-RAM, but not for $2007.

____________________
My YouTube Channel

RetroRain
Posted on 01-01-08 01:15 AM, in I don't believe in giving up... Link | Quote | ID: 72491


Fuzz Ball
Level: 66

Posts: 9/994
EXP: 2430541
Next: 31310

Since: 09-30-07

Last post: 1897 days
Last view: 919 days
I already tried changing $2006. It doesn't do anything.



It DOES move the scanlines to where they should be, but the image still shows on the top of the screen.

The other issue, with the tiles, I figure that out after I get this fixed. Any info you can give would be greatly appreciated. Thank you for your help guys.

____________________
My YouTube Channel

RetroRain
Posted on 01-01-08 07:33 AM, in I don't believe in giving up... Link | Quote | ID: 72510


Fuzz Ball
Level: 66

Posts: 10/994
EXP: 2430541
Next: 31310

Since: 09-30-07

Last post: 1897 days
Last view: 919 days
Yeah, thanks for the narrowed-down palette code.

I'm stuck right now. I don't know what to do.

Programming the NES is such a bitch.

____________________
My YouTube Channel

RetroRain
Posted on 01-02-08 05:07 AM, in I don't believe in giving up... Link | Quote | ID: 72554


Fuzz Ball
Level: 66

Posts: 11/994
EXP: 2430541
Next: 31310

Since: 09-30-07

Last post: 1897 days
Last view: 919 days
Does anyone know how I can contact Sephiroth3 from DES? He was the coder for MMVen, so maybe he could help me out a little bit. The thing is, I don't know if he is still around the community, but if he has an email address, I want to try to contact him.

NetSplit, I didn't try the scroll register, because I don't really think that I have to use that to get what I want done. I'm not doubting you or anything, its just that I have been reading through tons of documents and source code, and something is telling me that $2005 is not needed. I could be wrong, but after all of this frustration, I really need to get some answers. What's funny is, its not like I'm trying to do anything big right now. I just want to get a simple title screen to show up. If I can't do that, then there is no use in trying to go further. I need to take one step at a time, and I can't allow myself to give up. Giving up won't get me anywhere, whereas trying to solve any problems that I run into, as I go, will help me learn, and allow me to succeed. I'm going to keep tackling this until I get it.

I have done a lot of coding that has lead to zero results. I tried making a table, containg 32x32 bytes of data (because thats what gets displayed on the screen, 32x32 tiles), and loading the title screen that way. No go. I tried to do the coding that you mentioned I should try, which is load 16 tiles, then load 16 blank tiles, and so on..... No go.

Maybe I coded some stuff wrong, because I didn't actually get the table code to compile. Do you know a simpler routine for loading 16 blank tiles after 16 graphics tiles? I had a tough time with that.

____________________
My YouTube Channel

RetroRain
Posted on 01-02-08 07:40 AM, in I don't believe in giving up... Link | Quote | ID: 72557


Fuzz Ball
Level: 66

Posts: 12/994
EXP: 2430541
Next: 31310

Since: 09-30-07

Last post: 1897 days
Last view: 919 days
You were right about the scrolling thing. I tried it and this is what I got.



I finally got it centered, the tile issue I'll address next, but I have one question. That green box that I highlighted, how come those graphics aren't showing up? I set $2006 to PPU Address $2148, but all thats there is blank tiles, instead of the tiles that should appear that are in the green box.

____________________
My YouTube Channel

RetroRain
Posted on 01-02-08 09:13 AM, in I don't believe in giving up... Link | Quote | ID: 72562


Fuzz Ball
Level: 66

Posts: 13/994
EXP: 2430541
Next: 31310

Since: 09-30-07

Last post: 1897 days
Last view: 919 days
Mission Accomplished.



However, it took a tremendous amount of coding to get it like this. But now that I got it like this, I can focus on narrowing the code down for future use.

Here is the code I used. It is long and ineffecient, but it works:

vwait:
lda $2002
bpl vwait


lda #$21
sta $2006
lda #$48
sta $2006

ldx #$00
Title1:
stx $2007
inx
cpx #$0F
bne Title1


lda #$21
sta $2006
lda #$68
sta $2006

ldx #$10
Title2:
stx $2007
inx
cpx #$1F
bne Title2


lda #$21
sta $2006
lda #$88
sta $2006

ldx #$20
Title3:
stx $2007
inx
cpx #$2F
bne Title3


lda #$21
sta $2006
lda #$A8
sta $2006

ldx #$30
Title4:
stx $2007
inx
cpx #$3F
bne Title4


lda #$21
sta $2006
lda #$C8
sta $2006

ldx #$40
Title5:
stx $2007
inx
cpx #$4F
bne Title5


lda #$21
sta $2006
lda #$E8
sta $2006

ldx #$50
Title6:
stx $2007
inx
cpx #$5F
bne Title6


lda #$22
sta $2006
lda #$08
sta $2006

ldx #$60
Title7:
stx $2007
inx
cpx #$6F
bne Title7


lda #$22
sta $2006
lda #$28
sta $2006

ldx #$70
Title8:
stx $2007
inx
cpx #$7F
bne Title8


lda #$22
sta $2006
lda #$48
sta $2006

ldx #$80
Title9:
stx $2007
inx
cpx #$8F
bne Title9


lda #$22
sta $2006
lda #$68
sta $2006

ldx #$90
Title10:
stx $2007
inx
cpx #$9F
bne Title10


lda #$22
sta $2006
lda #$88
sta $2006

ldx #$A0
Title11:
stx $2007
inx
cpx #$AF
bne Title11


lda #$20
sta $2006
sta $2006

Believe me, I tried making code to narrow this down, but it wouldn't work. I even tried the code you gave me, but it didn't work either. I remember my programming teacher telling me that if you have to repeat something over and over, you can probably use a loop to handle it and make it simpler. But I don't know how to make this simpler. It is definately a bit much just to show a title screen. If anyone could help me come up with simpler code, that would be awesome. Thanks for your help.

____________________
My YouTube Channel

RetroRain
Posted on 01-02-08 10:20 PM, in I don't believe in giving up... (rev. 3 of 01-03-08 12:18 AM) Link | Quote | ID: 72588


Fuzz Ball
Level: 66

Posts: 14/994
EXP: 2430541
Next: 31310

Since: 09-30-07

Last post: 1897 days
Last view: 919 days
NetSplit, the only thing I don't understand in your code is the $2006.

L_Write2: ;Write blank tiles
STA $2006 ;If you are writing tiles, shouldn't you be using $2007?
DEY
BNE L_Write2
LDY #$10
BNE L_Write1

But anyway, I got your code to compile, and this is what it shows:



It just shows the first row, nothing more. This is crazy.

And never-obsolete, thank you for the code.

____________________
My YouTube Channel

RetroRain
Posted on 01-03-08 12:30 AM, in I don't believe in giving up... Link | Quote | ID: 72597


Fuzz Ball
Level: 66

Posts: 15/994
EXP: 2430541
Next: 31310

Since: 09-30-07

Last post: 1897 days
Last view: 919 days


I changed the $2006 to $2007. I get more of an image, but the top row gets cut off, and the bottom rows do as well.

____________________
My YouTube Channel

RetroRain
Posted on 01-03-08 12:46 AM, in I don't believe in giving up... Link | Quote | ID: 72600


Fuzz Ball
Level: 66

Posts: 16/994
EXP: 2430541
Next: 31310

Since: 09-30-07

Last post: 1897 days
Last view: 919 days
.inesprg 1
.ineschr 1
.inesmir 1
.inesmap 0

.org $8000
.bank 0

Start:

;this sets up the PPU
lda #%00001000
sta $2000
lda #%00011110
sta $2001

;set to start of palette
lda #$3F
sta $2006
lda #$00
sta $2006

;these are the writes that setup the palette
lda #$0F
sta $2007
lda #$05
sta $2007
lda #$06
sta $2007
lda #$07
sta $2007
lda #$0F
sta $2007
lda #$05
sta $2007
lda #$06
sta $2007
lda #$07
sta $2007
lda #$0F ;stop here
sta $2007
lda #$05
sta $2007
lda #$06
sta $2007
lda #$07
sta $2007
lda #$0F
sta $2007
lda #$05
sta $2007
lda #$06
sta $2007
lda #$07
sta $2007
lda #$0F ;Start sprite colors
sta $2007
lda #$05
sta $2007
lda #$06
sta $2007
lda #$07
sta $2007
lda #$0F
sta $2007
lda #$05
sta $2007
lda #$06
sta $2007
lda #$07
sta $2007
lda #$0F
sta $2007
lda #$05
sta $2007
lda #$06
sta $2007
lda #$07
sta $2007
lda #$0F
sta $2007
lda #$05
sta $2007
lda #$06
sta $2007
lda #$07
sta $2007

vwait:
lda $2002
bpl vwait

lda #$21
sta $2006
lda #$48
sta $2006

LDX #$00
TXA
LDY #$10
L_Write1: ;Write logo's tiles
STX $2007
INX
DEY
BNE L_Write1
CPX #$B0
BEQ L_End
LDY #$10
L_Write2: ;Write blank tiles
STA $2007
DEY
BNE L_Write2
LDY #$10
BNE L_Write1

L_End:
lda #$20
sta $2006
sta $2006

Loop:
jmp Loop

.bank 2
.org $0000
.incbin "graphics.chr" ;gotta be 8192 bytes long

.bank 1
.org $FFFA
.dw 0 ;(NMI_Routine)
.dw Start ;(Reset_Routine)
.dw 0 ;(IRQ_Routine)

Compiling this code will get you this:



I know what you said about the palette code being too long. I haven't made that my concern, for obvious reasons.

____________________
My YouTube Channel

RetroRain
Posted on 01-03-08 01:32 AM, in I don't believe in giving up... (rev. 2 of 01-03-08 01:37 AM) Link | Quote | ID: 72607


Fuzz Ball
Level: 66

Posts: 17/994
EXP: 2430541
Next: 31310

Since: 09-30-07

Last post: 1897 days
Last view: 919 days
Your code was pretty good. I read it line by line. Wanna see something interesting?



I changed the BIOHAZARD 2 logo to characters, and look what it does.

This is using the code I just posted. Is it supposed to be using As all over the background like that? Look how messed up this whole thing gets.

EDIT - I'm using NESASM.

____________________
My YouTube Channel

RetroRain
Posted on 01-03-08 02:06 AM, in I don't believe in giving up... (rev. 2 of 01-03-08 03:46 AM) Link | Quote | ID: 72611


Fuzz Ball
Level: 66

Posts: 18/994
EXP: 2430541
Next: 31310

Since: 09-30-07

Last post: 1897 days
Last view: 919 days
Like this?

vwait1:

lda $2002
bpl vwait1

vwait2:

lda $2002
bpl vwait2

lda #%00010110 ;Turn off display
sta $2001

lda #$21 ; Continue code as normal
sta $2006
lda #$48
sta $2006

LDX #$00
TXA
LDY #$10
L_Write1: ;Write logo's tiles
STX $2007
INX
DEY
BNE L_Write1
CPX #$B0
BEQ L_End
LDY #$10
L_Write2: ;Write blank tiles
STA $2007
DEY
BNE L_Write2
LDY #$10
BNE L_Write1

L_End:
lda #$20
sta $2006
sta $2006

lda #%00011110 ; Turn display back on
sta $2001

Loop:
jmp Loop

I did this, and I still get the same results. However, if I take away the second vwait code, the name tables on the right side of the screen are all As. No gibberish there. I don't know.

---------------------------------------------------EDIT-----------------------------------------------------

I'm gonna be taking a break from this for a little while. It's getting to be too much for me. This is where I got the graphics from by the way.



This image right here, is 255x170. Its a nice quality image, and all I want to do is load the whole thing into the Name Table, so it displays nicely on the screen. I know it can be done, and I feel like as if there has to be a simpler way to do this. I'm gonna be checking out more documents later on http://nesdev.parodius.com, and see if anyone has done something like this, hopefully. Thats kinda what I been doing all along though. But, I really need a break from this. This is crazy.

Resident Evil 2 test demo running on the GameBoy Advance. I'm sure they were able to put that title screen there right from the background image.


____________________
My YouTube Channel

RetroRain
Posted on 01-03-08 04:13 AM, in I don't believe in giving up... Link | Quote | ID: 72621


Fuzz Ball
Level: 66

Posts: 19/994
EXP: 2430541
Next: 31310

Since: 09-30-07

Last post: 1897 days
Last view: 919 days
Wow, what a moron you are.

____________________
My YouTube Channel

RetroRain
Posted on 01-07-08 03:05 PM, in I don't believe in giving up... Link | Quote | ID: 72947


Fuzz Ball
Level: 66

Posts: 20/994
EXP: 2430541
Next: 31310

Since: 09-30-07

Last post: 1897 days
Last view: 919 days
Problem is finally solved......

Here is what happened.......

After I couldn't get NetSplit's code to work, I wondered why. The code seemed like it should work perfectly. So, I decided to make my own code, similar to NetSplit's, but different. I couldn't get that to work either. Then, I tried a million other different approaches. Couldn't get them to work either. Took a break from it for a few days, then tried at it again. This time, I wrote a different routine, using a bunch of BEQs, again, no success. Going through all of this crap, needless to say I was frustrated, and puzzled. How could no logical code be working?

So, I went back to NetSplit's code he gave me, and ran it. I noticed, just as before, that most of the picture is showing up. But not all of it. So I thought to myself, maybe too much is being written to the screen at once. So, I narrowed down the row (#$B0), to something smaller, such as #$60. Now I'm noticing that the top row is being shown perfectly, and it stops fine at #$60. I try a lower value. #$50. Top row shows fine, bottom gets cut off where it should get cut off. So, I came to the conclusion that there is nothing wrong with NetSplit's code, nor any of the other logical code that I used (I wrote a ton of perfect routines, that I had to delete), which should have worked, and that perhaps maybe it was something else that was causing this to happen. I finally got my answer this morning......

lda #%00010110 ;Turn off display
sta $2001

This little bitch right here. I copied this code from that same document that originally didn't run my code due to where I had my bank code located. Remember when I switched those two around, and finally it worked? Well, I thought to myself. If I am turning off the display completely, to write to the screen, then why are there 1s in there?

lda #%00000000
sta $2001

Changed it to this, and problem is fixed. NetSplit's code runs the whole logo, with no problem.



So.........in summary, what most likely was happening, was:

Half of the problem was not turning the screen off, the other half was turning the screen off improperly. Yeah, that really sucks.

I learned a lot from this experience, and I couldn't have done it without the help from you guys, but also, to any newbies or people looking to code a homebrew or something, you might want to stay away from this document:

http://nesdev.parodius.com/NESprgmn.txt

This guy apparently does not know how to use proper code.

And I have a suggestion. If anyone wants to sticky this topic, so others don't have to go through what I went through, and this topic was a great learning experience. Maybe people can learn from it. Its got a lot of info.

____________________
My YouTube Channel
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50


Main - Posts by RetroRain

Acmlmboard 2.1+4δ (2023-01-15)
© 2005-2023 Acmlm, blackhole89, Xkeeper et al.

Page rendered in 0.239 seconds. (338KB of memory used)
MySQL - queries: 129, rows: 161/161, time: 0.228 seconds.