Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; /+===================================================+/
- ; // //
- ; // Perform Right refresh pass... //
- ; // //
- ;/+===================================================+/
- _ScreenRefresh
- ScreenRefresh
- ; a0 is chunky screen with right size.
- ; Stack everything for API Compliance.
- movem.l d0-d7/a0-a6,-(sp)
- ;========= This Func Go perform the ===========
- ;=== Right copy on the Right Hardware ======
- ;= From Chunky Screen To a Hidden HARD Screen =
- tst.b CGXBool
- beq.b .noCGXRefresh
- move.l a0,a5 ;Chunky temporized.
- ;=== Only draw if screen is frontmost
- move.l Intuibase,a6
- move.l ib_FirstScreen(a6),a6 ;frontmost
- move.l TheScreen,a0
- cmpa.l a6,a0
- bne.s .endRefresh
- ;=== BitMap Locking in order to find
- ;=== Hardware chunky address & modulo.
- move.l Cgxbase,a6 ; !=0
- move.l TheScreen,a0
- move.l sc_RastPort+rp_BitMap(a0),a0
- lea LockTAG,a1
- call LockBitMapTagList
- beq .endRefresh
- move.l d0,d7
- move.l CgxBaseAddress,a1 ; Chunky hardware
- move.l a5,a0
- move.l _ScreenWidth,d0
- move.l _ScreenHeight,d1
- move.l CgxBytesPerRow,d2 ; ScreenModulo in bytes.
- jsr c2c1x1_cpu ; Chunky to Chunky...
- ;=== Unlock.
- move.l d7,d0
- move.l Cgxbase,a6 ; !=0
- move.l d0,a0
- call UnLockBitMap
- .nocgx
- bra.b .noAGARefresh
- .noCGXRefresh
- ;a0 chunky screen.
- ; d0.w chunkyx [chunky-pixels]
- ; d1.w chunkyy [chunky-pixels]
- ; d2.w offsx [screen-pixels]
- ; d3.w offsy [screen-pixels]
- ; a0 chunkyscreen
- ; a1 BitMap
- move.l _ScreenWidth,d0
- move.l _ScreenHeight,d1
- clr.w d2
- clr.w d3
- move.l LogicSt,a1 ;ScreenBuffer
- move.l sb_BitMap(a1),a1 ;BitMap
- jsr _c2p1x1_8_c5_bm
- ;// FALSE: now only for aga.
- ;== This Func is a part of the triple-buffer ==
- ;=== It validates the freshly drawn-screen ====
- ;=== to APPEAR at next frame
- ; (same for AGA and CGX.)
- bsr.w ScreenSwap
- .noAGARefresh
- .endRefresh
- movem.l (sp)+,d0-d7/a0-a6 ;//return to C :-)
- rts
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement