NTSC/PAL update by Stefan Haubenthal.

git-svn-id: svn://svn.cc65.org/cc65/trunk@3831 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cuz
2008-04-10 20:15:28 +00:00
parent 6787fb362f
commit 1a0c871976
2 changed files with 16 additions and 48 deletions

View File

@@ -1,20 +1,24 @@
; ;
; Ullrich von Bassewitz, 2003-04-14 ; Ullrich von Bassewitz, 2003-04-14
; Stefan Haubenthal, 2007-01-21
; ;
; Screen size function ; Screen size function
; ;
.export screensize .export screensize
.include "nes.inc" .include "nes.inc"
.include "get_tv.inc"
.proc screensize .proc screensize
ldx #charsperline jsr _get_tv
ldy #screenrows ldx #charsperline
rts ldy #screenrows
cmp #TV::NTSC
beq nopal
dey
nopal: rts
.endproc .endproc

View File

@@ -9,7 +9,7 @@
.export _exit .export _exit
.import initlib, donelib, callmain .import initlib, donelib, callmain
.import push0, _main, zerobss .import push0, _main, zerobss, copydata
.import ppubuf_flush .import ppubuf_flush
; Linker generated symbols ; Linker generated symbols
@@ -19,7 +19,6 @@
.import __STARTUP_LOAD__,__STARTUP_RUN__, __STARTUP_SIZE__ .import __STARTUP_LOAD__,__STARTUP_RUN__, __STARTUP_SIZE__
.import __CODE_LOAD__,__CODE_RUN__, __CODE_SIZE__ .import __CODE_LOAD__,__CODE_RUN__, __CODE_SIZE__
.import __RODATA_LOAD__,__RODATA_RUN__, __RODATA_SIZE__ .import __RODATA_LOAD__,__RODATA_RUN__, __RODATA_SIZE__
.import __DATA_LOAD__,__DATA_RUN__, __DATA_SIZE__
.include "zeropage.inc" .include "zeropage.inc"
.include "nes.inc" .include "nes.inc"
@@ -57,7 +56,7 @@
; | ..-EOF | | CHR-ROM pages (in ascending order). | ; | ..-EOF | | CHR-ROM pages (in ascending order). |
; +--------+------+------------------------------------------+ ; +--------+------+------------------------------------------+
.byte $4e,$45,$53,$1a ; "nes\n" .byte $4e,$45,$53,$1a ; "NES"^Z
.byte 2 ; ines prg - Specifies the number of 16k prg banks. .byte 2 ; ines prg - Specifies the number of 16k prg banks.
.byte 1 ; ines chr - Specifies the number of 8k chr banks. .byte 1 ; ines chr - Specifies the number of 8k chr banks.
.byte %00000011 ; ines mir - Specifies VRAM mirroring of the banks. .byte %00000011 ; ines mir - Specifies VRAM mirroring of the banks.
@@ -96,43 +95,8 @@ start:
jsr zerobss jsr zerobss
; Copy the .data segment to RAM ; initialize data
jsr copydata
lda #<(__DATA_LOAD__)
sta ptr1
lda #>(__DATA_LOAD__)
sta ptr1+1
lda #<(__DATA_RUN__)
sta ptr2
lda #>(__DATA_RUN__)
sta ptr2+1
ldx #>(__DATA_SIZE__)
@l2: beq @s1 ; no more full pages
; copy one page
ldy #0
@l1: lda (ptr1),y
sta (ptr2),y
iny
bne @l1
inc ptr1+1
inc ptr2+1
dex
bne @l2
; copy remaining bytes
@s1:
; copy one page
ldy #0
@l3: lda (ptr1),y
sta (ptr2),y
iny
cpy #<(__DATA_SIZE__)
bne @l3
; setup the stack ; setup the stack