.. | ||
ANN0TEST.DSK | ||
README.md |
A2NoSlotMIDI - latest DSK images
See the SRC directory for information on how the ANN0TEST.DSK image is created.
Note: An updated disk image that plays MIDI through Annunciator 2 and includes a drum program is available here: https://github.com/erangell/kfest2020/blob/master/hackfest/src/Apple2/ANN2MIDI2020.dsk
If you want to play MIDI files on a different disk, rename the volume of ANN0TEST.DSK to something other than /MIDI (ex: /MIDI0), and rename the volume of the disk that contains the MIDI files to /MIDI.
Each MIDI file should have a type of $D7 and a suffix of .MID
The program "CHANGETYPE" can be used to change the type of a file.
TEST PLAN:
GIVEN wiring has 2 inverters (positive logic), and MIDI OUT circuit is hooked up to AN0
WHEN you boot the DSK and select option 1 (Test MIDI OUT)
THEN chord plays on a connected MIDI instrument
GIVEN 9018:02
WHEN 9000G
THEN BRK is hit, displays address 9026
WHEN 9003G
THEN BRK is hit, displays address 90A2
GIVEN 9018:01, and wiring has 1 inverter (negative logic) and MIDI OUT circuit is hooked up to AN0
WHEN 900EG
THEN plays a chord on the connected MIDI Instrument
GIVEN negative logic MIDI OUT circuit
WHEN
LOAD TESTCHORD
15 POKE 94096+16+8,1 : CALL 94096
RUN
THEN chord plays on connected MIDI instrument
GIVEN midi out circuit is connected to AN1
WHEN
9017:01
9014G
900EG N 9011G
THEN short duration chord plays on connected MIDI instrument
GIVEN midi out circuit is connected to AN2
WHEN
9017:02
9014G
900EG N 9011G
THEN short duration chord plays on connected MIDI instrument
GIVEN midi out circuit is connected to AN3
WHEN
9017:03
9014G
900EG N 9011G
THEN short duration chord plays on connected MIDI instrument
GIVEN midi out circuit can play a chord
WHEN
900EG N 900BG
THEN very short duration chord plays on connected MIDI instrument (due to all sounds off message)
GIVEN midi out circuit can play a chord, and driver is loaded at $9000
WHEN you enter the following Applesoft BASIC program and run it
10 P=36868: M=36867 : REM P=ADDRESS TO POKE MIDI BYTE, M=CALL TO MIDI OUT DRIVER
20 FOR N = 60 TO 72 : REM NOTE NUMBERS FOR MIDDLE C THRU ONE OCTAVE ABOVE MIDDLE C
30 POKE P,144: CALL M: REM 144 (0X90) IS THE MIDI MESSAGE FOR NOTE ON
40 POKE P,N: CALL M: REM FIRST DATABYTE OF NOTE ON MESSAGE IS NOTE NUMBER
50 POKE P,64: CALL M: REM SECOND DATABYTE IS VELOCITY OF KEYPRESS (0=127)
60 FOR DE=1 TO 250: NEXT : REM DELAY LOOP
70 POKE P,N : CALL M : REM USING RUNNING STATUS - MESSAGE IS STILL NOTE ON, BUT NEW DATABYTES
80 POKE P,0: CALL M : REM VELOCITY OF 0 TURNS A NOTE OFF
90 NEXT N: REM REPEAT FOR EACH NOTE IN CHROMATIC SCALE
THEN you hear a chromatic scale played on your MIDI instrument.