Advertisement
Guest User

Untitled

a guest
Sep 7th, 2016
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. HW_Expansion_Data = $A10007
  2. HW_Port_1_Control = $A10009
  3. HW_Port_2_Control = $A1000B
  4. HW_Expansion_Control =  $A1000D
  5. Z80_RAM =       $A00000 ; start of Z80 RAM
  6. Z80_RAM_end =       $A02000 ; end of non-reserved Z80 RAM
  7. Z80_bus_request =   $A11100
  8. Z80_reset =     $A11200
  9.  
  10.  
  11.         lea HW_Port_1_Control,a1
  12.         move.b  -8(a1),d0
  13.         andi.b  #$F,d0
  14.         beq.s   .SkipSecurity
  15.         move.l  Console.w,$A14000-HW_Port_1_Control(a1)
  16.  
  17.     ; put z80 reset program in
  18. .SkipSecurity   lea $2D0.w,a4
  19.         lea Z80_RAM,a0
  20.         move.w  #$100,Z80_bus_request-HW_Port_1_Control(a1)
  21.         move.w  #$100,Z80_reset-HW_Port_1_Control(a1)
  22. .waitz80    btst    #0,Z80_bus_request-HW_Port_1_Control(a1)
  23.         bne.s   .waitz80
  24.  
  25.         moveq   #$26-1,d2
  26. .loadz80    move.b  (a4)+,(a0)+
  27.         dbf d2,.loadz80
  28.  
  29.     ; reset PSG
  30.         add.w   #12,a4          ; advance by 12 bytes
  31.     rept 4
  32.         move.b  (a4)+,$C00011       ; send command
  33.     endr
  34.         move.w  #0,Z80_reset-HW_Port_1_Control(a1)
  35.     rept 4
  36.         nop
  37.     endr
  38.         move.w  #$100,Z80_reset-HW_Port_1_Control(a1)
  39.         move.w  #0,Z80_bus_request-HW_Port_1_Control(a1)
  40.  
  41.  
  42.  
  43.     [ some code here ]
  44.  
  45. SndDrvInit:
  46.         nop
  47.         move.w  #$100,Z80_bus_request
  48.         move.w  #$100,Z80_reset     ; release Z80 reset
  49.  
  50.         lea kos_z80,a0
  51.         lea Z80_RAM,a1
  52.         jsr KosDec.w
  53.  
  54.         move.b  #$11,Z80_RAM+$1C03
  55.         move.b  #$F2,Z80_RAM+$106C
  56.         move.w  #0,Z80_reset        ; reset Z80
  57.         nop
  58.         nop
  59.         nop
  60.         nop
  61.         move.w  #$100,Z80_reset     ; release reset
  62.         move.w  #0,Z80_bus_request  ; start the Z80
  63.         rts
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement