From eb96a90e5fe642102b5b81dc1e031641ed362c29 Mon Sep 17 00:00:00 2001 From: mrdudz Date: Sun, 28 Feb 2016 22:35:46 +0100 Subject: [PATCH 01/12] initial import from old sources --- libsrc/c128/waitvblank.s | 20 ++++++++++++++++++++ libsrc/c64/waitvblank.s | 20 ++++++++++++++++++++ libsrc/cbm510/waitvblank.s | 37 +++++++++++++++++++++++++++++++++++++ libsrc/vic20/waitvblank.s | 16 ++++++++++++++++ 4 files changed, 93 insertions(+) create mode 100644 libsrc/c128/waitvblank.s create mode 100644 libsrc/c64/waitvblank.s create mode 100644 libsrc/cbm510/waitvblank.s create mode 100644 libsrc/vic20/waitvblank.s diff --git a/libsrc/c128/waitvblank.s b/libsrc/c128/waitvblank.s new file mode 100644 index 000000000..a3904d858 --- /dev/null +++ b/libsrc/c128/waitvblank.s @@ -0,0 +1,20 @@ + + .export _waitvblank + + .include "c128/c128.inc" + +_waitvblank: + lda PALFLAG + beq @ntsc + ldx #(312-24)-256 + .byte $2c +@ntsc: + ldx #(262-4)-256 +@l1: + lda VIC_CTRL1 + and #$80 + beq @l1 +@l2: + cpx VIC_HLINE + bcs @l2 + rts diff --git a/libsrc/c64/waitvblank.s b/libsrc/c64/waitvblank.s new file mode 100644 index 000000000..09570f873 --- /dev/null +++ b/libsrc/c64/waitvblank.s @@ -0,0 +1,20 @@ + + .export _waitvblank + + .include "c64/c64.inc" + +_waitvblank: + lda PALFLAG + beq @ntsc + ldx #(312-24)-256 + .byte $2c +@ntsc: + ldx #(262-4)-256 +@l1: + lda VIC_CTRL1 + and #$80 + beq @l1 +@l2: + cpx VIC_HLINE + bcs @l2 + rts diff --git a/libsrc/cbm510/waitvblank.s b/libsrc/cbm510/waitvblank.s new file mode 100644 index 000000000..30cbf072f --- /dev/null +++ b/libsrc/cbm510/waitvblank.s @@ -0,0 +1,37 @@ + + .export _waitvblank + .import PALFLAG + .import sys_bank, restore_bank + + .importzp vic + + .include "cbm510/cbm510.inc" + +_waitvblank: + rts ; FIXME + + jsr sys_bank ; Switch to the system bank + + lda PALFLAG + beq ntsc + ldx #(312-24)-256 + .byte $2c +ntsc: + ldx #(262-2)-256 + + sei + ldy #VIC_CTRL1 +l1: + lda (vic),y + and #$80 + beq l1 + +;?!? +; ldy #VIC_HLINE +; txa +;l2: +; cmp (vic),y +; bcs l2 + + cli + jmp restore_bank diff --git a/libsrc/vic20/waitvblank.s b/libsrc/vic20/waitvblank.s new file mode 100644 index 000000000..b99c74bed --- /dev/null +++ b/libsrc/vic20/waitvblank.s @@ -0,0 +1,16 @@ + .export _waitvblank + + .include "vic20/vic20.inc" + +_waitvblank: + lda PALFLAG + beq @ntsc + ldx #(312-8)/2 + .byte $2c +@ntsc: + ldx #(262-8)/2 +@l2: + cpx VIC_HLINE + bcs @l2 + rts + From 035621aa95e2be6a6f5f0fc091e9fc4c7df2047d Mon Sep 17 00:00:00 2001 From: mrdudz Date: Sat, 17 Jun 2017 02:26:54 +0200 Subject: [PATCH 02/12] fixed code a bit so it compiles again :) --- libsrc/c128/waitvblank.s | 15 ++++----------- libsrc/c64/waitvblank.s | 15 ++++----------- libsrc/cbm510/waitvblank.s | 27 ++++++++------------------- libsrc/vic20/waitvblank.s | 7 ++++++- 4 files changed, 22 insertions(+), 42 deletions(-) diff --git a/libsrc/c128/waitvblank.s b/libsrc/c128/waitvblank.s index a3904d858..54699286c 100644 --- a/libsrc/c128/waitvblank.s +++ b/libsrc/c128/waitvblank.s @@ -1,20 +1,13 @@ .export _waitvblank - .include "c128/c128.inc" + .include "c128.inc" _waitvblank: - lda PALFLAG - beq @ntsc - ldx #(312-24)-256 - .byte $2c -@ntsc: - ldx #(262-4)-256 @l1: lda VIC_CTRL1 - and #$80 - beq @l1 + bpl @l1 @l2: - cpx VIC_HLINE - bcs @l2 + lda VIC_CTRL1 + bmi @l2 rts diff --git a/libsrc/c64/waitvblank.s b/libsrc/c64/waitvblank.s index 09570f873..606f41681 100644 --- a/libsrc/c64/waitvblank.s +++ b/libsrc/c64/waitvblank.s @@ -1,20 +1,13 @@ .export _waitvblank - .include "c64/c64.inc" + .include "c64.inc" _waitvblank: - lda PALFLAG - beq @ntsc - ldx #(312-24)-256 - .byte $2c -@ntsc: - ldx #(262-4)-256 @l1: lda VIC_CTRL1 - and #$80 - beq @l1 + bpl @l1 @l2: - cpx VIC_HLINE - bcs @l2 + lda VIC_CTRL1 + bmi @l2 rts diff --git a/libsrc/cbm510/waitvblank.s b/libsrc/cbm510/waitvblank.s index 30cbf072f..975861f2c 100644 --- a/libsrc/cbm510/waitvblank.s +++ b/libsrc/cbm510/waitvblank.s @@ -5,33 +5,22 @@ .importzp vic - .include "cbm510/cbm510.inc" + .include "cbm510.inc" _waitvblank: rts ; FIXME jsr sys_bank ; Switch to the system bank - lda PALFLAG - beq ntsc - ldx #(312-24)-256 - .byte $2c -ntsc: - ldx #(262-2)-256 - sei - ldy #VIC_CTRL1 -l1: - lda (vic),y - and #$80 - beq l1 -;?!? -; ldy #VIC_HLINE -; txa -;l2: -; cmp (vic),y -; bcs l2 + ldy #VIC_CTRL1 +@l1: + lda (vic),y + bpl @l1 +@l2: + lda (vic),y + bmi @l2 cli jmp restore_bank diff --git a/libsrc/vic20/waitvblank.s b/libsrc/vic20/waitvblank.s index b99c74bed..246c44640 100644 --- a/libsrc/vic20/waitvblank.s +++ b/libsrc/vic20/waitvblank.s @@ -1,6 +1,11 @@ .export _waitvblank - .include "vic20/vic20.inc" + .include "vic20.inc" + +; FIXME +; this flag doesnt work on vic20!!! +; it will have to be filled by a get_tv() constructor or so +PALFLAG = $2A6 ; $01 = PAL, $00 = NTSC _waitvblank: lda PALFLAG From 49aad01bf105fb731270a964c6130c3f52165c0d Mon Sep 17 00:00:00 2001 From: mrdudz Date: Wed, 21 Jun 2017 23:18:00 +0200 Subject: [PATCH 03/12] dont trash akku if possible, use VDC register when in 80column mode --- libsrc/c128/waitvblank.s | 16 ++++++++++++++-- libsrc/c64/waitvblank.s | 4 ++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/libsrc/c128/waitvblank.s b/libsrc/c128/waitvblank.s index 54699286c..e0a469d0e 100644 --- a/libsrc/c128/waitvblank.s +++ b/libsrc/c128/waitvblank.s @@ -4,10 +4,22 @@ .include "c128.inc" _waitvblank: + + lda MODE + bmi @c80 + @l1: - lda VIC_CTRL1 + bit VIC_CTRL1 bpl @l1 @l2: - lda VIC_CTRL1 + bit VIC_CTRL1 bmi @l2 rts + +@c80: + ;FIXME: do we have to switch banks? +@l3: + lda VDC_INDEX + and #$20 + beq @l3 + rts diff --git a/libsrc/c64/waitvblank.s b/libsrc/c64/waitvblank.s index 606f41681..dd9087841 100644 --- a/libsrc/c64/waitvblank.s +++ b/libsrc/c64/waitvblank.s @@ -5,9 +5,9 @@ _waitvblank: @l1: - lda VIC_CTRL1 + bit VIC_CTRL1 bpl @l1 @l2: - lda VIC_CTRL1 + bit VIC_CTRL1 bmi @l2 rts From 3ff4a1333c374c0092abe227523f940e6f1d4ea6 Mon Sep 17 00:00:00 2001 From: mrdudz Date: Thu, 22 Jun 2017 00:19:39 +0200 Subject: [PATCH 04/12] use BIT so akku wont get trashed at least in 40 cols mode --- libsrc/c128/waitvblank.s | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libsrc/c128/waitvblank.s b/libsrc/c128/waitvblank.s index e0a469d0e..c144e11c2 100644 --- a/libsrc/c128/waitvblank.s +++ b/libsrc/c128/waitvblank.s @@ -5,7 +5,7 @@ _waitvblank: - lda MODE + bit MODE bmi @c80 @l1: From 1abce3a2a1d7df81a580e9120a34e1d697085b3e Mon Sep 17 00:00:00 2001 From: mrdudz Date: Mon, 17 Jul 2017 23:15:05 +0200 Subject: [PATCH 05/12] rename all waitvblank() to waitvsync() --- doc/funcref.sgml | 2 +- doc/nes.sgml | 4 ++-- doc/pce.sgml | 2 +- doc/supervision.sgml | 2 +- include/gamate.h | 4 ++-- include/nes.h | 4 ++-- include/pce.h | 4 ++-- libsrc/c128/{waitvblank.s => waitvsync.s} | 4 ++-- libsrc/c64/{waitvblank.s => waitvsync.s} | 4 ++-- libsrc/cbm510/{waitvblank.s => waitvsync.s} | 4 ++-- libsrc/gamate/{waitvblank.s => waitvsync.s} | 6 +++--- libsrc/nes/{waitvblank.s => waitvsync.s} | 6 +++--- libsrc/pce/{waitvblank.s => waitvsync.s} | 6 +++--- libsrc/vic20/{waitvblank.s => waitvsync.s} | 4 ++-- testcode/lib/conio.c | 4 ++-- testcode/lib/gamate/ctest.c | 2 +- testcode/lib/pce/conio.c | 2 +- 17 files changed, 32 insertions(+), 32 deletions(-) rename libsrc/c128/{waitvblank.s => waitvsync.s} (87%) rename libsrc/c64/{waitvblank.s => waitvsync.s} (75%) rename libsrc/cbm510/{waitvblank.s => waitvsync.s} (88%) rename libsrc/gamate/{waitvblank.s => waitvsync.s} (74%) rename libsrc/nes/{waitvblank.s => waitvsync.s} (73%) rename libsrc/pce/{waitvblank.s => waitvsync.s} (71%) rename libsrc/vic20/{waitvblank.s => waitvsync.s} (88%) diff --git a/doc/funcref.sgml b/doc/funcref.sgml index a2ccf6c73..b5295a63b 100644 --- a/doc/funcref.sgml +++ b/doc/funcref.sgml @@ -415,7 +415,7 @@ function. - + (incomplete) diff --git a/doc/nes.sgml b/doc/nes.sgml index 98c25b6af..31d1aa396 100644 --- a/doc/nes.sgml +++ b/doc/nes.sgml @@ -1,4 +1,4 @@ - +
@@ -69,7 +69,7 @@ Programs containing NES specific code may use the NES specific functions

