Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;--------------------------------------------------------------------
- ;
- ;(C) tolkien / Goblins 2019.
- ;
- ;--------------------------------------------------------------------
- opt c-,p=68000
- section demophase,code
- ;Activa o desactiva el canal DMA deseado
- COPPER = 1
- BLITTER = 1
- SPRITE = 0
- DISK = 0
- NASTY = 0 ;Activa Nasty Mode del Blitter
- TOPAZ = 0 ;Usa Topaz
- VBI = 0 ;activa VertivalBlankInterrupt
- CPI = 0
- NUMPLANES = 1 ;16 colores
- Plane_Size = 40*256
- ;Este include contiene las rutinas asesinas del sistema
- include includes/SkyInit.s
- include includes/GoblinsCustom.i
- ;-----------------------------------------------------------
- ; Precalculos de la demo. SinTables, etc.
- ; Invocada ANTES de tomar el sistema.
- ;-----------------------------------------------------------
- _Precalc:
- rts
- ;-----------------------------------------------------------
- ; Seccion principal
- ; Invocada por SkyInit. La demo termina cuando se sale
- ; de esta rutina.
- ;-----------------------------------------------------------
- _Main:
- moveq #NumPlanes-1,d1
- move.l #screen,d0 ;direccion de nuestra imagen
- lea Planes,a1 ;registro de bitplanos en la copperlist
- .bp
- move.w d0,6(a1)
- swap d0
- move.w d0,2(a1)
- swap d0
- add.l #Plane_Size,d0
- add.l #8,a1 ;siguiente puntero a plano
- dbra d1,.bp
- ;Iniciamos nuestra copperlist
- move.l #copperlist,COP1LCH+CUSTOMBASE
- clr.w COPJMP1+CUSTOMBASE
- ;pintamos el grafico en screen
- move.l #grafico,a0
- move.l #screen,a1
- ;Siempre hay que esperar a que el blitter esté libre
- ;antes de volver a usarlo.
- .waitblitter
- btst #14-8,dmaconr+custombase
- bne .waitblitter
- ;move.l #-1,BltAFwm+CustomBase
- move.l #$09f00000,bltcon0+CustomBase ;Copia lo que hay en A en D
- move.w #0,BltAMod+CustomBase ;modulo del gráfico
- move.w #38,BltDMod+CustomBase ;modulo de la pantalla
- move.l a0,BltApth+CustomBase ;direccion del grafico
- move.l a1,BltDpth+CustomBase ;dirección de la pantalla
- move.w #16<<6+1,BltSize+CustomBase ;tamaño del gráfico a pintar
- ;Pulsamos el boton del raton para salir
- _Wait
- btst #6,$bfe001
- bne.s _Wait
- rts
- ;-----------------------------------------------------------
- ; Finalizacion de la demo (respuesta a WB).
- ; Invocada tras la restauracion del sistema.
- ;-----------------------------------------------------------
- _Exit:
- rts
- ;-----------------------------------------------------------
- ; Invocado por la interrupcion vblank. Se invoca 50 veces
- ; por segundo.
- ;-----------------------------------------------------------
- _Interrupt:
- rts
- _CopperInt:
- rts
- section datos,data_c
- grafico:
- dc.w %1111111111111111
- dc.w %1100000000000011
- dc.w %1010000000000101
- dc.w %1001000000001001
- dc.w %1000100000010001
- dc.w %1000010000100001
- dc.w %1000001001000001
- dc.w %1000000110000001
- dc.w %1000000110000001
- dc.w %1000001001000001
- dc.w %1000010000100001
- dc.w %1000100000010001
- dc.w %1001000000001001
- dc.w %1010000000000101
- dc.w %1100000000000011
- dc.w %1111111111111111
- ;SECCIONES EN MEMORIA CHIP PARA BITPLANOS Y COPPERLIST
- section bitplanes,data_c
- screen:
- ds.b 40*256 ;40 bytes por linea * 256 lineas
- ;incbin "data/16colores.raw"
- section copperlist,data_c
- ;------------------------------------------------------------------
- ; MAIN COPPERLIST
- ;------------------------------------------------------------------
- copperlist:
- DC.W DiWStrt,$2C81,DiWStop,$2cC1,DdfStrt,$0038,DdfStop,$00D0
- DC.W BplCon0,$1200,BplCon3,$0000,AgaFMode,$0000
- DC.W BplCon1,$0000,BplCon2,$0000
- DC.W Bpl1Mod,$0000,Bpl2Mod,$0000
- ;LOS COLORES DE NUESTRA IMAGEN CONVERTIDOS CON PICCON O ARTPRO
- dc.w $0180,$0000,$0182,$0fff ;,$0184,$0FFF,$0186,$0888
- ;dc.w $0188,$0A20,$018A,$0D50,$018C,$0EB0,$018E,$0080
- ;dc.w $0190,$06B0,$0192,$0170,$0194,$05BC,$0196,$0367
- ;dc.w $0198,$007B,$019A,$0048,$019C,$0E88,$019E,$0B55
- Planes:
- DC.W Bpl1Pth,$0000,Bpl1Ptl,$0000 ;punteros del Bitplano 1
- ;DC.W Bpl2Pth,$0000,Bpl2Ptl,$0000 ;punteros del Bitplano 2
- ;DC.W Bpl3Pth,$0000,Bpl3Ptl,$0000 ;punteros del Bitplano 3
- ;DC.W Bpl4Pth,$0000,Bpl4Ptl,$0000 ;punteros del Bitplano 4
- dc.w $ffff,$fffe ;Fin de la copperlist
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement