Well, they don't in this particular dissassembly of Mario:
http://pics.pineight.com/nes/smb1_src.zip The code is very long I must admit, but they pull of not having to incbin a bunch of files. But I don't know if I could make a reliable program for making levels. I can't even make a good titlescreen. when you .incbin a .nam file, it screws up alot. I don't know if it's the code, or what. It just screws up on every emulator besides Jnes. is there a way to make charles doty's junkdemo code reliable?
Code:
mazer:
lda #$20 ;
sta $2006 ; Set start address to Name Table #1
lda #$00 ;
sta $2006 ;
ldx #$00 ; Set X insty to 0
beg:
ldy maze,x ; Load Y insty with "maze" + X offset
rep:
lda #$01 ; begin 1st cycle of writing $01 to the name table
sta $2007 ; the number of times in the Y register
dey ; Decrement Y and
bne rep ; Repeat if Y is not yet zero
inx ; Increment X and
ldy maze,x ; Read the next maze value into the Y register
repa:
lda #$00 ; begin 2nd cycle of writing $00 to the name table
sta $2007 ; the number of times in the Y register
dey ; Decrement Y and
bne repa ; Repeat if Y is not zero
inx ; Increment X
cpx #252 ; right now the routine quits after 252 maze values
bne beg ; repeat the 1st & 2nd cycle if X isn't yet 252
rts
.db 64
.db 3,1,14,1,5,1,5,2
.db 3,1,14,1,5,1,5,3
.db 2,1,2,10,2,1,2,1,2,1,2,1,2,3
.db 2,1,5,1,5,1,2,1,2,1,2,1,2,1,2,3
.db 2,1,5,1,5,1,2,1,2,1,2,1,2,1,2,3
.db 2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3
.db 2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3
.db 2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3
.db 2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3
.db 2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3
.db 2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3
.db 2,1,2,1,2,1,2,1,2,1,5,1,2,1,2,1,2,3
.db 2,1,2,1,2,1,2,1,2,1,5,1,2,1,2,1,2,3
.db 2,1,2,1,2,1,2,1,2,7,2,1,2,1,2,3
.db 5,1,5,1,14,1,2,3
.db 5,1,5,1,14,1,2,34
I wonder what's so unreliable about this... well, the sprites position being updated during the pause routing, making it's movement visible one pixel at a time by just having a bunch to of NOP being jumped to like 46 million times and returning after that to move one more pixel and do it again seems pretty reliable, haha. That's very unreliable. I don't know about this bg code though. You don't want to see my version of this code running in Nintendulator. It looks like a frickin hurricane. And virtuaNES puts all the tiles in the wrong place. NESticle and Jnes do the Junkdemo right, and Jnes does my code, but not NESticle. I was wondering how the heck you could get a C program to output that hibber jibber you see when you open a .nam file in Notepad? If I knew how to output reliable code for the NES to output on the screen, I would just stop this whole thing and make my own level editor, which I would like to do, but I'm afraid i wouldn't know how to put it in my code. That didn't make much sense. Well, i'm going to go. bye.