******************************************************************************* * custom.device.S Written by Readysoft. * Copyright 1993,1994 RS. All rights reserved. 1993.03.04.-1994.05.18. * v1.0. ******************************************************************************* ******************************************************************************* * Macros ******************************************************************************* ;------------------------------------------------------------------------------ ; CustomName Macro ;------------------------------------------------------------------------------ CUS.NAM MACRO DC.B 'custom.device',0 EVEN ENDM ******************************************************************************* * DEV Macro ******************************************************************************* CUS.DEV MACRO ******************************************************************************* * Constant Definitions ******************************************************************************* ;------------------------------------------------------------------------------ ; Base Address ;------------------------------------------------------------------------------ cus_BASE EQU $dff000 ;------------------------------------------------------------------------------ ; Register Offsets ;------------------------------------------------------------------------------ cus_BLTDDAT EQU $000 cus_DMACONR EQU $002 cus_VPOSR EQU $004 cus_VHPOSR EQU $006 cus_DSKDATR EQU $008 cus_JOY0DAT EQU $00A cus_JOY1DAT EQU $00C cus_CLXDAT EQU $00E cus_ADKCONR EQU $010 cus_POT0DAT EQU $012 cus_POT1DAT EQU $014 cus_POTINP EQU $016 cus_SERDATR EQU $018 cus_DSKBYTR EQU $01A cus_INTENAR EQU $01C cus_INTREQR EQU $01E cus_DSKPT EQU $020 cus_DSKLEN EQU $024 cus_DSKDAT EQU $026 cus_REFPTR EQU $028 cus_VPOSW EQU $02A cus_VHPOSW EQU $02C cus_COPCON EQU $02E cus_SERDAT EQU $030 cus_SERPER EQU $032 cus_POTGO EQU $034 cus_JOYTEST EQU $036 cus_STREQU EQU $038 cus_STRVBL EQU $03A cus_STRHOR EQU $03C cus_STRLONG EQU $03E cus_BLTCON0 EQU $040 cus_BLTCON1 EQU $042 cus_BLTAFWM EQU $044 cus_BLTALWM EQU $046 cus_BLTCPT EQU $048 cus_BLTBPT EQU $04C cus_BLTAPT EQU $050 cus_BLTDPT EQU $054 cus_BLTSIZE EQU $058 cus_BLTCMOD EQU $060 cus_BLTBMOD EQU $062 cus_BLTAMOD EQU $064 cus_BLTDMOD EQU $066 cus_BLTCDAT EQU $070 cus_BLTBDAT EQU $072 cus_BLTADAT EQU $074 cus_DSKSYNC EQU $07E cus_COP1LC EQU $080 cus_COP2LC EQU $084 cus_COPJMP1 EQU $088 cus_COPJMP2 EQU $08A cus_COPINS EQU $08C cus_DIWSTRT EQU $08E cus_DIWSTOP EQU $090 cus_DDFSTRT EQU $092 cus_DDFSTOP EQU $094 cus_DMACON EQU $096 cus_CLXCON EQU $098 cus_INTENA EQU $09A cus_INTREQ EQU $09C cus_ADKCON EQU $09E cus_AUD0 EQU $0A0 cus_AUD1 EQU $0B0 cus_AUD2 EQU $0C0 cus_AUD3 EQU $0D0 cus_BPLPT EQU $0E0 cus_BPLCON0 EQU $100 cus_BPLCON1 EQU $102 cus_BPLCON2 EQU $104 cus_BPL1MOD EQU $108 cus_BPL2MOD EQU $10A cus_BPLDAT EQU $110 cus_SPRPT EQU $120 cus_SPRDEF EQU $140 cus_COLOR EQU $180 ;------------------------------------------------------------------------------ ; AudChannel Structure ;------------------------------------------------------------------------------ cus_AC_PTR EQU $00 ptr to waveform data cus_AC_LEN EQU $04 word-length of waveform cus_AC_PER EQU $06 sample period cus_AC_VOL EQU $08 volume cus_AC_DAT EQU $0A sample pair ;------------------------------------------------------------------------------ ; SpriteDef Structure ;------------------------------------------------------------------------------ cus_SD_POS EQU $00 cus_SD_CTL EQU $02 cus_SD_DATAA EQU $04 cus_SD_DATAB EQU $08 ;------------------------------------------------------------------------------ ; Error Codes ;------------------------------------------------------------------------------ cus_er_OK EQU $00000000 all right cus_er_UnDef EQU $8000ffff undefined error ******************************************************************************* * Varibles ******************************************************************************* RSRESET cus_NotUsed RS.W 1 cus_SizeOf RS.B 0 ******************************************************************************* * Routine Offsets ******************************************************************************* RSRESET RS.B -6 cus_Init RS.B -6 ******************************************************************************* * Code ******************************************************************************* jmp cus.Init custom.dev BLK.B cus_SizeOf,0 EVEN ;------------------------------------------------------------------------------ ; Init NoOp ;------------------------------------------------------------------------------ cus.Init movem.l d0/a0/a5,-(a7) lea custom.dev(pc),a5 move.l a5,a0 clear varible area move.w #cus_SizeOf-1,d0 .Clear clr.b (a0)+ dbf d0,.Clear movem.l (a7)+,d0/a0/a5 rts ******************************************************************************* * DataArea ******************************************************************************* DC.W -1 ENDM