A2NoSlotMIDI/DSK
2020-07-21 11:52:41 -04:00
..
ANN0TEST.DSK Release 1.0.2 2018-07-29 09:44:35 -04:00
README.md Update README.md 2020-07-21 11:52:41 -04:00

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.