projects
/
bootcard
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
6e24b9c
)
fixed
midi
author
John Tsiombikas
<nuclear@member.fsf.org>
Sat, 31 Dec 2022 19:15:59 +0000
(21:15 +0200)
committer
John Tsiombikas
<nuclear@member.fsf.org>
Sat, 31 Dec 2022 19:15:59 +0000
(21:15 +0200)
bootcard.asm
patch
|
blob
|
history
diff --git
a/bootcard.asm
b/bootcard.asm
index
a782832
..
384dd2d
100644
(file)
--- a/
bootcard.asm
+++ b/
bootcard.asm
@@
-21,7
+21,6
@@
nticks dd 0
tmoffs dd 0
musptr dd 0
frame dd 0
tmoffs dd 0
musptr dd 0
frame dd 0
-pnote dd 0
fval dd 0
cmap dd 0
fval dd 0
cmap dd 0
@@
-32,7
+31,6
@@
nticks equ 7e00h
tmoffs equ 7e04h
musptr equ 7e08h
frame equ 7e0ch
tmoffs equ 7e04h
musptr equ 7e08h
frame equ 7e0ch
-pnote equ 7e18h
fval equ 7e10h
cmap equ 7e14h
%endif
fval equ 7e10h
cmap equ 7e14h
%endif
@@
-70,10
+68,6
@@
start:
mov ss, ax
mov sp, 7c00h
mov ss, ax
mov sp, 7c00h
- mov di, nticks
- mov cx, 16
- rep stosw
-
cli
mov word [32], tintr
mov [34], ax
cli
mov word [32], tintr
mov [34], ax
@@
-92,6
+86,10
@@
start:
mov [es:34], ax
%endif
mov [es:34], ax
%endif
+ mov di, nticks
+ mov cx, 16
+ rep stosw
+
stimer 0, 5966
%ifdef MIDI
call resetmidi
stimer 0, 5966
%ifdef MIDI
call resetmidi
@@
-212,32
+210,20
@@
textout_done:
%ifdef MIDI
note_on:
%ifdef MIDI
note_on:
- mov [pnote], ax
+ push ax
mov ax, 90h ; note-on command for channel 0
call sendmidi
mov ax, 90h ; note-on command for channel 0
call sendmidi
- mov ax, [pnote]
+ pop ax
call sendmidi
mov ax, 127
jmp sendmidi
call sendmidi
mov ax, 127
jmp sendmidi
-note_off:
- mov ax, [pnote]
- test ax, ax
- jz textout_done
- mov ax, 80h ; note-off command for channel 0
- call sendmidi
- mov ax, [pnote]
- call sendmidi
- mov ax, 64
- jmp sendmidi
-
all_notes_off:
mov ax, 0b0h ; channel mode message for channel 0...
call sendmidi
mov ax, 7bh ; all notes off
call sendmidi
xor ax, ax
all_notes_off:
mov ax, 0b0h ; channel mode message for channel 0...
call sendmidi
mov ax, 7bh ; all notes off
call sendmidi
xor ax, ax
- mov [pnote], ax
jmp sendmidi
waitmidi:
jmp sendmidi
waitmidi:
@@
-315,7
+301,6
@@
tintr:
%ifdef MIDI
push ax
%ifdef MIDI
push ax
- ;call note_off
call all_notes_off
pop ax
call note_on
call all_notes_off
pop ax
call note_on