Merge pull request #453 from mrdudz/waitvsync

waitvblank for cbm targets
This commit is contained in:
Oliver Schmidt
2017-07-18 15:38:27 +02:00
committed by GitHub
19 changed files with 142 additions and 26 deletions

30
libsrc/c128/waitvsync.s Normal file
View File

@@ -0,0 +1,30 @@
;
; Written by Groepaz <groepaz@gmx.net>
;
; void waitvsync (void);
;
.export _waitvsync
.include "c128.inc"
_waitvsync:
bit MODE
bmi @c80
@l1:
bit VIC_CTRL1
bpl @l1
@l2:
bit VIC_CTRL1
bmi @l2
rts
@c80:
;FIXME: do we have to switch banks?
@l3:
lda VDC_INDEX
and #$20
beq @l3
rts

18
libsrc/c64/waitvsync.s Normal file
View File

@@ -0,0 +1,18 @@
;
; Written by Groepaz <groepaz@gmx.net>
;
; void waitvsync (void);
;
.export _waitvsync
.include "c64.inc"
_waitvsync:
@l1:
bit VIC_CTRL1
bpl @l1
@l2:
bit VIC_CTRL1
bmi @l2
rts

28
libsrc/cbm510/waitvsync.s Normal file
View File

@@ -0,0 +1,28 @@
;
; Written by Groepaz <groepaz@gmx.net>
;
; void waitvsync (void);
;
.export _waitvsync
.import PALFLAG
.import sys_bank, restore_bank
.importzp vic
.include "cbm510.inc"
_waitvsync:
jsr sys_bank ; Switch to the system bank
sei
ldy #VIC_CTRL1
@l1:
lda (vic),y
bpl @l1
@l2:
lda (vic),y
bmi @l2
cli
jmp restore_bank

View File

@@ -1,16 +1,18 @@
;
; void waitvblank (void);
; Written by Groepaz <groepaz@gmx.net>
;
; 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

View File

@@ -1,15 +1,15 @@
;
; Written by Groepaz/Hitmen <groepaz@gmx.net>
; Written by Groepaz <groepaz@gmx.net>
; Cleanup by Ullrich von Bassewitz <uz@cc65.org>
;
; void waitvblank(void);
; void waitvsync(void);
;
.export _waitvblank
.export _waitvsync
.include "nes.inc"
.proc _waitvblank
.proc _waitvsync
wait: lda PPU_STATUS
bpl wait

View File

@@ -1,14 +1,16 @@
;
; void waitvblank (void);
; Written by Groepaz <groepaz@gmx.net>
;
; void waitvsync (void);
;
.include "pce.inc"
.include "extzp.inc"
.forceimport ticktock
.export _waitvblank
.export _waitvsync
.proc _waitvblank
.proc _waitvsync
lda tickcount
@lp: cmp tickcount

17
libsrc/plus4/waitvsync.s Normal file
View File

@@ -0,0 +1,17 @@
;
; Written by Groepaz <groepaz@gmx.net>
;
; void waitvsync (void);
;
.export _waitvsync
.include "plus4.inc"
_waitvsync:
@l1:
lda TED_VLINEHI
and #$01
ora TED_VLINELO
bne @l1
rts

16
libsrc/vic20/waitvsync.s Normal file
View File

@@ -0,0 +1,16 @@
;
; Written by Groepaz <groepaz@gmx.net>
;
; void waitvsync (void);
;
.export _waitvsync
.include "vic20.inc"
_waitvsync:
@l2:
lda VIC_HLINE
bne @l2
rts