home *** CD-ROM | disk | FTP | other *** search
/ Dave Lowe: ISDigitiser Old / Lowe_ISDigitiserOld.img / PICNEO.S < prev    next >
Encoding:
Text File  |  1985-11-20  |  7.0 KB  |  260 lines

  1. 5
  2.             DC.L    $05040606,$09090907,$07070607,$07080808
  3.             DC.L    $0607080A,$0A0A0909,$09000102,$02020303
  4.             DC.L    $03040405,$05050A06,$0606060A,$07070706
  5.             DC.L    $0A070808,$08060708,$0B0B0B09,$09090907
  6.             DC.L    $09090B09,$09090001,$02020203,$03030404
  7.             DC.L    $05050504,$06060606,$05070707,$060B0B08
  8.             DC.L    $08080B07,$080B0808,$0909090B,$07090909
  9.             DC.L    $09090909,$0909090A,$0A0A0A09,$0B0A0A0B
  10.             DC.L    $0A090C0C,$0C0C0A0C,$0C0B0B0B,$0B0B0B0B
  11.             DC.L    $0C0A0B0B,$0B0C0C0B,$0B0B0A0C,$0B0B0B0B
  12.             DC.L    $0B0B0000,$01020202,$03030304,$0405050C
  13.  
  14. CHANEL_C     DC.L    $00010202,$02030303,$04040505,$05040606
  15.             DC.L    $06060507,$07070606,$07080808,$06070808
  16.             DC.L    $08080909,$09090709,$09090909,$09090909
  17.             DC.L    $09090A0A,$0A09090A,$0A0A0A09,$0A0A0A0A
  18.             DC.L    $0A0A0A09,$0B0B0B0B,$0B0B0B0A,$0B0B0B0B
  19.             DC.L    $0B0B0B0B,$0A0A0A0B,$0B0B0B0B,$0B0B0B0B
  20.             DC.L    $0B0B0B0A,$0A0A0B0B,$0B0C0C0C,$0C0C0C0C
  21.             DC.L    $0C0C0C0C,$0C0C0B0C,$0C0C0C0B,$0C0C0C0C
  22.             DC.L    $0B0C0C0C,$0C0C0C0C,$0B0B0B0C,$0C0C0C0C
  23.             DC.L    $0C0C0B0C,$0C0C0D0D,$0D0D0D0D,$0D0D0D0D
  24.             DC.L    $0D0D0D0D,$0D0D0D0D,$0D0D0D0D,$0D0C0C0D
  25.             DC.L    $0D0D0C0D,$0D0C0D0D,$0D0D0D0C,$0D0D0D0D
  26.             DC.L    $0D0D0D0D,$0D0D0D0D,$0D0D0D0D,$0B0D0D0C
  27.             DC.L    $0D0D0C0C,$0C0C0D0C,$0C0D0D0D,$0D0D0D0D
  28.             DC.L    $0C0D0D0D,$0D0C0C0D,$0D0D0D0C,$0D0D0D0D
  29.             DC.L    $0C0C0E0E,$0E0E0E0E,$0E0E0E0E,$0E0E0E0D
  30.  
  31.         EVEN
  32.  
  33. FREQTABLE    DC.W $0050
  34.         DC.W $003C
  35.         DC.W $0032
  36.         DC.W $0023
  37.         DC.W $0019
  38.         DC.W $0012
  39.         DC.W $000E
  40.         DC.W $000A
  41.         DC.W $0008
  42.         DC.W $0006
  43.         DC.W $0005
  44.         DC.W $0002
  45. *
  46. * SYSTEM VARIABLES FOR ABOVE PROGRAM
  47. *
  48.  
  49. SAMPLESPEED    DS.W 1
  50.  
  51. STATUS        DS.W 1
  52. SAVE_SSP    DS.L 1
  53.  
  54. MEMEND        DS.L 1
  55.  
  56. HANDLE        DS.W 1
  57.  
  58. FILE_PIC    DC.B "DEMO.PI1",0,0
  59. FILE_SND    DC.B "DEMO.SND",0,0
  60.  
  61. STACKEND    DS.L 512
  62. STACKST        DS.W 10
  63.  
  64. PIC_BUFFER
  65.  
  66. * THIS IS THE END FOLKS.....*
  67. * (C)1987 INNOVATED SOFTWARE
  68. * PICTURE AND SAMPLED SOUND LOADER
  69. *
  70. * YOU CAN LOAD IN A NEO PICTURE AND SAMPLED SOUND USING THIS PROGRAM
  71. * IF YOU USE THIS PROGRAM IN ANY PART OF YOUR OWN PROGRAM THEN PLEAE
  72. * ACKNOWLEDGE INNOVATED SOFTWARE SOME WHERE ON THE TITLE PAGE.
  73. *
  74. * THE PICTURE FILE MUST BE CALLED DEMO.NEO
  75. * THE SOUND FILE MUST BE          DEMO.SND
  76. *
  77. * REVISION 1.0                    BY R.PERRY.
  78. *
  79.  
  80. STARTIT        MOVEA.L 4(A7),A6        * BASE PAGE START
  81.         MOVE.L 4(A6),D0
  82.         SUBI.L #$1000,D0
  83.         MOVE.L D0,MEMEND        * END OF MEMORY
  84.         SUB.L (A6),D0
  85.         MOVE.L D0,-(SP)
  86.         MOVE.L A6,-(SP)
  87.         CLR.W -(SP)
  88.         MOVE.W #$4A,-(SP)
  89.         TRAP #1
  90.         ADDA.L #12,SP
  91.  
  92.         PEA STACKST        
  93.         MOVE.W #$20,-(SP)        * DO SUPERVISOR STUFF
  94.         TRAP #1
  95.         ADDQ.L #6,SP
  96.         MOVE.L D0,SAVE_SSP        * SAVE OLD STACK
  97.         
  98.         LEA FILE_PIC,A0
  99.         BSR OPEN_FILE
  100.         LEA PIC_BUFFER,A1
  101.         MOVE.L #32128,A2        * NEO FILE SIZE
  102.         BSR READ_FILE
  103.         BSR CLOSE_FILE
  104.         MOVE.W $FFF8260,REZ+2        * SAVE REZ.
  105.         MOVE.B #0,$FFFF8260        * SET SCREEN REZ.
  106.         MOVE.L #PIC_BUFFER+4,-(SP)
  107.         MOVE.W #6,-(SP)
  108.         TRAP #14
  109.         ADDQ.L #6,SP
  110.         MOVE.W #3,-(SP)
  111.         TRAP #14
  112.         ADDQ.L #2,SP
  113.         MOVEA.L D0,A1
  114.         MOVE.L #PIC_BUFFER+128,A0    * START OF PICTURE 
  115.         MOVE.W #$7FFF,D0
  116. WRITE_PIC    MOVE.W (A0)+,(A1)+
  117.         DBF D0,WRITE_PIC        * PUT PICTURE ON SCREEN
  118.  
  119.         LEA FILE_SND,A0
  120.         BSR OPEN_FILE
  121.         LEA PIC_BUFFER,A1
  122.         MOVE.L MEMEND,A2    
  123.         BSR READ_FILE
  124.         MOVE.L D0,D6
  125.         BSR CLOSE_FILE
  126.  
  127.         MOVE.W #$2F,D0
  128. PAUSE        MOVE.W #-1,D1            * ALLOW TIME FOR
  129. PAUSELP        DBF D1,PAUSELP            * DRIVE'S LIGHT TO
  130.         DBF D0,PAUSE            * DISTINGUISH    
  131.  
  132.  
  133.         ADD.L #PIC_BUFFER,D6
  134.         LEA PIC_BUFFER,A4            
  135.         MOVE.L A4,A5    
  136.         MOVE.W #14,D5            * 16KHZ VALUE
  137.         LEA TTP,A0
  138.         MOVE.W D5,2(A0)            * SET DELAY LOOP VALUE
  139.         MOVE.W SR,STATUS        * SAVE SR REGISTER
  140.  
  141.         MOVE.W SR,D3
  142.         MOVE.W #$2700,SR        * KILL 'ALL' INTERUPTS
  143.         MOVEQ #10,D0
  144. SETREG        MOVE.B D0,$FFF8800        * SET SOUND AND FREQ
  145.         CLR.B $FFF8802            * OF ALL USED CHANELS.
  146.         DBF D0,SETREG
  147.         CLR.B $FFF8800            * NOT FORGETING REG 0
  148.         CLR.B $FFF8802
  149.         MOVE.B #7,$FFF8800        * REG. 7 OF SND CHIP
  150.         MOVE.B #$F8,$FFF8802        * ALL CHANELS ON
  151.         LEA CHANEL_A,A3            * SET TABLES A,B,C
  152.         LEA CHANEL_B,A2
  153.         LEA CHANEL_C,A1
  154.         MOVE.W D3,SR
  155.         ANDI.W #$F8FF,SR
  156.         ORI.W #$500,SR            * DO NOT DISTURB SOUND
  157.         AND.W #$FD,$484
  158.  
  159.         MOVE.B #12,D1
  160.         LEA TTP,A6
  161.         LEA FREQTABLE,A0
  162.  
  163. MUSICLP        BTST #0,$FFFC00            * KEY HIT YET?
  164.         BEQ.S CONTIN            * NO,
  165.         MOVE.B $FFFC02,D0        * LOOK AT KEYBOARD
  166.         CMP.B #$39,D0            * SPACE BAR HIT?
  167.         BEQ EXIT_TWO            * YEA HAA...
  168.         CMP.B #$1F,D0            * 'S' KEY
  169.         BNE.S CONTIN
  170.         ADD.B #2,D1            * NEXT VALUE
  171.         CMP.B #24,D1
  172.         BLT.S NOTYET
  173.         CLR.B D1
  174. NOTYET        AND.W #$FF,D1
  175.         MOVE.W 0(A0,D1.W),2(A6)        * SET NEW LOOP VALUE
  176.         
  177. CONTIN        MOVE.B (A4)+,D0            * GET SAMPLED DATA
  178.         CMPA.L D6,A4            * END OF BUFFER
  179.         BLT.S OUTPUT            * NO.
  180.         MOVE.L A5,A4
  181.  
  182. OUTPUT        AND.W #$FF,D0
  183.         MOVE.B #8,$FFFF8800
  184.         MOVE.B 0(A3,D0.W),$FFFF8802    * CHANEL A NOTE
  185.         MOVE.B #9,$FFFF8800
  186.         MOVE.B 0(A2,D0.W),$FFFF8802    * B
  187.         MOVE.B #10,$FFFF8800
  188.         MOVE.B 0(A1,D0.W),$FFFF8802    * C
  189.  
  190. TTP        MOVE.W #0,D0            * DELAY LOOP
  191. LOOPME        NOP                * NOT MUCH HERE
  192.         DBF D0,LOOPME
  193.  
  194.         BRA.S MUSICLP            * KEEP IT UP
  195.  
  196. EXIT_TWO    CLR.B D5
  197. EXIT        ORI.B #3,$484
  198. REZ        MOVE.W #0,$FFFF8260        * RESET OLD REZ.
  199.         MOVE.W STATUS,SR
  200.         MOVE.L SAVE_SSP,-(SP)
  201.         MOVE.W #$20,-(SP)        * SET TO USER MODE
  202.         TRAP #1
  203.         ADDQ.L #6,SP
  204.  
  205.         CLR.W -(SP)
  206.         TRAP #1                * BYE BYE...
  207.  
  208. CLOSE_FILE    MOVE.W HANDLE,-(SP)        * FILE HANDLE NO.
  209.         MOVE.W #$3E,-(SP)
  210.         TRAP #1
  211.         ADDQ.L #4,SP
  212.         RTS
  213.  
  214. OPEN_FILE    CLR.W -(SP)            * READ TYPE
  215.         MOVE.L A0,-(SP)            * ADDRS OF TEXT NAME    
  216.         MOVE.W #$3D,-(SP)
  217.         TRAP #1
  218.         ADDQ.L #8,SP
  219.         MOVE.W D0,HANDLE
  220.         RTS
  221.  
  222. READ_FILE    MOVE.L A1,-(SP)
  223.         MOVE.L A2,-(SP)
  224.         MOVE.W HANDLE,-(SP)
  225.         MOVE.W #$3F,-(SP)
  226.         TRAP #1
  227.         ADDA.L #12,SP
  228.         RTS        
  229.  
  230. ERRORED        CLR.W -(SP)            * GO BACK TO GEM
  231.         TRAP #1
  232.  
  233.         EVEN
  234.  
  235. *
  236. * SOUND CHANEL VOLUME DUMP TABLES
  237. *
  238.  
  239. CHANEL_A     DC.L    $00000000,$00000000,$00000000,$00000000
  240.             DC.L    $00010000,$00000001,$00000000,$00000001
  241.             DC.L    $02000000,$00010000,$01020001,$00010203
  242.             DC.L    $00010000,$00000100,$01020000,$00010203
  243.             DC.L    $00010204,$00000001,$02000100,$00010001
  244.             DC.L    $02030001,$00010200,$01020403,$03000102
  245.             DC.L    $06050300,$00010001,$02000000,$01020001
  246.             DC.L    $02000100,$01020000,$01020203,$00010204
  247.             DC.L    $05030001,$02060503,$00010200,$01020207
  248.             DC.L    $03030504,$04050000,$00010200,$01020001
  249.             DC.L    $00010203,$00010202,$04000102,$04000100
  250.             DC.L    $01020305,$03040404,$00010206,$07030304
  251.             DC.L    $04040505,$05060600,$00010207,$0B030309
  252.             DC.L    $04080001,$02020603,$03000001,$02020303
  253.             DC.L    $06080404,$05070706,$06060908,$07070707
  254.             DC.L    $0B0B0000,$00000102,$00010200,$01000100
  255.  
  256. CHANEL_B     DC.L    $00000001,$02000102,$00010001,$02030001
  257.             DC.L    $02020400,$01020404,$03000102,$06050303
  258.             DC.L    $03040001,$02020703,$03030404,$05050504
  259.             DC.L    $06060001,$02070703,$03030408,$05050504
  260.             DC.L    $06060608,$00010202,$0203030