Changeset 8 for trunk/asma/Docs/Sap.txt
- Timestamp:
- Sep 25, 1999, 4:33:18 PM (26 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/asma/Docs/Sap.txt
r6 r8 1 General information2 ~~~~~~~~~~~~~~~~~~~3 1 SAP file divides into two parts. First part (in text format) describes 4 2 player/music type. Second part (in binary format) contains player and music … … 7 5 describes where the data end. 8 6 Init data block ($02E2,$02E3) is not supported. 7 8 A little example: 9 10 FF FF 00 20 05 20 01 42 A3 04 D5 11 \___/ \_________/ \____________/ 12 A B C 13 14 A - Binary file header identification (always FF FF) 15 B - Load addres (StartAddr, EndAddr in LO,HI order - $2000 to $2005) 16 C - Data (that will be loaded from StartAddr) 17 18 This example will load values 01,42,A3,04,D5 into memory from $2000 to 19 $2005. 9 20 10 21 … … 26 37 double-speed tune put here the value 156 (312/2). 99% of tunes 27 38 are single-speed which means that you don't have to define the 28 FASTPLAY variable for them. 29 39 FASTPLAY variable for them. Works for player TYPE "B". 40 30 41 commands PLAYER, MUSIC, INIT contain addresses in hexadecimal format: 31 42 … … 45 56 TYPE B 46 57 TYPE M 58 TYPE S 59 TYPE D 60 TYPE R 47 61 48 62 TYPE C - player from CMC (Chaos Music Composer). In this case, also these … … 87 101 distinguish is for future SAP releases. 88 102 103 TYPE S - SoftSynth. Like type "C", this type is temporary, and is used only 104 for special type of songs, that where composed using program 105 SoftSynth. 106 TYPE D - Digital. In SAP file with this type, must be also defined commands 107 "INIT" and "PLAYER". "PLAYER" (like in type "B") sets address of 108 procedure that will be called in 1/50s intervals and (like in type 109 "B") must end with RTS opcode. INIT this time is a bit different. It 110 sets address of procedure that will be called (with number of song 111 in register A) to initialize program, but it can't end with RTS. It 112 should start playing digis in endless loop. In SAP player there are 113 emulated two ANTIC registers $D40A and $D40B that can help playing 114 samples. D40B register increases its contents each two screen lines. 115 D40A holds CPU till the end of actually created line. SAP emulates 116 Atari in PAL with disabled screen. It means that we have 312 PAL 117 lines, while each lines has 105 CPU cycles and 9 cycles of memory 118 refresh (114 cycles per line). 119 120 Planned features: 121 TYPE R - Registers. In this type, binary part is not an Atari binary file. 122 This part contains values that will be directly written to Pokey 123 registers ($D200-$D208) in 1/50s intervals. 124 TIME xx:xx - song duration 89 125 90 126 How to create .SAP file … … 97 133 copy /b music.txt+music.bin music.sap 98 134 99 The file is done! 135 The file is done now! 136 If you didn't find that song in ASMA, feel free to send it to pg@pinknet.cz 137 with all needed information (see ASMA.TXT for detailed information). The song 138 should be included in the nearest ASMA update.
Note: See TracChangeset
for help on using the changeset viewer.