-waitvblank - wait until the start of vblank +waitvsync - wait until the start of the next frame get_tv diff --git a/doc/pce.sgml b/doc/pce.sgml index ba59c31a7..124cb329e 100644 --- a/doc/pce.sgml +++ b/doc/pce.sgml @@ -77,7 +77,7 @@ Programs containing PCE specific code may use the PCE specific functions

-waitvblank +waitvsync get_tv (since all PCE systems are NTSC, this always returns TV_NTSC) diff --git a/doc/supervision.sgml b/doc/supervision.sgml index 97495dea5..2466aa480 100644 --- a/doc/supervision.sgml +++ b/doc/supervision.sgml @@ -66,7 +66,7 @@ Programs containing Supervision specific code may use the Supervision specific functions

-waitvblank +waitvsync diff --git a/include/gamate.h b/include/gamate.h index 82bca08b1..96c70c9bc 100644 --- a/include/gamate.h +++ b/include/gamate.h @@ -188,8 +188,8 @@ extern void gamate_stdjoy_joy[]; /* Referred to by joy_static_stddrv[] */ #define JOY_START 6 #define JOY_SELECT 7 -void waitvblank (void); -/* Wait for the vertical blanking */ +void waitvsync (void); +/* Wait for start of next frame */ /* NOTE: all Gamate are "NTSC" */ #define get_tv() TV_NTSC diff --git a/include/nes.h b/include/nes.h index a472a0f3c..95e2fe93b 100644 --- a/include/nes.h +++ b/include/nes.h @@ -163,8 +163,8 @@ extern void nes_64_56_2_tgi[]; /* Referred to by tgi_static_stddrv[] */ -void waitvblank (void); -/* Wait for the vertical blanking */ +void waitvsync (void); +/* Wait for start of the next frame */ unsigned char get_tv (void); /* Return the video mode the machine is using. */ diff --git a/include/pce.h b/include/pce.h index 7700654c8..856a2fa1d 100644 --- a/include/pce.h +++ b/include/pce.h @@ -83,8 +83,8 @@ extern void pce_stdjoy_joy[]; /* Referred to by joy_static_stddrv[] */ #define JOY_SELECT 6 #define JOY_RUN 7 -void waitvblank (void); -/* Wait for the vertical blanking */ +void waitvsync (void); +/* Wait for start of the next frame */ /* NOTE: all PCE are NTSC */ #define get_tv() TV_NTSC diff --git a/libsrc/c128/waitvblank.s b/libsrc/c128/waitvsync.s similarity index 87% rename from libsrc/c128/waitvblank.s rename to libsrc/c128/waitvsync.s index c144e11c2..1597e5fa0 100644 --- a/libsrc/c128/waitvblank.s +++ b/libsrc/c128/waitvsync.s @@ -1,9 +1,9 @@ - .export _waitvblank + .export _waitvsync .include "c128.inc" -_waitvblank: +_waitvsync: bit MODE bmi @c80 diff --git a/libsrc/c64/waitvblank.s b/libsrc/c64/waitvsync.s similarity index 75% rename from libsrc/c64/waitvblank.s rename to libsrc/c64/waitvsync.s index dd9087841..15ef61bb7 100644 --- a/libsrc/c64/waitvblank.s +++ b/libsrc/c64/waitvsync.s @@ -1,9 +1,9 @@ - .export _waitvblank + .export _waitvsync .include "c64.inc" -_waitvblank: +_waitvsync: @l1: bit VIC_CTRL1 bpl @l1 diff --git a/libsrc/cbm510/waitvblank.s b/libsrc/cbm510/waitvsync.s similarity index 88% rename from libsrc/cbm510/waitvblank.s rename to libsrc/cbm510/waitvsync.s index 975861f2c..bd631e4d6 100644 --- a/libsrc/cbm510/waitvblank.s +++ b/libsrc/cbm510/waitvsync.s @@ -1,5 +1,5 @@ - .export _waitvblank + .export _waitvsync .import PALFLAG .import sys_bank, restore_bank @@ -7,7 +7,7 @@ .include "cbm510.inc" -_waitvblank: +_waitvsync: rts ; FIXME jsr sys_bank ; Switch to the system bank diff --git a/libsrc/gamate/waitvblank.s b/libsrc/gamate/waitvsync.s similarity index 74% rename from libsrc/gamate/waitvblank.s rename to libsrc/gamate/waitvsync.s index 66686c08a..9b1199055 100644 --- a/libsrc/gamate/waitvblank.s +++ b/libsrc/gamate/waitvsync.s @@ -1,16 +1,16 @@ ; -; void waitvblank (void); +; void waitvsync (void); ; .include "gamate.inc" .include "extzp.inc" .forceimport ticktock - .export _waitvblank + .export _waitvsync ; FIXME: is this actually correct? -.proc _waitvblank +.proc _waitvsync lda tickcount @lp: cmp tickcount diff --git a/libsrc/nes/waitvblank.s b/libsrc/nes/waitvsync.s similarity index 73% rename from libsrc/nes/waitvblank.s rename to libsrc/nes/waitvsync.s index 408646904..11a231ac4 100644 --- a/libsrc/nes/waitvblank.s +++ b/libsrc/nes/waitvsync.s @@ -2,14 +2,14 @@ ; Written by Groepaz/Hitmen ; Cleanup by Ullrich von Bassewitz ; -; void waitvblank(void); +; void waitvsync(void); ; - .export _waitvblank + .export _waitvsync .include "nes.inc" -.proc _waitvblank +.proc _waitvsync wait: lda PPU_STATUS bpl wait diff --git a/libsrc/pce/waitvblank.s b/libsrc/pce/waitvsync.s similarity index 71% rename from libsrc/pce/waitvblank.s rename to libsrc/pce/waitvsync.s index b9f0f902f..f1eab36f8 100644 --- a/libsrc/pce/waitvblank.s +++ b/libsrc/pce/waitvsync.s @@ -1,14 +1,14 @@ ; -; void waitvblank (void); +; void waitvsync (void); ; .include "pce.inc" .include "extzp.inc" .forceimport ticktock - .export _waitvblank + .export _waitvsync -.proc _waitvblank +.proc _waitvsync lda tickcount @lp: cmp tickcount diff --git a/libsrc/vic20/waitvblank.s b/libsrc/vic20/waitvsync.s similarity index 88% rename from libsrc/vic20/waitvblank.s rename to libsrc/vic20/waitvsync.s index 246c44640..9f0d50565 100644 --- a/libsrc/vic20/waitvblank.s +++ b/libsrc/vic20/waitvsync.s @@ -1,4 +1,4 @@ - .export _waitvblank + .export _waitvsync .include "vic20.inc" @@ -7,7 +7,7 @@ ; it will have to be filled by a get_tv() constructor or so PALFLAG = $2A6 ; $01 = PAL, $00 = NTSC -_waitvblank: +_waitvsync: lda PALFLAG beq @ntsc ldx #(312-8)/2 diff --git a/testcode/lib/conio.c b/testcode/lib/conio.c index fe977ec08..13188d1cd 100644 --- a/testcode/lib/conio.c +++ b/testcode/lib/conio.c @@ -117,8 +117,8 @@ void main(void) gotoxy(7 + inpos,1); #if defined(__NES__) || defined(__PCE__) || defined(__GAMATE__) - /* not all targets have waitvblank */ - waitvblank(); + /* not all targets have waitvsync */ + waitvsync(); /* for targets that do not have a keyboard, read the first joystick */ joy = joy_read(JOY_1); diff --git a/testcode/lib/gamate/ctest.c b/testcode/lib/gamate/ctest.c index dfebd9bef..793770cee 100644 --- a/testcode/lib/gamate/ctest.c +++ b/testcode/lib/gamate/ctest.c @@ -41,7 +41,7 @@ int main(int argc, char *argv[]) break; } - waitvblank(); + waitvsync(); (*((unsigned char*)LCD_XPOS)) = x; (*((unsigned char*)LCD_YPOS)) = y; diff --git a/testcode/lib/pce/conio.c b/testcode/lib/pce/conio.c index a4bd63b15..00ae3c157 100644 --- a/testcode/lib/pce/conio.c +++ b/testcode/lib/pce/conio.c @@ -123,7 +123,7 @@ void main(void) p[8],p[9],p[10],p[11],p[12],p[13],p[14],p[15]); } - waitvblank(); + waitvsync(); ++n; } } From d965601a5e56a04c14ba6ba7abd6f56a459a7238 Mon Sep 17 00:00:00 2001 From: mrdudz Date: Mon, 17 Jul 2017 23:31:01 +0200 Subject: [PATCH 06/12] fix sgml --- doc/nes.sgml | 4 ++-- doc/supervision.sgml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/nes.sgml b/doc/nes.sgml index 31d1aa396..e806d753f 100644 --- a/doc/nes.sgml +++ b/doc/nes.sgml @@ -69,8 +69,8 @@ Programs containing NES specific code may use the NES specific functions

