I work on my program name is RetroSpriteEditor and encounter with the problem. Here is a background tileset.
![Image]()
I export to CHR file. And as you can see the file has a data by offset 0x1000.
![Image]()
In setup screen I have put the sprites on the screen and have push button export.
![Image]()
As result of code can be seen.
Maybe that this code is correct. But incorrect the main code, lets to show you.
I don't understand why this code is not work. Please, help me. I want to finish this editor and to start to work with NES.

I export to CHR file. And as you can see the file has a data by offset 0x1000.

In setup screen I have put the sprites on the screen and have push button export.

As result of code can be seen.
Code:
.segment "CODE".proc load_screen; save to 0 palette.LDA $2002LDX #$3fSTX $2006LDX #$00STX $2006LDX #$21STX $2007LDX #$7STX $2007LDX #$17STX $2007LDX #$37STX $2007; save to 1 palette.LDA $2002LDX #$3fSTX $2006LDX #$05STX $2006LDX #$7STX $2007LDX #$12STX $2007LDX #$13STX $2007; save to 2 palette.LDA $2002LDX #$3fSTX $2006LDX #$09STX $2006LDX #$21STX $2007LDX #$22STX $2007LDX #$23STX $2007; save to 3 palette.LDA $2002LDX #$3fSTX $2006LDX #$0dSTX $2006LDX #$31STX $2007LDX #$32STX $2007LDX #$33STX $2007LDA $2002LDA #$20TAXTXSSTA $2006LDA #$00STA $2006JMP load_screen0cycle_load_screen:TSXINXTXSCPX #$21BEQ load_1CPX #$22BEQ load_2CPX #$23BEQ load_3CPX #$24BEQ end_load_screenload_screen0:LDY #$00load_0:LDX screen_0, YSTX $2007INYBNE load_0JMP cycle_load_screenload_1:LDX screen_1, YSTX $2007INYBNE load_1JMP cycle_load_screenload_2:LDX screen_2, YSTX $2007INYBNE load_2JMP cycle_load_screenload_3:LDX screen_3, YSTX $2007INYBNE load_3JMP cycle_load_screenend_load_screen:TSXRTS.endproc.SEGMENT "RODATA"screen_0:.byte $1, $2, $3, $4.byte $5, $6, $7, $8.byte $9, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $21, $22, $23, $24.byte $25, $26, $27, $28.byte $29, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $41, $42, $43, $44.byte $45, $46, $47, $48.byte $49, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $1, $2, $3, $4.byte $5, $6, $7, $8.byte $9, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $21, $22, $23, $24.byte $25, $26, $27, $28.byte $29, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $41, $42, $43, $44.byte $45, $46, $47, $48.byte $49, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0screen_1:.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0screen_2:.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0screen_3:.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $42, $43, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $42.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0.byte $0, $0, $0, $0
Code:
.include "header.inc_nes".include "constants.inc_nes".segment "CODE";.include "famistudio_ca65.s_nes";.include "song_0.s_nes".include "assets/screen_ca65.s".proc reset_handlerSEICLDLDX #$00STX PPUCTRLSTX PPUMASKvblankwait:BIT PPUSTATUSBPL vblankwaitLDA #%10010000STA PPUCTRLLDA #%00011110STA PPUMASKJMP main.endproc.proc irq_handlerRTI.endproc.proc nmi_handler;JSR famistudio_updateRTI.endproc.proc ppu_updaterts.endproc.proc mainLDA #$00 ; Initialize sound registersLDX #$00VBlankOne:BIT PPUSTATUSBPL VBlankOne;LDA #1;LDX #.lobyte(music_data_menu);LDY #.hibyte(music_data_menu);JSR famistudio_init;LDA #0;JSR famistudio_music_playLDA #%00010000STA $2000JSR load_screenLDA #%10010000STA $2000LDA #%00001111STA $2001LDA #$00STA $2005STA $2005forever:JMP forever.endproc.segment "ZP".segment "CHR0".incbin "assets/fisishing0.chr".segment "RODATA".segment "VECTORS".addr nmi_handler, reset_handler, irq_handler
Statistics: Posted by xverizex — Fri Dec 15, 2023 3:36 pm — Replies 25 — Views 1978