-waitvsync - wait until the start of the next frame -get_tv +waitvsync - wait until the start of the next frame +get_tv diff --git a/doc/supervision.sgml b/doc/supervision.sgml index 2466aa480..cf2af7967 100644 --- a/doc/supervision.sgml +++ b/doc/supervision.sgml @@ -66,7 +66,7 @@ Programs containing Supervision specific code may use the Supervision specific functions

-waitvsync +waitvsync From 33791c6efdae474ac2ee9fc35e4dfc942e2a6bd5 Mon Sep 17 00:00:00 2001 From: mrdudz Date: Mon, 17 Jul 2017 23:43:08 +0200 Subject: [PATCH 07/12] added prototype to cbm.h --- include/cbm.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/include/cbm.h b/include/cbm.h index 701924d57..4bbd278e3 100644 --- a/include/cbm.h +++ b/include/cbm.h @@ -153,7 +153,10 @@ struct cbm_dirent { unsigned char get_tv (void); /* Return the video mode the machine is using. */ - +#if !defined(__PLUS4__) && !defined(__C16__) && !defined(__CBM610__) && !defined(__PET__) +void waitvsync (void); +/* wait for the start of the next frame */ +#endif /*****************************************************************************/ /* CBM kernal functions */ From fe850fece8d6352f695586e9c34830ae94f52ae3 Mon Sep 17 00:00:00 2001 From: mrdudz Date: Mon, 17 Jul 2017 23:55:18 +0200 Subject: [PATCH 08/12] implement waitvsync for plus4/c16 --- include/cbm.h | 2 +- libsrc/plus4/waitvsync.s | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 libsrc/plus4/waitvsync.s diff --git a/include/cbm.h b/include/cbm.h index 4bbd278e3..f35f83828 100644 --- a/include/cbm.h +++ b/include/cbm.h @@ -153,7 +153,7 @@ struct cbm_dirent { unsigned char get_tv (void); /* Return the video mode the machine is using. */ -#if !defined(__PLUS4__) && !defined(__C16__) && !defined(__CBM610__) && !defined(__PET__) +#if !defined(__CBM610__) && !defined(__PET__) void waitvsync (void); /* wait for the start of the next frame */ #endif diff --git a/libsrc/plus4/waitvsync.s b/libsrc/plus4/waitvsync.s new file mode 100644 index 000000000..84654d996 --- /dev/null +++ b/libsrc/plus4/waitvsync.s @@ -0,0 +1,12 @@ + + .export _waitvsync + + .include "plus4.inc" + +_waitvsync: +@l1: + lda TED_VLINEHI + and #$01 + ora TED_VLINELO + bne @l1 + rts From cbdad764f0eff850d37bf0a0520a33c69c840c66 Mon Sep 17 00:00:00 2001 From: mrdudz Date: Tue, 18 Jul 2017 00:01:15 +0200 Subject: [PATCH 09/12] oops --- doc/nes.sgml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/nes.sgml b/doc/nes.sgml index e806d753f..8f4374e05 100644 --- a/doc/nes.sgml +++ b/doc/nes.sgml @@ -1,4 +1,4 @@ - +

From c24080f28931976f8919fd1d2d65e931d0d91fa0 Mon Sep 17 00:00:00 2001 From: mrdudz Date: Tue, 18 Jul 2017 00:41:54 +0200 Subject: [PATCH 10/12] do banking --- libsrc/cbm510/waitvsync.s | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/libsrc/cbm510/waitvsync.s b/libsrc/cbm510/waitvsync.s index bd631e4d6..db6c16179 100644 --- a/libsrc/cbm510/waitvsync.s +++ b/libsrc/cbm510/waitvsync.s @@ -8,10 +8,7 @@ .include "cbm510.inc" _waitvsync: - rts ; FIXME - - jsr sys_bank ; Switch to the system bank - + jsr sys_bank ; Switch to the system bank sei ldy #VIC_CTRL1 From 8eee51913a43e1f5614033e745e6f3c1bf11000a Mon Sep 17 00:00:00 2001 From: mrdudz Date: Tue, 18 Jul 2017 01:04:53 +0200 Subject: [PATCH 11/12] add headers/fix formatting --- libsrc/c128/waitvsync.s | 5 +++++ libsrc/c64/waitvsync.s | 5 +++++ libsrc/cbm510/waitvsync.s | 19 ++++++++++++------- libsrc/gamate/waitvsync.s | 2 ++ libsrc/nes/waitvsync.s | 2 +- libsrc/pce/waitvsync.s | 2 ++ libsrc/plus4/waitvsync.s | 5 +++++ libsrc/vic20/waitvsync.s | 6 ++++++ 8 files changed, 38 insertions(+), 8 deletions(-) diff --git a/libsrc/c128/waitvsync.s b/libsrc/c128/waitvsync.s index 1597e5fa0..e4bbbf7c9 100644 --- a/libsrc/c128/waitvsync.s +++ b/libsrc/c128/waitvsync.s @@ -1,3 +1,8 @@ +; +; Written by Groepaz +; +; void waitvsync (void); +; .export _waitvsync diff --git a/libsrc/c64/waitvsync.s b/libsrc/c64/waitvsync.s index 15ef61bb7..a4bf13080 100644 --- a/libsrc/c64/waitvsync.s +++ b/libsrc/c64/waitvsync.s @@ -1,3 +1,8 @@ +; +; Written by Groepaz +; +; void waitvsync (void); +; .export _waitvsync diff --git a/libsrc/cbm510/waitvsync.s b/libsrc/cbm510/waitvsync.s index db6c16179..ed7300f7c 100644 --- a/libsrc/cbm510/waitvsync.s +++ b/libsrc/cbm510/waitvsync.s @@ -1,3 +1,8 @@ +; +; Written by Groepaz +; +; void waitvsync (void); +; .export _waitvsync .import PALFLAG @@ -8,16 +13,16 @@ .include "cbm510.inc" _waitvsync: - jsr sys_bank ; Switch to the system bank + jsr sys_bank ; Switch to the system bank sei - ldy #VIC_CTRL1 + ldy #VIC_CTRL1 @l1: - lda (vic),y - bpl @l1 + lda (vic),y + bpl @l1 @l2: - lda (vic),y - bmi @l2 + lda (vic),y + bmi @l2 cli - jmp restore_bank + jmp restore_bank diff --git a/libsrc/gamate/waitvsync.s b/libsrc/gamate/waitvsync.s index 9b1199055..dee83400d 100644 --- a/libsrc/gamate/waitvsync.s +++ b/libsrc/gamate/waitvsync.s @@ -1,4 +1,6 @@ ; +; Written by Groepaz +; ; void waitvsync (void); ; diff --git a/libsrc/nes/waitvsync.s b/libsrc/nes/waitvsync.s index 11a231ac4..4bdf9a9d0 100644 --- a/libsrc/nes/waitvsync.s +++ b/libsrc/nes/waitvsync.s @@ -1,5 +1,5 @@ ; -; Written by Groepaz/Hitmen +; Written by Groepaz ; Cleanup by Ullrich von Bassewitz ; ; void waitvsync(void); diff --git a/libsrc/pce/waitvsync.s b/libsrc/pce/waitvsync.s index f1eab36f8..c6435dabd 100644 --- a/libsrc/pce/waitvsync.s +++ b/libsrc/pce/waitvsync.s @@ -1,4 +1,6 @@ ; +; Written by Groepaz +; ; void waitvsync (void); ; diff --git a/libsrc/plus4/waitvsync.s b/libsrc/plus4/waitvsync.s index 84654d996..32b81b52b 100644 --- a/libsrc/plus4/waitvsync.s +++ b/libsrc/plus4/waitvsync.s @@ -1,3 +1,8 @@ +; +; Written by Groepaz +; +; void waitvsync (void); +; .export _waitvsync diff --git a/libsrc/vic20/waitvsync.s b/libsrc/vic20/waitvsync.s index 9f0d50565..b5861ada3 100644 --- a/libsrc/vic20/waitvsync.s +++ b/libsrc/vic20/waitvsync.s @@ -1,3 +1,9 @@ +; +; Written by Groepaz +; +; void waitvsync (void); +; + .export _waitvsync .include "vic20.inc" From b6d3d32e88468eff8c10939efb8653833702512d Mon Sep 17 00:00:00 2001 From: mrdudz Date: Tue, 18 Jul 2017 01:06:20 +0200 Subject: [PATCH 12/12] wait for line 0 instead of last line --- libsrc/vic20/waitvsync.s | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/libsrc/vic20/waitvsync.s b/libsrc/vic20/waitvsync.s index b5861ada3..1c76f2497 100644 --- a/libsrc/vic20/waitvsync.s +++ b/libsrc/vic20/waitvsync.s @@ -8,20 +8,9 @@ .include "vic20.inc" -; FIXME -; this flag doesnt work on vic20!!! -; it will have to be filled by a get_tv() constructor or so -PALFLAG = $2A6 ; $01 = PAL, $00 = NTSC - _waitvsync: - lda PALFLAG - beq @ntsc - ldx #(312-8)/2 - .byte $2c -@ntsc: - ldx #(262-8)/2 @l2: - cpx VIC_HLINE - bcs @l2 + lda VIC_HLINE + bne @l2 rts