summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNao Pross <naopross@thearcway.org>2018-02-02 12:12:18 +0100
committerNao Pross <naopross@thearcway.org>2018-02-02 12:12:18 +0100
commit18abece8f8a8af17a3b5e80dc1baf61457409600 (patch)
tree66f64fb9ea91d8a26c56af95c66e5bb7b8f8b5c3 /src
parentMove to version control (diff)
downloadXilofono-18abece8f8a8af17a3b5e80dc1baf61457409600.tar.gz
Xilofono-18abece8f8a8af17a3b5e80dc1baf61457409600.zip
2 February 2018
Documentation: - new API documentation - datasheets for new components - update BOM - update documentation data Hardware: - update schematic for MIDI connector Software: - new MIDI API - update prject target to PIC18F45K22
Diffstat (limited to 'src')
-rw-r--r--src/dist/default/production/memoryfile.xml12
-rw-r--r--src/dist/default/production/src.production.cmf227
-rw-r--r--src/dist/default/production/src.production.elfbin8444 -> 12232 bytes
-rw-r--r--src/dist/default/production/src.production.hex33
-rw-r--r--src/dist/default/production/src.production.hxl14
-rw-r--r--src/dist/default/production/src.production.lst1090
-rw-r--r--src/dist/default/production/src.production.map714
-rw-r--r--src/dist/default/production/src.production.mum6
-rw-r--r--src/dist/default/production/src.production.objbin2674 -> 7095 bytes
-rw-r--r--src/dist/default/production/src.production.rlfbin17184 -> 59843 bytes
-rw-r--r--src/dist/default/production/src.production.sdb153
-rw-r--r--src/dist/default/production/src.production.sym179
-rw-r--r--src/main.c30
-rw-r--r--src/midi.c108
-rw-r--r--src/midi.h82
-rw-r--r--src/nbproject/Makefile-default.mk28
-rw-r--r--src/nbproject/Makefile-genesis.properties4
-rw-r--r--src/nbproject/configurations.xml4
-rw-r--r--src/nbproject/private/SuppressibleMessageMemo.properties3
-rw-r--r--src/nbproject/private/configurations.xml2
-rw-r--r--src/nbproject/private/private.xml4
21 files changed, 2065 insertions, 628 deletions
diff --git a/src/dist/default/production/memoryfile.xml b/src/dist/default/production/memoryfile.xml
index 872b3c2..856a1e7 100644
--- a/src/dist/default/production/memoryfile.xml
+++ b/src/dist/default/production/memoryfile.xml
@@ -3,15 +3,15 @@
<executable name="dist/default/production\src.production.hex">
<memory name="program">
<units>bytes</units>
- <length>16384</length>
- <used>36</used>
- <free>16348</free>
+ <length>32768</length>
+ <used>416</used>
+ <free>32352</free>
</memory>
<memory name="data">
<units>bytes</units>
- <length>768</length>
- <used>0</used>
- <free>768</free>
+ <length>1536</length>
+ <used>20</used>
+ <free>1516</free>
</memory>
</executable>
</project>
diff --git a/src/dist/default/production/src.production.cmf b/src/dist/default/production/src.production.cmf
index 797b04a..b190b8c 100644
--- a/src/dist/default/production/src.production.cmf
+++ b/src/dist/default/production/src.production.cmf
@@ -11,33 +11,42 @@
# All addresses and the length are given in unqualified hexadecimal
# in delta units. Any other numeric values are decimal.
%PSECTS
-$C:\Users\_prossn\AppData\Local\Temp\s3s8.obj
+$C:\Users\_prossn\AppData\Local\Temp\s438.obj
idloc IDLOC 0 200000 200000 8 1
init CODE 0 0 0 4 1
config CONFIG 0 300000 300000 E 1
$dist/default/production\src.production.obj
-cinit CODE 0 3FE2 3FE2 6 1
-text0 CODE 0 3FDC 3FDC 6 1
-text1 CODE 0 3FE8 3FE8 18 1
+cinit CODE 0 7E60 7E60 6 1
+text0 CODE 0 7ED4 7ED4 2E 1
+text1 CODE 0 7F02 7F02 76 1
+text2 CODE 0 7E8A 7E8A 24 1
+text3 CODE 0 7EAE 7EAE 26 1
+text4 CODE 0 7F78 7F78 88 1
+text5 CODE 0 7E66 7E66 C 1
+text6 CODE 0 7E72 7E72 18 1
+cstackCOMRAM COMRAM 1 1 1 14 1
# %UNUSED Section
# This section enumerates the unused ranges of each CLASS. Each entry
# is described on a single line as follows:
# <class name> <range> <delta>
# Addresses given in the range are in hexadecimal and units of delta.
%UNUSED
-RAM 60-2FF 1
+RAM 60-5FF 1
SFR F38-FFF 1
BANK0 60-FF 1
BANK1 100-1FF 1
BANK2 200-2FF 1
-CONST 4-3FDB 1
-STACK 60-2FF 1
-SMALLCONST 300-3FDB 1
-CODE 4-3FDB 1
-BIGRAM 1-2FF 1
-COMRAM 1-5F 1
+BANK3 300-3FF 1
+BANK4 400-4FF 1
+BANK5 500-5FF 1
+CONST 4-7E5F 1
+STACK 60-5FF 1
+SMALLCONST 600-7E5F 1
+CODE 4-7E5F 1
+BIGRAM 15-5FF 1
+COMRAM 15-5F 1
EEDATA F00000-F000FF 1
-MEDIUMCONST 300-3FDB 1
+MEDIUMCONST 600-7E5F 1
# %LINETAB Section
# This section enumerates the file/line to address mappings.
# The beginning of the section is indicated by %LINETAB.
@@ -52,27 +61,58 @@ MEDIUMCONST 300-3FDB 1
# All other numeric values are in decimal.
%LINETAB
$dist/default/production\src.production.obj
-3FE8 text1 CODE >4:Z:\SAMB_4\projects\xilofono\src\rs232.c
-3FE8 text1 CODE >7:Z:\SAMB_4\projects\xilofono\src\rs232.c
-3FEA text1 CODE >8:Z:\SAMB_4\projects\xilofono\src\rs232.c
-3FEC text1 CODE >11:Z:\SAMB_4\projects\xilofono\src\rs232.c
-3FEE text1 CODE >12:Z:\SAMB_4\projects\xilofono\src\rs232.c
-3FF2 text1 CODE >13:Z:\SAMB_4\projects\xilofono\src\rs232.c
-3FF4 text1 CODE >14:Z:\SAMB_4\projects\xilofono\src\rs232.c
-3FF6 text1 CODE >17:Z:\SAMB_4\projects\xilofono\src\rs232.c
-3FF8 text1 CODE >18:Z:\SAMB_4\projects\xilofono\src\rs232.c
-3FFA text1 CODE >19:Z:\SAMB_4\projects\xilofono\src\rs232.c
-3FFC text1 CODE >20:Z:\SAMB_4\projects\xilofono\src\rs232.c
-3FFE text1 CODE >21:Z:\SAMB_4\projects\xilofono\src\rs232.c
-3FDC text0 CODE >83:Z:\SAMB_4\projects\xilofono\src\main.c
-3FDC text0 CODE >85:Z:\SAMB_4\projects\xilofono\src\main.c
-3FE0 text0 CODE >88:Z:\SAMB_4\projects\xilofono\src\main.c
-3FE2 cinit CODE >1144:C:\Users\_prossn\AppData\Local\Temp\s3s8.
-3FE2 cinit CODE >1146:C:\Users\_prossn\AppData\Local\Temp\s3s8.
-3FE2 cinit CODE >1149:C:\Users\_prossn\AppData\Local\Temp\s3s8.
-3FE2 cinit CODE >1155:C:\Users\_prossn\AppData\Local\Temp\s3s8.
-3FE2 cinit CODE >1157:C:\Users\_prossn\AppData\Local\Temp\s3s8.
-3FE4 cinit CODE >1158:C:\Users\_prossn\AppData\Local\Temp\s3s8.
+7E72 text6 CODE >4:Z:\SAMB_4\projects\xilofono\src\rs232.c
+7E72 text6 CODE >7:Z:\SAMB_4\projects\xilofono\src\rs232.c
+7E74 text6 CODE >8:Z:\SAMB_4\projects\xilofono\src\rs232.c
+7E76 text6 CODE >11:Z:\SAMB_4\projects\xilofono\src\rs232.c
+7E78 text6 CODE >12:Z:\SAMB_4\projects\xilofono\src\rs232.c
+7E7C text6 CODE >13:Z:\SAMB_4\projects\xilofono\src\rs232.c
+7E7E text6 CODE >14:Z:\SAMB_4\projects\xilofono\src\rs232.c
+7E80 text6 CODE >17:Z:\SAMB_4\projects\xilofono\src\rs232.c
+7E82 text6 CODE >18:Z:\SAMB_4\projects\xilofono\src\rs232.c
+7E84 text6 CODE >19:Z:\SAMB_4\projects\xilofono\src\rs232.c
+7E86 text6 CODE >20:Z:\SAMB_4\projects\xilofono\src\rs232.c
+7E88 text6 CODE >21:Z:\SAMB_4\projects\xilofono\src\rs232.c
+7E66 text5 CODE >23:Z:\SAMB_4\projects\xilofono\src\rs232.c
+7E68 text5 CODE >25:Z:\SAMB_4\projects\xilofono\src\rs232.c
+7E6C text5 CODE >26:Z:\SAMB_4\projects\xilofono\src\rs232.c
+7E70 text5 CODE >27:Z:\SAMB_4\projects\xilofono\src\rs232.c
+7F78 text4 CODE >81:Z:\SAMB_4\projects\xilofono\src\main.c
+7F78 text4 CODE >83:Z:\SAMB_4\projects\xilofono\src\main.c
+7F80 text4 CODE >87:Z:\SAMB_4\projects\xilofono\src\main.c
+7F94 text4 CODE >91:Z:\SAMB_4\projects\xilofono\src\main.c
+7FA8 text4 CODE >92:Z:\SAMB_4\projects\xilofono\src\main.c
+7FB4 text4 CODE >94:Z:\SAMB_4\projects\xilofono\src\main.c
+7FDA text4 CODE >96:Z:\SAMB_4\projects\xilofono\src\main.c
+7FDC text4 CODE >97:Z:\SAMB_4\projects\xilofono\src\main.c
+7FEE text4 CODE >96:Z:\SAMB_4\projects\xilofono\src\main.c
+7FEE text4 CODE >98:Z:\SAMB_4\projects\xilofono\src\main.c
+7EAE text3 CODE >53:Z:\SAMB_4\projects\xilofono\src\midi.c
+7EAE text3 CODE >55:Z:\SAMB_4\projects\xilofono\src\midi.c
+7EB6 text3 CODE >59:Z:\SAMB_4\projects\xilofono\src\midi.c
+7E8A text2 CODE >42:Z:\SAMB_4\projects\xilofono\src\midi.c
+7E8A text2 CODE >44:Z:\SAMB_4\projects\xilofono\src\midi.c
+7E92 text2 CODE >48:Z:\SAMB_4\projects\xilofono\src\midi.c
+7F02 text1 CODE >64:Z:\SAMB_4\projects\xilofono\src\midi.c
+7F02 text1 CODE >66:Z:\SAMB_4\projects\xilofono\src\midi.c
+7F0A text1 CODE >70:Z:\SAMB_4\projects\xilofono\src\midi.c
+7F1A text1 CODE >71:Z:\SAMB_4\projects\xilofono\src\midi.c
+7F2E text1 CODE >73:Z:\SAMB_4\projects\xilofono\src\midi.c
+7F42 text1 CODE >77:Z:\SAMB_4\projects\xilofono\src\midi.c
+7F52 text1 CODE >78:Z:\SAMB_4\projects\xilofono\src\midi.c
+7F62 text1 CODE >81:Z:\SAMB_4\projects\xilofono\src\midi.c
+7ED4 text0 CODE >105:Z:\SAMB_4\projects\xilofono\src\main.c
+7ED4 text0 CODE >108:Z:\SAMB_4\projects\xilofono\src\main.c
+7EF0 text0 CODE >110:Z:\SAMB_4\projects\xilofono\src\main.c
+7EF4 text0 CODE >113:Z:\SAMB_4\projects\xilofono\src\main.c
+7EF4 text0 CODE >114:Z:\SAMB_4\projects\xilofono\src\main.c
+7F00 text0 CODE >113:Z:\SAMB_4\projects\xilofono\src\main.c
+7E60 cinit CODE >1149:C:\Users\_prossn\AppData\Local\Temp\s438.
+7E60 cinit CODE >1151:C:\Users\_prossn\AppData\Local\Temp\s438.
+7E60 cinit CODE >1154:C:\Users\_prossn\AppData\Local\Temp\s438.
+7E60 cinit CODE >1160:C:\Users\_prossn\AppData\Local\Temp\s438.
+7E60 cinit CODE >1162:C:\Users\_prossn\AppData\Local\Temp\s438.
+7E62 cinit CODE >1163:C:\Users\_prossn\AppData\Local\Temp\s438.
# %SYMTAB Section
# An enumeration of all symbols in the program.
# The beginning of the section is indicated by %SYMTAB.
@@ -87,55 +127,70 @@ $dist/default/production\src.production.obj
%SYMTAB
__Lmediumconst 0 0 MEDIUMCONST 0 mediumconst dist/default/production\src.production.obj
__Hspace_0 30000E 0 ABS 0 - dist/default/production\src.production.obj
-__Hspace_1 0 0 ABS 0 - dist/default/production\src.production.obj
+__Hspace_1 15 0 ABS 0 - dist/default/production\src.production.obj
__Hspace_2 0 0 ABS 0 - dist/default/production\src.production.obj
__CFG_IESO$OFF 0 0 ABS 0 - dist/default/production\src.production.obj
+__end_of_midi_set_status 7EAE 0 CODE 0 text2 dist/default/production\src.production.obj
__Hibigdata 0 0 CODE 0 ibigdata dist/default/production\src.production.obj
-__mediumconst 0 0 MEDIUMCONST 0 mediumconst C:\Users\_prossn\AppData\Local\Temp\s3s8.obj
+__mediumconst 0 0 MEDIUMCONST 0 mediumconst C:\Users\_prossn\AppData\Local\Temp\s438.obj
__Heeprom_data 0 0 EEDATA 0 eeprom_data dist/default/production\src.production.obj
__Lsmallconst 0 0 SMALLCONST 0 smallconst dist/default/production\src.production.obj
_RCIF 7CF5 0 ABS 0 - dist/default/production\src.production.obj
_TXIF 7CF4 0 ABS 0 - dist/default/production\src.production.obj
-___sp 0 0 STACK 2 stack C:\Users\_prossn\AppData\Local\Temp\s3s8.obj
-_main 3FDC 0 CODE 0 text0 dist/default/production\src.production.obj
-start 0 0 CODE 0 init C:\Users\_prossn\AppData\Local\Temp\s3s8.obj
+___sp 0 0 STACK 2 stack C:\Users\_prossn\AppData\Local\Temp\s438.obj
+_main 7ED4 0 CODE 0 text0 dist/default/production\src.production.obj
+start 0 0 CODE 0 init C:\Users\_prossn\AppData\Local\Temp\s438.obj
__size_of_main 0 0 ABS 0 - dist/default/production\src.production.obj
+eusart_write_midi@data 8 0 COMRAM 1 cstackCOMRAM dist/default/production\src.production.obj
__CFG_CCP2MX$PORTC1 0 0 ABS 0 - dist/default/production\src.production.obj
+midi_note_on@channel 8 0 COMRAM 1 cstackCOMRAM dist/default/production\src.production.obj
__Hpowerup 0 0 CODE 0 powerup dist/default/production\src.production.obj
__CFG_CCP3MX$PORTB5 0 0 ABS 0 - dist/default/production\src.production.obj
-__accesstop 60 0 ABS 0 - C:\Users\_prossn\AppData\Local\Temp\s3s8.obj
-intlevel0 0 0 CODE 0 text C:\Users\_prossn\AppData\Local\Temp\s3s8.obj
-intlevel1 0 0 CODE 0 text C:\Users\_prossn\AppData\Local\Temp\s3s8.obj
-intlevel2 0 0 CODE 0 text C:\Users\_prossn\AppData\Local\Temp\s3s8.obj
-intlevel3 0 0 CODE 0 text C:\Users\_prossn\AppData\Local\Temp\s3s8.obj
+__size_of_eusart_write_midi 0 0 ABS 0 - dist/default/production\src.production.obj
+__accesstop 60 0 ABS 0 - C:\Users\_prossn\AppData\Local\Temp\s438.obj
+intlevel0 0 0 CODE 0 text C:\Users\_prossn\AppData\Local\Temp\s438.obj
+intlevel1 0 0 CODE 0 text C:\Users\_prossn\AppData\Local\Temp\s438.obj
+intlevel2 0 0 CODE 0 text C:\Users\_prossn\AppData\Local\Temp\s438.obj
+intlevel3 0 0 CODE 0 text C:\Users\_prossn\AppData\Local\Temp\s438.obj
+_midi_set_status 7E8A 0 CODE 0 text2 dist/default/production\src.production.obj
__LnvFARRAM 0 0 FARRAM 0 nvFARRAM dist/default/production\src.production.obj
__CFG_EBTR0$OFF 0 0 ABS 0 - dist/default/production\src.production.obj
__CFG_EBTR1$OFF 0 0 ABS 0 - dist/default/production\src.production.obj
__CFG_EBTRB$OFF 0 0 ABS 0 - dist/default/production\src.production.obj
+eusart_write_midi@pkt 2 0 COMRAM 1 cstackCOMRAM dist/default/production\src.production.obj
__CFG_P2BMX$PORTD2 0 0 ABS 0 - dist/default/production\src.production.obj
__Hifardata 0 0 CODE 0 ifardata dist/default/production\src.production.obj
__Hclrtext 0 0 ABS 0 clrtext dist/default/production\src.production.obj
__CFG_PRICLKEN$ON 0 0 ABS 0 - dist/default/production\src.production.obj
-_eusart_init 3FE8 0 CODE 0 text1 dist/default/production\src.production.obj
-___inthi_sp 0 0 STACK 2 stack C:\Users\_prossn\AppData\Local\Temp\s3s8.obj
-___intlo_sp 0 0 STACK 2 stack C:\Users\_prossn\AppData\Local\Temp\s3s8.obj
+_eusart_init 7E72 0 CODE 0 text6 dist/default/production\src.production.obj
+midi_note_on@velocity B 0 COMRAM 1 cstackCOMRAM dist/default/production\src.production.obj
+___inthi_sp 0 0 STACK 2 stack C:\Users\_prossn\AppData\Local\Temp\s438.obj
+___intlo_sp 0 0 STACK 2 stack C:\Users\_prossn\AppData\Local\Temp\s438.obj
+eusart_write_midi@length 6 0 COMRAM 1 cstackCOMRAM dist/default/production\src.production.obj
__Hintcode_body 0 0 ABS 0 intcode_body dist/default/production\src.production.obj
__Lintsave_regs 0 0 BIGRAM 1 intsave_regs dist/default/production\src.production.obj
_BAUDCONbits FB8 0 ABS 0 - dist/default/production\src.production.obj
__Hmediumconst 0 0 MEDIUMCONST 0 mediumconst dist/default/production\src.production.obj
__Hintcodelo 0 0 CODE 0 intcodelo dist/default/production\src.production.obj
+midi_note_on@note A 0 COMRAM 1 cstackCOMRAM dist/default/production\src.production.obj
+__size_of_putch 0 0 ABS 0 - dist/default/production\src.production.obj
__Lintcodelo 0 0 CODE 0 intcodelo dist/default/production\src.production.obj
__CFG_FCMEN$OFF 0 0 ABS 0 - dist/default/production\src.production.obj
-start_initialization 3FE2 0 CODE 0 cinit dist/default/production\src.production.obj
+start_initialization 7E60 0 CODE 0 cinit dist/default/production\src.production.obj
__CFG_PBADEN$ON 0 0 ABS 0 - dist/default/production\src.production.obj
__HnvFARRAM 0 0 FARRAM 0 nvFARRAM dist/default/production\src.production.obj
+__size_of_midi_set_status 0 0 ABS 0 - dist/default/production\src.production.obj
___rparam_used 1 0 ABS 0 - dist/default/production\src.production.obj
+__end_of_eusart_write_midi 8000 0 CODE 0 text4 dist/default/production\src.production.obj
__CFG_WDTPS$32768 0 0 ABS 0 - dist/default/production\src.production.obj
_TRISC6 7CA6 0 ABS 0 - dist/default/production\src.production.obj
_TRISC7 7CA7 0 ABS 0 - dist/default/production\src.production.obj
__Hbank0 0 0 ABS 0 bank0 dist/default/production\src.production.obj
__Hbank1 0 0 ABS 0 bank1 dist/default/production\src.production.obj
__Hbank2 0 0 ABS 0 bank2 dist/default/production\src.production.obj
+__Hbank3 0 0 ABS 0 bank3 dist/default/production\src.production.obj
+__Hbank4 0 0 ABS 0 bank4 dist/default/production\src.production.obj
+__Hbank5 0 0 ABS 0 bank5 dist/default/production\src.production.obj
__Hcinit 0 0 ABS 0 cinit dist/default/production\src.production.obj
__Hconst 0 0 CONST 0 const dist/default/production\src.production.obj
__Hidata 0 0 CODE 0 idata dist/default/production\src.production.obj
@@ -146,14 +201,23 @@ __Hrdata 0 0 COMRAM 1 rdata dist/default/production\src.production.obj
__Hstack 0 0 STACK 2 stack dist/default/production\src.production.obj
__Htext0 0 0 ABS 0 text0 dist/default/production\src.production.obj
__Htext1 0 0 ABS 0 text1 dist/default/production\src.production.obj
+__Htext2 0 0 ABS 0 text2 dist/default/production\src.production.obj
+__Htext3 0 0 ABS 0 text3 dist/default/production\src.production.obj
+__Htext4 0 0 ABS 0 text4 dist/default/production\src.production.obj
+__Htext5 0 0 ABS 0 text5 dist/default/production\src.production.obj
+__Htext6 0 0 ABS 0 text6 dist/default/production\src.production.obj
__Hbigbss 0 0 BIGRAM 1 bigbss dist/default/production\src.production.obj
__Hbigram 0 0 ABS 0 bigram dist/default/production\src.production.obj
-__smallconst 0 0 SMALLCONST 0 smallconst C:\Users\_prossn\AppData\Local\Temp\s3s8.obj
+__smallconst 0 0 SMALLCONST 0 smallconst C:\Users\_prossn\AppData\Local\Temp\s438.obj
__Hcomram 0 0 ABS 0 comram dist/default/production\src.production.obj
__Hconfig 30000E 0 CONFIG 0 config dist/default/production\src.production.obj
+midi_note_on@pkt 6 0 COMRAM 1 cstackCOMRAM dist/default/production\src.production.obj
__Lbank0 0 0 ABS 0 bank0 dist/default/production\src.production.obj
__Lbank1 0 0 ABS 0 bank1 dist/default/production\src.production.obj
__Lbank2 0 0 ABS 0 bank2 dist/default/production\src.production.obj
+__Lbank3 0 0 ABS 0 bank3 dist/default/production\src.production.obj
+__Lbank4 0 0 ABS 0 bank4 dist/default/production\src.production.obj
+__Lbank5 0 0 ABS 0 bank5 dist/default/production\src.production.obj
__Lcinit 0 0 ABS 0 cinit dist/default/production\src.production.obj
__Lconst 0 0 CONST 0 const dist/default/production\src.production.obj
__Lidata 0 0 CODE 0 idata dist/default/production\src.production.obj
@@ -164,6 +228,11 @@ __Lrdata 0 0 COMRAM 1 rdata dist/default/production\src.production.obj
__Lstack 0 0 STACK 2 stack dist/default/production\src.production.obj
__Ltext0 0 0 ABS 0 text0 dist/default/production\src.production.obj
__Ltext1 0 0 ABS 0 text1 dist/default/production\src.production.obj
+__Ltext2 0 0 ABS 0 text2 dist/default/production\src.production.obj
+__Ltext3 0 0 ABS 0 text3 dist/default/production\src.production.obj
+__Ltext4 0 0 ABS 0 text4 dist/default/production\src.production.obj
+__Ltext5 0 0 ABS 0 text5 dist/default/production\src.production.obj
+__Ltext6 0 0 ABS 0 text6 dist/default/production\src.production.obj
__Hfarbss 0 0 FARRAM 0 farbss dist/default/production\src.production.obj
__Lintcode_body 0 0 ABS 0 intcode_body dist/default/production\src.production.obj
__CFG_T3CMX$PORTC0 0 0 ABS 0 - dist/default/production\src.production.obj
@@ -186,55 +255,69 @@ __HcstackCOMRAM 0 0 ABS 0 cstackCOMRAM dist/default/production\src.production.ob
__Hintret 0 0 ABS 0 intret dist/default/production\src.production.obj
__Hirdata 0 0 CODE 0 irdata dist/default/production\src.production.obj
__S0 30000E 0 ABS 0 - dist/default/production\src.production.obj
-__S1 0 0 ABS 0 - dist/default/production\src.production.obj
+__S1 15 0 ABS 0 - dist/default/production\src.production.obj
__S2 0 0 ABS 0 - dist/default/production\src.production.obj
__Lbigdata 0 0 BIGRAM 1 bigdata dist/default/production\src.production.obj
__Hnvrram 0 0 COMRAM 1 nvrram dist/default/production\src.production.obj
+_eusart_write_midi 7F78 0 CODE 0 text4 dist/default/production\src.production.obj
__CFG_BORV$190 0 0 ABS 0 - dist/default/production\src.production.obj
__Lintentry 0 0 ABS 0 intentry dist/default/production\src.production.obj
-__Hramtop 300 0 RAM 0 ramtop dist/default/production\src.production.obj
+__Hramtop 600 0 RAM 0 ramtop dist/default/production\src.production.obj
__Hrparam 0 0 COMRAM 1 rparam dist/default/production\src.production.obj
+_midi_note_on 7F02 0 CODE 0 text1 dist/default/production\src.production.obj
__CFG_PWRTEN$OFF 0 0 ABS 0 - dist/default/production\src.production.obj
__activetblptr 0 0 ABS 0 - dist/default/production\src.production.obj
__Hstruct 0 0 COMRAM 1 struct dist/default/production\src.production.obj
-__end_of_eusart_init 4000 0 CODE 0 text1 dist/default/production\src.production.obj
+__end_of_eusart_init 7E8A 0 CODE 0 text6 dist/default/production\src.production.obj
_RCSTAbits FAB 0 ABS 0 - dist/default/production\src.production.obj
__CFG_HFOFST$ON 0 0 ABS 0 - dist/default/production\src.production.obj
__Lbigbss 0 0 BIGRAM 1 bigbss dist/default/production\src.production.obj
__Lbigram 0 0 ABS 0 bigram dist/default/production\src.production.obj
+midi_set_channel@pkt 1 0 COMRAM 1 cstackCOMRAM dist/default/production\src.production.obj
__Lcomram 0 0 ABS 0 comram dist/default/production\src.production.obj
__Lconfig 300000 0 CONFIG 0 config dist/default/production\src.production.obj
__CFG_WDTEN$ON 0 0 ABS 0 - dist/default/production\src.production.obj
__Lfarbss 0 0 FARRAM 0 farbss dist/default/production\src.production.obj
__Lfardata 0 0 FARRAM 0 fardata dist/default/production\src.production.obj
-stackhi 2FF 0 ABS 0 - C:\Users\_prossn\AppData\Local\Temp\s3s8.obj
-stacklo 60 0 ABS 0 - C:\Users\_prossn\AppData\Local\Temp\s3s8.obj
+midi_set_status@status 3 0 COMRAM 1 cstackCOMRAM dist/default/production\src.production.obj
+__size_of_midi_note_on 0 0 ABS 0 - dist/default/production\src.production.obj
+stackhi 5FF 0 ABS 0 - C:\Users\_prossn\AppData\Local\Temp\s438.obj
+stacklo 60 0 ABS 0 - C:\Users\_prossn\AppData\Local\Temp\s438.obj
__Lintcode 0 0 CODE 0 intcode dist/default/production\src.production.obj
__Lintret 0 0 ABS 0 intret dist/default/production\src.production.obj
__Lirdata 0 0 CODE 0 irdata dist/default/production\src.production.obj
+_midi_set_channel 7EAE 0 CODE 0 text3 dist/default/production\src.production.obj
__Lspace_0 0 0 ABS 0 - dist/default/production\src.production.obj
__Lspace_1 0 0 ABS 0 - dist/default/production\src.production.obj
__Lspace_2 0 0 ABS 0 - dist/default/production\src.production.obj
__CFG_LVP$ON 0 0 ABS 0 - dist/default/production\src.production.obj
__LcstackCOMRAM 0 0 ABS 0 cstackCOMRAM dist/default/production\src.production.obj
-end_of_initialization 3FE2 0 CODE 0 cinit dist/default/production\src.production.obj
+end_of_initialization 7E60 0 CODE 0 cinit dist/default/production\src.production.obj
+__end_of_midi_note_on 7F78 0 CODE 0 text1 dist/default/production\src.production.obj
__Lnvrram 0 0 COMRAM 1 nvrram dist/default/production\src.production.obj
__Hintentry 0 0 ABS 0 intentry dist/default/production\src.production.obj
__CFG_STVREN$ON 0 0 ABS 0 - dist/default/production\src.production.obj
__Hreset_vec 0 0 CODE 0 reset_vec dist/default/production\src.production.obj
-__Lramtop 300 0 RAM 0 ramtop dist/default/production\src.production.obj
+__Lramtop 600 0 RAM 0 ramtop dist/default/production\src.production.obj
__Lrparam 0 0 COMRAM 1 rparam dist/default/production\src.production.obj
-__pcinit 3FE2 0 CODE 0 cinit dist/default/production\src.production.obj
-__ptext0 3FDC 0 CODE 0 text0 dist/default/production\src.production.obj
-__ptext1 3FE8 0 CODE 0 text1 dist/default/production\src.production.obj
+__pcinit 7E60 0 CODE 0 cinit dist/default/production\src.production.obj
+__ptext0 7ED4 0 CODE 0 text0 dist/default/production\src.production.obj
+__ptext1 7F02 0 CODE 0 text1 dist/default/production\src.production.obj
+__ptext2 7E8A 0 CODE 0 text2 dist/default/production\src.production.obj
+__ptext3 7EAE 0 CODE 0 text3 dist/default/production\src.production.obj
+__ptext4 7F78 0 CODE 0 text4 dist/default/production\src.production.obj
+__ptext5 7E66 0 CODE 0 text5 dist/default/production\src.production.obj
+__ptext6 7E72 0 CODE 0 text6 dist/default/production\src.production.obj
__Lstruct 0 0 COMRAM 1 struct dist/default/production\src.production.obj
-__ramtop 300 0 RAM 0 ramtop C:\Users\_prossn\AppData\Local\Temp\s3s8.obj
+__ramtop 600 0 RAM 0 ramtop C:\Users\_prossn\AppData\Local\Temp\s438.obj
+putch@c 1 0 COMRAM 1 cstackCOMRAM dist/default/production\src.production.obj
__Lpowerup 0 0 CODE 0 powerup dist/default/production\src.production.obj
__Leeprom_data 0 0 EEDATA 0 eeprom_data dist/default/production\src.production.obj
+midi_set_status@pkt 1 0 COMRAM 1 cstackCOMRAM dist/default/production\src.production.obj
__Lreset_vec 0 0 CODE 0 reset_vec dist/default/production\src.production.obj
___param_bank 0 0 ABS 0 - dist/default/production\src.production.obj
__Hbigdata 0 0 BIGRAM 1 bigdata dist/default/production\src.production.obj
-__end_of__initialization 3FE2 0 CODE 0 cinit dist/default/production\src.production.obj
+__end_of__initialization 7E60 0 CODE 0 cinit dist/default/production\src.production.obj
__CFG_WRT0$OFF 0 0 ABS 0 - dist/default/production\src.production.obj
__CFG_WRT1$OFF 0 0 ABS 0 - dist/default/production\src.production.obj
__CFG_WRTB$OFF 0 0 ABS 0 - dist/default/production\src.production.obj
@@ -243,14 +326,17 @@ __CFG_WRTC$OFF 0 0 ABS 0 - dist/default/production\src.production.obj
__CFG_WRTD$OFF 0 0 ABS 0 - dist/default/production\src.production.obj
__size_of_eusart_init 0 0 ABS 0 - dist/default/production\src.production.obj
__Lclrtext 0 0 ABS 0 clrtext dist/default/production\src.production.obj
-__pcstackCOMRAM 0 0 COMRAM 1 cstackCOMRAM dist/default/production\src.production.obj
+__end_of_midi_set_channel 7ED4 0 CODE 0 text3 dist/default/production\src.production.obj
+__pcstackCOMRAM 1 0 COMRAM 1 cstackCOMRAM dist/default/production\src.production.obj
__CFG_FOSC$ECHPIO6 0 0 ABS 0 - dist/default/production\src.production.obj
_TXSTAbits FAC 0 ABS 0 - dist/default/production\src.production.obj
+__size_of_midi_set_channel 0 0 ABS 0 - dist/default/production\src.production.obj
__CFG_BOREN$SBORDIS 0 0 ABS 0 - dist/default/production\src.production.obj
-__end_of_main 3FE2 0 CODE 0 text0 dist/default/production\src.production.obj
+__end_of_main 7F02 0 CODE 0 text0 dist/default/production\src.production.obj
_RCREG FAE 0 ABS 0 - dist/default/production\src.production.obj
_SPBRG FAF 0 ABS 0 - dist/default/production\src.production.obj
_TXREG FAD 0 ABS 0 - dist/default/production\src.production.obj
+__end_of_putch 7E72 0 CODE 0 text5 dist/default/production\src.production.obj
__CFG_CP0$OFF 0 0 ABS 0 - dist/default/production\src.production.obj
__CFG_CP1$OFF 0 0 ABS 0 - dist/default/production\src.production.obj
__HRAM 0 0 ABS 0 - dist/default/production\src.production.obj
@@ -263,13 +349,16 @@ __Lram 0 0 ABS 0 ram dist/default/production\src.production.obj
__Lsfr 0 0 ABS 0 sfr dist/default/production\src.production.obj
__CFG_PLLCFG$OFF 0 0 ABS 0 - dist/default/production\src.production.obj
__CFG_CPB$OFF 0 0 ABS 0 - dist/default/production\src.production.obj
+_putch 7E66 0 CODE 0 text5 dist/default/production\src.production.obj
__CFG_CPD$OFF 0 0 ABS 0 - dist/default/production\src.production.obj
-__initialization 3FE2 0 CODE 0 cinit dist/default/production\src.production.obj
+main@sample_message E 0 COMRAM 1 cstackCOMRAM dist/default/production\src.production.obj
+__initialization 7E60 0 CODE 0 cinit dist/default/production\src.production.obj
__Hfardata 0 0 FARRAM 0 fardata dist/default/production\src.production.obj
__Hsmallconst 0 0 SMALLCONST 0 smallconst dist/default/production\src.production.obj
__Lifardata 0 0 CODE 0 ifardata dist/default/production\src.production.obj
__Hintsave_regs 0 0 BIGRAM 1 intsave_regs dist/default/production\src.production.obj
__CFG_MCLRE$EXTMCLR 0 0 ABS 0 - dist/default/production\src.production.obj
+midi_set_channel@channel 3 0 COMRAM 1 cstackCOMRAM dist/default/production\src.production.obj
__Hintcode 0 0 CODE 0 intcode dist/default/production\src.production.obj
# %SPLITSTAB Section
# This section enumerates all the psect splits performed by the assembler.
@@ -295,9 +384,15 @@ __Hintcode 0 0 CODE 0 intcode dist/default/production\src.production.obj
# and size are in units of delta. The file address is in units of bytes.
# All other numeric quantities are in decimal.
%SEGMENTS
-cinit 0 3FE2 3FE2 6 1
+cinit 0 7E60 7E60 6 1
idloc 0 200000 200000 8 1
-text0 0 3FDC 3FDC 6 1
-text1 0 3FE8 3FE8 18 1
+text0 0 7ED4 7ED4 2E 1
+text1 0 7F02 7F02 76 1
+text2 0 7E8A 7E8A 24 1
+text3 0 7EAE 7EAE 26 1
+text4 0 7F78 7F78 88 1
+text5 0 7E66 7E66 C 1
+text6 0 7E72 7E72 18 1
+cstackCOMRAM 1 1 1 14 1
reset_vec 0 0 0 4 1
config 0 300000 300000 E 1
diff --git a/src/dist/default/production/src.production.elf b/src/dist/default/production/src.production.elf
index ad946ca..23490b8 100644
--- a/src/dist/default/production/src.production.elf
+++ b/src/dist/default/production/src.production.elf
Binary files differ
diff --git a/src/dist/default/production/src.production.hex b/src/dist/default/production/src.production.hex
index a2c4ce5..126724a 100644
--- a/src/dist/default/production/src.production.hex
+++ b/src/dist/default/production/src.production.hex
@@ -1,9 +1,32 @@
-:04000000F1EF1FF00D
-:103FDC00F4EC1FF0FFD70001EEEF1FF0AC98AC9C97
-:103FEC00AB8E810EAF6EAC84B896948E948CAB88ED
-:043FFC00AC8A120079
+:0400000030EF3FF0AE
+:107E600000016AEF3FF0016E9EA8FED701C0ADFF92
+:107E70001200AC98AC9CAB8E810EAF6EAC84B89601
+:107E8000948E948CAB88AC8A120001500210D8B446
+:107E9000120003C004F00F0E041601C0D9FF02C087
+:107EA000DAFFDF500418F00B0418DF6E12000150E7
+:107EB0000210D8B4120003C005F00F0E051601C061
+:107EC000D9FF02C0DAFF053ADF5005180F0B05187D
+:107ED000DF6E12000E0E066E000E076E000E096EAB
+:107EE000000E086E3C0E0A6E7F0E0B6E81EC3FF0AA
+:107EF00039EC3FF00E0E026E000E036EBCEC3FF04C
+:107F0000F9D706500710D8B4120006C001F007C018
+:107F100002F0080E036E45EC3FF006C001F007C00A
+:107F200002F008C003F009C004F057EC3FF0030E64
+:107F300006240C6E000E07200D6E0C500D10D8B4E8
+:107F4000120020EE03F00650D9260750DA220AC0AC
+:107F5000DFFF20EE04F00650D9260750DA220BC0CE
+:107F6000DFFF20EE01F00650D9260750DA22020E7C
+:107F7000DE6E000EDD6E120002500310D8B4120047
+:107F8000030E0224046E000E0320056E045005103B
+:107F9000D8B4120020EE01F00250D9260350DA22A4
+:107FA000DECF06F0DDCF07F0030E0224086E000ED0
+:107FB0000320096E02C0D9FF03C0DAFFDF380F0BC0
+:107FC000046E02C0D9FF03C0DAFFDF500F0B056E4D
+:107FD0000538F00B041033EC3FF009D008C0D9FF8E
+:107FE00009C0DAFFDF5033EC3FF0084A092A0606E1
+:107FF000D8A007060628F2E10728D8B41200EED769
:020000040020DA
:08000000FFFFFFFFFFFFFFFF00
:020000040030CA
-:0E000000FF251F3FFFBF85FF03C003E0034045
+:0E000000FF251F3FFFBF85FF0FC00FE00F4021
:00000001FF
diff --git a/src/dist/default/production/src.production.hxl b/src/dist/default/production/src.production.hxl
index c943d1e..c3f5c51 100644
--- a/src/dist/default/production/src.production.hxl
+++ b/src/dist/default/production/src.production.hxl
@@ -1,14 +1,14 @@
### HEXMate logfile and output summary ###
### Memory Usage ###
Unused memory ranges:
- 4h - 3FDBh
- 4000h - 1FFFFFh
+ 4h - 7E5Fh
+ 8000h - 1FFFFFh
200008h - 2FFFFFh
30000Eh - 30003Fh
dist/default/production\src.production.hex ranges:
0h - 3h
- 3FDCh - 3FFFh
+ 7E60h - 7FFFh
200000h - 200007h
300000h - 30000Dh
@@ -25,6 +25,12 @@
X = Find & delete opcode
1 = dist/default/production\src.production.hex
00000000: 1111------------------------------------------------------------
-00003FC0: ----------------------------111111111111111111111111111111111111
+00007E40: --------------------------------11111111111111111111111111111111
+00007E80: 1111111111111111111111111111111111111111111111111111111111111111
+00007EC0: 1111111111111111111111111111111111111111111111111111111111111111
+00007F00: 1111111111111111111111111111111111111111111111111111111111111111
+00007F40: 1111111111111111111111111111111111111111111111111111111111111111
+00007F80: 1111111111111111111111111111111111111111111111111111111111111111
+00007FC0: 1111111111111111111111111111111111111111111111111111111111111111
00200000: 11111111--------------------------------------------------------
00300000: 11111111111111--------------------------------------------------
diff --git a/src/dist/default/production/src.production.lst b/src/dist/default/production/src.production.lst
index 01c9d84..fd44914 100644
--- a/src/dist/default/production/src.production.lst
+++ b/src/dist/default/production/src.production.lst
@@ -1,10 +1,10 @@
Microchip Technology PIC18 LITE Macro Assembler V1.44 build -154322312
- Mon Jan 08 09:28:26 2018
+ Thu Feb 01 17:09:31 2018
Microchip Technology Omniscient Code Generator v1.44 (Free mode) build 201709140600
- 1 processor 18F44K22
+ 1 processor 18F45K22
2 fnconf rparam,??,?,0
3 opt pw 120
4 opt lm
@@ -12,202 +12,759 @@ Microchip Technology Omniscient Code Generator v1.44 (Free mode) build 201709140
6 psect cstackCOMRAM,global,class=COMRAM,space=1,delta=1,noexec
7 psect text0,global,reloc=2,class=CODE,delta=1
8 psect text1,global,reloc=2,class=CODE,delta=1
- 9 psect intsave_regs,global,class=BIGRAM,space=1,delta=1,noexec
- 10 psect rparam,global,class=COMRAM,space=1,delta=1,noexec
- 11 0000
- 12 ; Version 1.44
- 13 ; Generated 14/09/2017 GMT
- 14 ;
- 15 ; Copyright © 2017, Microchip Technology Inc. and its subsidiaries ("Microchip")
- 16 ; All rights reserved.
- 17 ;
- 18 ; This software is developed by Microchip Technology Inc. and its subsidiaries ("Microch
- + ip").
+ 9 psect text2,global,reloc=2,class=CODE,delta=1
+ 10 psect text3,global,reloc=2,class=CODE,delta=1
+ 11 psect text4,global,reloc=2,class=CODE,delta=1
+ 12 psect text5,global,reloc=2,class=CODE,delta=1
+ 13 psect text6,global,reloc=2,class=CODE,delta=1
+ 14 psect intsave_regs,global,class=BIGRAM,space=1,delta=1,noexec
+ 15 psect rparam,global,class=COMRAM,space=1,delta=1,noexec
+ 16 0000
+ 17 ; Version 1.44
+ 18 ; Generated 14/09/2017 GMT
19 ;
- 20 ; Redistribution and use in source and binary forms, with or without modification, are
- 21 ; permitted provided that the following conditions are met:
+ 20 ; Copyright © 2017, Microchip Technology Inc. and its subsidiaries ("Microchip")
+ 21 ; All rights reserved.
22 ;
- 23 ; 1. Redistributions of source code must retain the above copyright notice, this lis
+ 23 ; This software is developed by Microchip Technology Inc. and its subsidiaries ("Microch
+ + ip").
+ 24 ;
+ 25 ; Redistribution and use in source and binary forms, with or without modification, are
+ 26 ; permitted provided that the following conditions are met:
+ 27 ;
+ 28 ; 1. Redistributions of source code must retain the above copyright notice, this lis
+ t of
- 24 ; conditions and the following disclaimer.
- 25 ;
- 26 ; 2. Redistributions in binary form must reproduce the above copyright notice, this
+ 29 ; conditions and the following disclaimer.
+ 30 ;
+ 31 ; 2. Redistributions in binary form must reproduce the above copyright notice, this
+ list
- 27 ; of conditions and the following disclaimer in the documentation and/or other
- 28 ; materials provided with the distribution.
- 29 ;
- 30 ; 3. Microchip's name may not be used to endorse or promote products derived from th
+ 32 ; of conditions and the following disclaimer in the documentation and/or other
+ 33 ; materials provided with the distribution.
+ 34 ;
+ 35 ; 3. Microchip's name may not be used to endorse or promote products derived from th
+ is
- 31 ; software without specific prior written permission.
- 32 ;
- 33 ; THIS SOFTWARE IS PROVIDED BY MICROCHIP "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
- 34 ; INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS F
+ 36 ; software without specific prior written permission.
+ 37 ;
+ 38 ; THIS SOFTWARE IS PROVIDED BY MICROCHIP "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ 39 ; INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS F
+ OR
- 35 ; PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL MICROCHIP BE LIABLE FOR ANY DIRECT, INDIREC
+ 40 ; PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL MICROCHIP BE LIABLE FOR ANY DIRECT, INDIREC
+ T,
- 36 ; INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT LIMITED TO
- 37 ; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA OR PROFITS; OR BUSINESS
- 38 ; INTERRUPTION) HOWSOEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, ST
+ 41 ; INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT LIMITED TO
+ 42 ; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA OR PROFITS; OR BUSINESS
+ 43 ; INTERRUPTION) HOWSOEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, ST
+ RICT
- 39 ; LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE U
+ 44 ; LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE U
+ SE OF
- 40 ; THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- 41 ;
- 42 ;
- 43 ; Code-generator required, PIC18F44K22 Definitions
- 44 ;
- 45 ; SFR Addresses
- 46 0000 _RCREG set 4014
- 47 0000 _TXREG set 4013
- 48 0000 _BAUDCONbits set 4024
- 49 0000 _SPBRG set 4015
- 50 0000 _RCSTAbits set 4011
- 51 0000 _TXSTAbits set 4012
- 52 0000 _RCIF set 31989
- 53 0000 _TXIF set 31988
- 54 0000 _TRISC6 set 31910
- 55 0000 _TRISC7 set 31911
- 56
- 57 ; #config settings
- 58 0000
- 59 psect cinit
- 60 003FE2 __pcinit:
- 61 opt stack 0
- 62 003FE2 start_initialization:
- 63 opt stack 0
- 64 003FE2 __initialization:
- 65 opt stack 0
- 66 003FE2 end_of_initialization:
- 67 opt stack 0
- 68 003FE2 __end_of__initialization:
- 69 opt stack 0
- 70 003FE2 0100 movlb 0
- 71 003FE4 EFEE F01F goto _main ;jump to C main() function
- 72
- 73 psect cstackCOMRAM
- 74 000000 __pcstackCOMRAM:
- 75 opt stack 0
- 76 000000
- 77 ; 1 bytes @ 0x0
- 78 ;;
- 79 ;;Main: autosize = 0, tempsize = 0, incstack = 0, save=0
- 80 ;;
- 81 ;; *************** function _main *****************
- 82 ;; Defined at:
- 83 ;; line 83 in file "main.c"
- 84 ;; Parameters: Size Location Type
- 85 ;; None
- 86 ;; Auto vars: Size Location Type
- 87 ;; None
- 88 ;; Return value: Size Location Type
- 89 ;; 1 wreg void
- 90 ;; Registers used:
- 91 ;; wreg, status,2, cstack
- 92 ;; Tracked objects:
- 93 ;; On entry : 0/0
- 94 ;; On exit : 0/0
- 95 ;; Unchanged: 0/0
- 96 ;; Data sizes: COMRAM BANK0 BANK1 BANK2
- 97 ;; Params: 0 0 0 0
- 98 ;; Locals: 0 0 0 0
- 99 ;; Temps: 0 0 0 0
- 100 ;; Totals: 0 0 0 0
- 101 ;;Total ram usage: 0 bytes
- 102 ;; Hardware stack levels required when called: 1
- 103 ;; This function calls:
- 104 ;; _eusart_init
- 105 ;; This function is called by:
- 106 ;; Startup code after reset
- 107 ;; This function uses a non-reentrant model
- 108 ;;
- 109
- 110 psect text0
- 111 003FDC __ptext0:
+ 45 ; THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ 46 ;
+ 47 ;
+ 48 ; Code-generator required, PIC18F45K22 Definitions
+ 49 ;
+ 50 ; SFR Addresses
+ 51 0000 _RCREG set 4014
+ 52 0000 _TXREG set 4013
+ 53 0000 _BAUDCONbits set 4024
+ 54 0000 _SPBRG set 4015
+ 55 0000 _RCSTAbits set 4011
+ 56 0000 _TXSTAbits set 4012
+ 57 0000 _RCIF set 31989
+ 58 0000 _TXIF set 31988
+ 59 0000 _TRISC6 set 31910
+ 60 0000 _TRISC7 set 31911
+ 61
+ 62 ; #config settings
+ 63 0000
+ 64 psect cinit
+ 65 007E60 __pcinit:
+ 66 opt stack 0
+ 67 007E60 start_initialization:
+ 68 opt stack 0
+ 69 007E60 __initialization:
+ 70 opt stack 0
+ 71 007E60 end_of_initialization:
+ 72 opt stack 0
+ 73 007E60 __end_of__initialization:
+ 74 opt stack 0
+ 75 007E60 0100 movlb 0
+ 76 007E62 EF6A F03F goto _main ;jump to C main() function
+ 77
+ 78 psect cstackCOMRAM
+ 79 000001 __pcstackCOMRAM:
+ 80 opt stack 0
+ 81 000001 putch@c:
+ 82 opt stack 0
+ 83 000001 midi_set_status@pkt:
+ 84 opt stack 0
+ 85 000001 midi_set_channel@pkt:
+ 86 opt stack 0
+ 87
+ 88 ; 2 bytes @ 0x0
+ 89 000001 ds 1
+ 90 000002 eusart_write_midi@pkt:
+ 91 opt stack 0
+ 92
+ 93 ; 2 bytes @ 0x1
+ 94 000002 ds 1
+ 95 000003 midi_set_status@status:
+ 96 opt stack 0
+ 97 000003 midi_set_channel@channel:
+ 98 opt stack 0
+ 99
+ 100 ; 2 bytes @ 0x2
+ 101 000003 ds 1
+ 102 000004 ??_eusart_write_midi:
+ 103 000004 ??_midi_set_status:
+ 104
+ 105 ; 1 bytes @ 0x3
+ 106 000004 ds 1
+ 107 000005 ??_midi_set_channel:
+ 108
+ 109 ; 1 bytes @ 0x4
+ 110 000005 ds 1
+ 111 000006 eusart_write_midi@length:
112 opt stack 0
- 113 003FDC _main:
- 114 opt stack 30
+ 113 000006 midi_note_on@pkt:
+ 114 opt stack 0
115
- 116 ;main.c: 85: eusart_init();
- 117
- 118 ;incstack = 0
- 119 003FDC ECF4 F01F call _eusart_init ;wreg free
- 120 003FE0 l7:
- 121 003FE0 D7FF goto l7
- 122 003FE2 __end_of_main:
- 123 opt stack 0
- 124
- 125 ;; *************** function _eusart_init *****************
- 126 ;; Defined at:
- 127 ;; line 4 in file "rs232.c"
- 128 ;; Parameters: Size Location Type
- 129 ;; None
- 130 ;; Auto vars: Size Location Type
- 131 ;; None
- 132 ;; Return value: Size Location Type
- 133 ;; 1 wreg void
- 134 ;; Registers used:
- 135 ;; wreg, status,2
- 136 ;; Tracked objects:
- 137 ;; On entry : 0/0
- 138 ;; On exit : 0/0
- 139 ;; Unchanged: 0/0
- 140 ;; Data sizes: COMRAM BANK0 BANK1 BANK2
- 141 ;; Params: 0 0 0 0
- 142 ;; Locals: 0 0 0 0
- 143 ;; Temps: 0 0 0 0
- 144 ;; Totals: 0 0 0 0
- 145 ;;Total ram usage: 0 bytes
- 146 ;; Hardware stack levels used: 1
- 147 ;; This function calls:
- 148 ;; Nothing
- 149 ;; This function is called by:
- 150 ;; _main
- 151 ;; This function uses a non-reentrant model
- 152 ;;
- 153
- 154 psect text1
- 155 003FE8 __ptext1:
- 156 opt stack 0
- 157 003FE8 _eusart_init:
- 158 opt stack 30
- 159
- 160 ;rs232.c: 7: TXSTAbits.SYNC = 0;
- 161
- 162 ;incstack = 0
- 163 003FE8 98AC bcf 4012,4,c ;volatile
- 164
- 165 ;rs232.c: 8: TXSTAbits.TX9 = 0;
- 166 003FEA 9CAC bcf 4012,6,c ;volatile
- 167
- 168 ;rs232.c: 11: RCSTAbits.SPEN = 1;
- 169 003FEC 8EAB bsf 4011,7,c ;volatile
- 170
- 171 ;rs232.c: 12: SPBRG = 129;
- 172 003FEE 0E81 movlw 129
- 173 003FF0 6EAF movwf 4015,c ;volatile
- 174
- 175 ;rs232.c: 13: TXSTAbits.BRGH = 1;
- 176 003FF2 84AC bsf 4012,2,c ;volatile
- 177
- 178 ;rs232.c: 14: BAUDCONbits.BRG16 = 0;
- 179 003FF4 96B8 bcf 4024,3,c ;volatile
- 180
- 181 ;rs232.c: 17: TRISC7 = 1;
- 182 003FF6 8E94 bsf 3988,7,c ;volatile
- 183
- 184 ;rs232.c: 18: TRISC6 = 1;
- 185 003FF8 8C94 bsf 3988,6,c ;volatile
- 186
- 187 ;rs232.c: 19: RCSTAbits.CREN = 1;
- 188 003FFA 88AB bsf 4011,4,c ;volatile
- 189
- 190 ;rs232.c: 20: TXSTAbits.TXEN = 1;
- 191 003FFC 8AAC bsf 4012,5,c ;volatile
- 192 003FFE 0012 return ;funcret
- 193 004000 __end_of_eusart_init:
- 194 opt stack 0
- 195 0000
- 196 psect rparam
+ 116 ; 2 bytes @ 0x5
+ 117 000006 ds 2
+ 118 000008 eusart_write_midi@data:
+ 119 opt stack 0
+ 120 000008 midi_note_on@channel:
+ 121 opt stack 0
+ 122
+ 123 ; 2 bytes @ 0x7
+ 124 000008 ds 2
+ 125 00000A midi_note_on@note:
+ 126 opt stack 0
+ 127
+ 128 ; 1 bytes @ 0x9
+ 129 00000A ds 1
+ 130 00000B midi_note_on@velocity:
+ 131 opt stack 0
+ 132
+ 133 ; 1 bytes @ 0xA
+ 134 00000B ds 1
+ 135 00000C ??_midi_note_on:
+ 136
+ 137 ; 1 bytes @ 0xB
+ 138 00000C ds 2
+ 139 00000E main@sample_message:
+ 140 opt stack 0
+ 141
+ 142 ; 7 bytes @ 0xD
+ 143 00000E ds 7
+ 144
+ 145 ;;
+ 146 ;;Main: autosize = 0, tempsize = 0, incstack = 0, save=0
+ 147 ;;
+ 148 ;; *************** function _main *****************
+ 149 ;; Defined at:
+ 150 ;; line 105 in file "main.c"
+ 151 ;; Parameters: Size Location Type
+ 152 ;; None
+ 153 ;; Auto vars: Size Location Type
+ 154 ;; sample_messa 7 13[COMRAM] struct .
+ 155 ;; Return value: Size Location Type
+ 156 ;; 1 wreg void
+ 157 ;; Registers used:
+ 158 ;; wreg, fsr2l, fsr2h, status,2, status,0, cstack
+ 159 ;; Tracked objects:
+ 160 ;; On entry : 0/0
+ 161 ;; On exit : 0/0
+ 162 ;; Unchanged: 0/0
+ 163 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ 164 ;; Params: 0 0 0 0 0 0 0
+ 165 ;; Locals: 7 0 0 0 0 0 0
+ 166 ;; Temps: 0 0 0 0 0 0 0
+ 167 ;; Totals: 7 0 0 0 0 0 0
+ 168 ;;Total ram usage: 7 bytes
+ 169 ;; Hardware stack levels required when called: 2
+ 170 ;; This function calls:
+ 171 ;; _eusart_init
+ 172 ;; _eusart_write_midi
+ 173 ;; _midi_note_on
+ 174 ;; This function is called by:
+ 175 ;; Startup code after reset
+ 176 ;; This function uses a non-reentrant model
+ 177 ;;
+ 178
+ 179 psect text0
+ 180 007ED4 __ptext0:
+ 181 opt stack 0
+ 182 007ED4 _main:
+ 183 opt stack 29
+ 184
+ 185 ;main.c: 107: midi_message_t sample_message;
+ 186 ;main.c: 108: midi_note_on(&sample_message, 0x0, 0x3C, 0x7F);
+ 187
+ 188 ;incstack = 0
+ 189 007ED4 0E0E movlw low main@sample_message
+ 190 007ED6 6E06 movwf midi_note_on@pkt,c
+ 191 007ED8 0E00 movlw high main@sample_message
+ 192 007EDA 6E07 movwf midi_note_on@pkt+1,c
+ 193 007EDC 0E00 movlw 0
+ 194 007EDE 6E09 movwf midi_note_on@channel+1,c
+ 195 007EE0 0E00 movlw 0
+ 196 007EE2 6E08 movwf midi_note_on@channel,c
+ 197 007EE4 0E3C movlw 60
+ 198 007EE6 6E0A movwf midi_note_on@note,c
+ 199 007EE8 0E7F movlw 127
+ 200 007EEA 6E0B movwf midi_note_on@velocity,c
+ 201 007EEC EC81 F03F call _midi_note_on ;wreg free
+ 202
+ 203 ;main.c: 110: eusart_init();
+ 204 007EF0 EC39 F03F call _eusart_init ;wreg free
+ 205 007EF4
+ 206 ;main.c: 114: eusart_write_midi(&sample_message);
+ 207 007EF4 0E0E movlw low main@sample_message
+ 208 007EF6 6E02 movwf eusart_write_midi@pkt,c
+ 209 007EF8 0E00 movlw high main@sample_message
+ 210 007EFA 6E03 movwf eusart_write_midi@pkt+1,c
+ 211 007EFC ECBC F03F call _eusart_write_midi ;wreg free
+ 212 007F00 D7F9 goto l19
+ 213 007F02 __end_of_main:
+ 214 opt stack 0
+ 215
+ 216 ;; *************** function _midi_note_on *****************
+ 217 ;; Defined at:
+ 218 ;; line 64 in file "midi.c"
+ 219 ;; Parameters: Size Location Type
+ 220 ;; pkt 2 5[COMRAM] PTR struct .
+ 221 ;; -> main@sample_message(7),
+ 222 ;; channel 2 7[COMRAM] unsigned int
+ 223 ;; note 1 9[COMRAM] enum E31
+ 224 ;; velocity 1 10[COMRAM] unsigned char
+ 225 ;; Auto vars: Size Location Type
+ 226 ;; None
+ 227 ;; Return value: Size Location Type
+ 228 ;; 2 5[COMRAM] int
+ 229 ;; Registers used:
+ 230 ;; wreg, fsr2l, fsr2h, status,2, status,0, cstack
+ 231 ;; Tracked objects:
+ 232 ;; On entry : 0/0
+ 233 ;; On exit : 0/0
+ 234 ;; Unchanged: 0/0
+ 235 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ 236 ;; Params: 6 0 0 0 0 0 0
+ 237 ;; Locals: 0 0 0 0 0 0 0
+ 238 ;; Temps: 2 0 0 0 0 0 0
+ 239 ;; Totals: 8 0 0 0 0 0 0
+ 240 ;;Total ram usage: 8 bytes
+ 241 ;; Hardware stack levels used: 1
+ 242 ;; Hardware stack levels required when called: 1
+ 243 ;; This function calls:
+ 244 ;; _midi_set_channel
+ 245 ;; _midi_set_status
+ 246 ;; This function is called by:
+ 247 ;; _main
+ 248 ;; This function uses a non-reentrant model
+ 249 ;;
+ 250
+ 251 psect text1
+ 252 007F02 __ptext1:
+ 253 opt stack 0
+ 254 007F02 _midi_note_on:
+ 255 opt stack 29
+ 256
+ 257 ;midi.c: 66: if (pkt == (0)) {
+ 258
+ 259 ;incstack = 0
+ 260 007F02 5006 movf midi_note_on@pkt,w,c
+ 261 007F04 1007 iorwf midi_note_on@pkt+1,w,c
+ 262 007F06 B4D8 btfsc status,2,c
+ 263 007F08 0012 return
+ 264
+ 265 ;midi.c: 68: }
+ 266 ;midi.c: 70: midi_set_status(pkt, NOTE_ON);
+ 267
+ 268 ;midi.c: 67: return -1;
+ 269 ; Return value of _midi_note_on is never used
+ 270 007F0A C006 F001 movff midi_note_on@pkt,midi_set_status@pkt
+ 271 007F0E C007 F002 movff midi_note_on@pkt+1,midi_set_status@pkt+1
+ 272 007F12 0E08 movlw 8
+ 273 007F14 6E03 movwf midi_set_status@status,c
+ 274 007F16 EC45 F03F call _midi_set_status ;wreg free
+ 275
+ 276 ;midi.c: 71: midi_set_channel(pkt, channel);
+ 277 007F1A C006 F001 movff midi_note_on@pkt,midi_set_channel@pkt
+ 278 007F1E C007 F002 movff midi_note_on@pkt+1,midi_set_channel@pkt+1
+ 279 007F22 C008 F003 movff midi_note_on@channel,midi_set_channel@channel
+ 280 007F26 C009 F004 movff midi_note_on@channel+1,midi_set_channel@channel+1
+ 281 007F2A EC57 F03F call _midi_set_channel ;wreg free
+ 282
+ 283 ;midi.c: 73: if (pkt->data == (0)) {
+ 284 007F2E 0E03 movlw 3
+ 285 007F30 2406 addwf midi_note_on@pkt,w,c
+ 286 007F32 6E0C movwf ??_midi_note_on& (0+255),c
+ 287 007F34 0E00 movlw 0
+ 288 007F36 2007 addwfc midi_note_on@pkt+1,w,c
+ 289 007F38 6E0D movwf (??_midi_note_on+1)& (0+255),c
+ 290 007F3A 500C movf ??_midi_note_on,w,c
+ 291 007F3C 100D iorwf ??_midi_note_on+1,w,c
+ 292 007F3E B4D8 btfsc status,2,c
+ 293 007F40 0012 return
+ 294
+ 295 ;midi.c: 75: }
+ 296 ;midi.c: 77: pkt->data[0] = note;
+ 297
+ 298 ;midi.c: 74: return -2;
+ 299 ; Return value of _midi_note_on is never used
+ 300 007F42 EE20 F003 lfsr 2,3
+ 301 007F46 5006 movf midi_note_on@pkt,w,c
+ 302 007F48 26D9 addwf fsr2l,f,c
+ 303 007F4A 5007 movf midi_note_on@pkt+1,w,c
+ 304 007F4C 22DA addwfc fsr2h,f,c
+ 305 007F4E C00A FFDF movff midi_note_on@note,indf2
+ 306
+ 307 ;midi.c: 78: pkt->data[1] = velocity;
+ 308 007F52 EE20 F004 lfsr 2,4
+ 309 007F56 5006 movf midi_note_on@pkt,w,c
+ 310 007F58 26D9 addwf fsr2l,f,c
+ 311 007F5A 5007 movf midi_note_on@pkt+1,w,c
+ 312 007F5C 22DA addwfc fsr2h,f,c
+ 313 007F5E C00B FFDF movff midi_note_on@velocity,indf2
+ 314
+ 315 ;midi.c: 81: pkt->data_size = 2;
+ 316 007F62 EE20 F001 lfsr 2,1
+ 317 007F66 5006 movf midi_note_on@pkt,w,c
+ 318 007F68 26D9 addwf fsr2l,f,c
+ 319 007F6A 5007 movf midi_note_on@pkt+1,w,c
+ 320 007F6C 22DA addwfc fsr2h,f,c
+ 321 007F6E 0E02 movlw 2
+ 322 007F70 6EDE movwf postinc2,c
+ 323 007F72 0E00 movlw 0
+ 324 007F74 6EDD movwf postdec2,c
+ 325 007F76 0012 return
+ 326 007F78 __end_of_midi_note_on:
+ 327 opt stack 0
+ 328 indf2 equ 0xFDF
+ 329 postinc2 equ 0xFDE
+ 330 postdec2 equ 0xFDD
+ 331 fsr2h equ 0xFDA
+ 332 fsr2l equ 0xFD9
+ 333 status equ 0xFD8
+ 334
+ 335 ;; *************** function _midi_set_status *****************
+ 336 ;; Defined at:
+ 337 ;; line 42 in file "midi.c"
+ 338 ;; Parameters: Size Location Type
+ 339 ;; pkt 2 0[COMRAM] PTR struct .
+ 340 ;; -> main@sample_message(7),
+ 341 ;; status 1 2[COMRAM] enum E40
+ 342 ;; Auto vars: Size Location Type
+ 343 ;; None
+ 344 ;; Return value: Size Location Type
+ 345 ;; 2 0[COMRAM] int
+ 346 ;; Registers used:
+ 347 ;; wreg, fsr2l, fsr2h, status,2, status,0
+ 348 ;; Tracked objects:
+ 349 ;; On entry : 0/0
+ 350 ;; On exit : 0/0
+ 351 ;; Unchanged: 0/0
+ 352 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ 353 ;; Params: 3 0 0 0 0 0 0
+ 354 ;; Locals: 0 0 0 0 0 0 0
+ 355 ;; Temps: 1 0 0 0 0 0 0
+ 356 ;; Totals: 4 0 0 0 0 0 0
+ 357 ;;Total ram usage: 4 bytes
+ 358 ;; Hardware stack levels used: 1
+ 359 ;; This function calls:
+ 360 ;; Nothing
+ 361 ;; This function is called by:
+ 362 ;; _midi_note_on
+ 363 ;; _midi_note_off
+ 364 ;; This function uses a non-reentrant model
+ 365 ;;
+ 366
+ 367 psect text2
+ 368 007E8A __ptext2:
+ 369 opt stack 0
+ 370 007E8A _midi_set_status:
+ 371 opt stack 29
+ 372
+ 373 ;midi.c: 44: if (pkt == (0)) {
+ 374
+ 375 ;incstack = 0
+ 376 007E8A 5001 movf midi_set_status@pkt,w,c
+ 377 007E8C 1002 iorwf midi_set_status@pkt+1,w,c
+ 378 007E8E B4D8 btfsc status,2,c
+ 379 007E90 0012 return
+ 380
+ 381 ;midi.c: 46: }
+ 382 ;midi.c: 48: pkt->status = status & 0x0F;
+ 383
+ 384 ;midi.c: 45: return -1;
+ 385 ; Return value of _midi_set_status is never used
+ 386 007E92 C003 F004 movff midi_set_status@status,??_midi_set_status
+ 387 007E96 0E0F movlw 15
+ 388 007E98 1604 andwf ??_midi_set_status,f,c
+ 389 007E9A C001 FFD9 movff midi_set_status@pkt,fsr2l
+ 390 007E9E C002 FFDA movff midi_set_status@pkt+1,fsr2h
+ 391 007EA2 50DF movf indf2,w,c
+ 392 007EA4 1804 xorwf ??_midi_set_status,w,c
+ 393 007EA6 0BF0 andlw -16
+ 394 007EA8 1804 xorwf ??_midi_set_status,w,c
+ 395 007EAA 6EDF movwf indf2,c
+ 396 007EAC 0012 return
+ 397 007EAE __end_of_midi_set_status:
+ 398 opt stack 0
+ 399 indf2 equ 0xFDF
+ 400 postinc2 equ 0xFDE
+ 401 postdec2 equ 0xFDD
+ 402 fsr2h equ 0xFDA
+ 403 fsr2l equ 0xFD9
+ 404 status equ 0xFD8
+ 405
+ 406 ;; *************** function _midi_set_channel *****************
+ 407 ;; Defined at:
+ 408 ;; line 53 in file "midi.c"
+ 409 ;; Parameters: Size Location Type
+ 410 ;; pkt 2 0[COMRAM] PTR struct .
+ 411 ;; -> main@sample_message(7),
+ 412 ;; channel 2 2[COMRAM] unsigned int
+ 413 ;; Auto vars: Size Location Type
+ 414 ;; None
+ 415 ;; Return value: Size Location Type
+ 416 ;; 2 0[COMRAM] int
+ 417 ;; Registers used:
+ 418 ;; wreg, fsr2l, fsr2h, status,2, status,0
+ 419 ;; Tracked objects:
+ 420 ;; On entry : 0/0
+ 421 ;; On exit : 0/0
+ 422 ;; Unchanged: 0/0
+ 423 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ 424 ;; Params: 4 0 0 0 0 0 0
+ 425 ;; Locals: 0 0 0 0 0 0 0
+ 426 ;; Temps: 1 0 0 0 0 0 0
+ 427 ;; Totals: 5 0 0 0 0 0 0
+ 428 ;;Total ram usage: 5 bytes
+ 429 ;; Hardware stack levels used: 1
+ 430 ;; This function calls:
+ 431 ;; Nothing
+ 432 ;; This function is called by:
+ 433 ;; _midi_note_on
+ 434 ;; _midi_note_off
+ 435 ;; This function uses a non-reentrant model
+ 436 ;;
+ 437
+ 438 psect text3
+ 439 007EAE __ptext3:
+ 440 opt stack 0
+ 441 007EAE _midi_set_channel:
+ 442 opt stack 29
+ 443
+ 444 ;midi.c: 55: if (pkt == (0)) {
+ 445
+ 446 ;incstack = 0
+ 447 007EAE 5001 movf midi_set_channel@pkt,w,c
+ 448 007EB0 1002 iorwf midi_set_channel@pkt+1,w,c
+ 449 007EB2 B4D8 btfsc status,2,c
+ 450 007EB4 0012 return
+ 451
+ 452 ;midi.c: 57: }
+ 453 ;midi.c: 59: pkt->channel = channel & 0x0F;
+ 454
+ 455 ;midi.c: 56: return -1;
+ 456 ; Return value of _midi_set_channel is never used
+ 457 007EB6 C003 F005 movff midi_set_channel@channel,??_midi_set_channel
+ 458 007EBA 0E0F movlw 15
+ 459 007EBC 1605 andwf ??_midi_set_channel,f,c
+ 460 007EBE C001 FFD9 movff midi_set_channel@pkt,fsr2l
+ 461 007EC2 C002 FFDA movff midi_set_channel@pkt+1,fsr2h
+ 462 007EC6 3A05 swapf ??_midi_set_channel,f,c
+ 463 007EC8 50DF movf indf2,w,c
+ 464 007ECA 1805 xorwf ??_midi_set_channel,w,c
+ 465 007ECC 0B0F andlw -241
+ 466 007ECE 1805 xorwf ??_midi_set_channel,w,c
+ 467 007ED0 6EDF movwf indf2,c
+ 468 007ED2 0012 return
+ 469 007ED4 __end_of_midi_set_channel:
+ 470 opt stack 0
+ 471 indf2 equ 0xFDF
+ 472 postinc2 equ 0xFDE
+ 473 postdec2 equ 0xFDD
+ 474 fsr2h equ 0xFDA
+ 475 fsr2l equ 0xFD9
+ 476 status equ 0xFD8
+ 477
+ 478 ;; *************** function _eusart_write_midi *****************
+ 479 ;; Defined at:
+ 480 ;; line 81 in file "main.c"
+ 481 ;; Parameters: Size Location Type
+ 482 ;; pkt 2 1[COMRAM] PTR struct .
+ 483 ;; -> main@sample_message(7),
+ 484 ;; Auto vars: Size Location Type
+ 485 ;; data 2 7[COMRAM] PTR unsigned char
+ 486 ;; -> sample_message.data(4), main@sample_message(7),
+ 487 ;; length 2 5[COMRAM] unsigned int
+ 488 ;; Return value: Size Location Type
+ 489 ;; 2 1[COMRAM] int
+ 490 ;; Registers used:
+ 491 ;; wreg, fsr2l, fsr2h, status,2, status,0, cstack
+ 492 ;; Tracked objects:
+ 493 ;; On entry : 0/0
+ 494 ;; On exit : 0/0
+ 495 ;; Unchanged: 0/0
+ 496 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ 497 ;; Params: 2 0 0 0 0 0 0
+ 498 ;; Locals: 4 0 0 0 0 0 0
+ 499 ;; Temps: 2 0 0 0 0 0 0
+ 500 ;; Totals: 8 0 0 0 0 0 0
+ 501 ;;Total ram usage: 8 bytes
+ 502 ;; Hardware stack levels used: 1
+ 503 ;; Hardware stack levels required when called: 1
+ 504 ;; This function calls:
+ 505 ;; _putch
+ 506 ;; This function is called by:
+ 507 ;; _main
+ 508 ;; This function uses a non-reentrant model
+ 509 ;;
+ 510
+ 511 psect text4
+ 512 007F78 __ptext4:
+ 513 opt stack 0
+ 514 007F78 _eusart_write_midi:
+ 515 opt stack 29
+ 516
+ 517 ;main.c: 83: if (pkt == (0)) {
+ 518
+ 519 ;incstack = 0
+ 520 007F78 5002 movf eusart_write_midi@pkt,w,c
+ 521 007F7A 1003 iorwf eusart_write_midi@pkt+1,w,c
+ 522 007F7C B4D8 btfsc status,2,c
+ 523 007F7E 0012 return
+ 524
+ 525 ;main.c: 85: }
+ 526 ;main.c: 87: if (pkt->data == (0)) {
+ 527
+ 528 ;main.c: 84: return -1;
+ 529 ; Return value of _eusart_write_midi is never used
+ 530 007F80 0E03 movlw 3
+ 531 007F82 2402 addwf eusart_write_midi@pkt,w,c
+ 532 007F84 6E04 movwf ??_eusart_write_midi& (0+255),c
+ 533 007F86 0E00 movlw 0
+ 534 007F88 2003 addwfc eusart_write_midi@pkt+1,w,c
+ 535 007F8A 6E05 movwf (??_eusart_write_midi+1)& (0+255),c
+ 536 007F8C 5004 movf ??_eusart_write_midi,w,c
+ 537 007F8E 1005 iorwf ??_eusart_write_midi+1,w,c
+ 538 007F90 B4D8 btfsc status,2,c
+ 539 007F92 0012 return
+ 540
+ 541 ;main.c: 89: }
+ 542 ;main.c: 91: size_t length = pkt->data_size;
+ 543
+ 544 ;main.c: 88: return -2;
+ 545 ; Return value of _eusart_write_midi is never used
+ 546 007F94 EE20 F001 lfsr 2,1
+ 547 007F98 5002 movf eusart_write_midi@pkt,w,c
+ 548 007F9A 26D9 addwf fsr2l,f,c
+ 549 007F9C 5003 movf eusart_write_midi@pkt+1,w,c
+ 550 007F9E 22DA addwfc fsr2h,f,c
+ 551 007FA0 CFDE F006 movff postinc2,eusart_write_midi@length
+ 552 007FA4 CFDD F007 movff postdec2,eusart_write_midi@length+1
+ 553
+ 554 ;main.c: 92: uint8_t *data = pkt->data;
+ 555 007FA8 0E03 movlw 3
+ 556 007FAA 2402 addwf eusart_write_midi@pkt,w,c
+ 557 007FAC 6E08 movwf eusart_write_midi@data,c
+ 558 007FAE 0E00 movlw 0
+ 559 007FB0 2003 addwfc eusart_write_midi@pkt+1,w,c
+ 560 007FB2 6E09 movwf eusart_write_midi@data+1,c
+ 561
+ 562 ;main.c: 94: putch((char)((pkt->status << 4) | pkt->channel));
+ 563 007FB4 C002 FFD9 movff eusart_write_midi@pkt,fsr2l
+ 564 007FB8 C003 FFDA movff eusart_write_midi@pkt+1,fsr2h
+ 565 007FBC 38DF swapf indf2,w,c
+ 566 007FBE 0B0F andlw 15
+ 567 007FC0 6E04 movwf ??_eusart_write_midi& (0+255),c
+ 568 007FC2 C002 FFD9 movff eusart_write_midi@pkt,fsr2l
+ 569 007FC6 C003 FFDA movff eusart_write_midi@pkt+1,fsr2h
+ 570 007FCA 50DF movf indf2,w,c
+ 571 007FCC 0B0F andlw 15
+ 572 007FCE 6E05 movwf (??_eusart_write_midi+1)& (0+255),c
+ 573 007FD0 3805 swapf ??_eusart_write_midi+1,w,c
+ 574 007FD2 0BF0 andlw 240
+ 575 007FD4 1004 iorwf ??_eusart_write_midi,w,c
+ 576 007FD6 EC33 F03F call _putch
+ 577
+ 578 ;main.c: 96: while (length--) {
+ 579 007FDA D009 goto l12
+ 580 007FDC l826:
+ 581
+ 582 ;main.c: 97: putch((char) *(data++));
+ 583 007FDC C008 FFD9 movff eusart_write_midi@data,fsr2l
+ 584 007FE0 C009 FFDA movff eusart_write_midi@data+1,fsr2h
+ 585 007FE4 50DF movf indf2,w,c
+ 586 007FE6 EC33 F03F call _putch
+ 587 007FEA 4A08 infsnz eusart_write_midi@data,f,c
+ 588 007FEC 2A09 incf eusart_write_midi@data+1,f,c
+ 589 007FEE l12:
+ 590 007FEE 0606 decf eusart_write_midi@length,f,c
+ 591 007FF0 A0D8 btfss status,0,c
+ 592 007FF2 0607 decf eusart_write_midi@length+1,f,c
+ 593 007FF4 2806 incf eusart_write_midi@length,w,c
+ 594 007FF6 E1F2 bnz l826
+ 595 007FF8 2807 incf eusart_write_midi@length+1,w,c
+ 596 007FFA B4D8 btfsc status,2,c
+ 597 007FFC 0012 return
+ 598 007FFE D7EE goto l13
+ 599 008000 __end_of_eusart_write_midi:
+ 600 opt stack 0
+ 601 indf2 equ 0xFDF
+ 602 postinc2 equ 0xFDE
+ 603 postdec2 equ 0xFDD
+ 604 fsr2h equ 0xFDA
+ 605 fsr2l equ 0xFD9
+ 606 status equ 0xFD8
+ 607
+ 608 ;; *************** function _putch *****************
+ 609 ;; Defined at:
+ 610 ;; line 23 in file "rs232.c"
+ 611 ;; Parameters: Size Location Type
+ 612 ;; c 1 wreg unsigned char
+ 613 ;; Auto vars: Size Location Type
+ 614 ;; c 1 0[COMRAM] unsigned char
+ 615 ;; Return value: Size Location Type
+ 616 ;; 1 wreg void
+ 617 ;; Registers used:
+ 618 ;; wreg
+ 619 ;; Tracked objects:
+ 620 ;; On entry : 0/0
+ 621 ;; On exit : 0/0
+ 622 ;; Unchanged: 0/0
+ 623 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ 624 ;; Params: 0 0 0 0 0 0 0
+ 625 ;; Locals: 1 0 0 0 0 0 0
+ 626 ;; Temps: 0 0 0 0 0 0 0
+ 627 ;; Totals: 1 0 0 0 0 0 0
+ 628 ;;Total ram usage: 1 bytes
+ 629 ;; Hardware stack levels used: 1
+ 630 ;; This function calls:
+ 631 ;; Nothing
+ 632 ;; This function is called by:
+ 633 ;; _eusart_write_midi
+ 634 ;; _getche
+ 635 ;; This function uses a non-reentrant model
+ 636 ;;
+ 637
+ 638 psect text5
+ 639 007E66 __ptext5:
+ 640 opt stack 0
+ 641 007E66 _putch:
+ 642 opt stack 29
+ 643
+ 644 ;incstack = 0
+ 645 ;putch@c stored from wreg
+ 646 007E66 6E01 movwf putch@c,c
+ 647 007E68
+ 648 ;rs232.c: 25: while (!TXIF);
+ 649 007E68 A89E btfss 3998,4,c ;volatile
+ 650 007E6A D7FE goto l700
+ 651
+ 652 ;rs232.c: 26: TXREG = c;
+ 653 007E6C C001 FFAD movff putch@c,4013 ;volatile
+ 654 007E70 0012 return ;funcret
+ 655 007E72 __end_of_putch:
+ 656 opt stack 0
+ 657 indf2 equ 0xFDF
+ 658 postinc2 equ 0xFDE
+ 659 postdec2 equ 0xFDD
+ 660 fsr2h equ 0xFDA
+ 661 fsr2l equ 0xFD9
+ 662 status equ 0xFD8
+ 663
+ 664 ;; *************** function _eusart_init *****************
+ 665 ;; Defined at:
+ 666 ;; line 4 in file "rs232.c"
+ 667 ;; Parameters: Size Location Type
+ 668 ;; None
+ 669 ;; Auto vars: Size Location Type
+ 670 ;; None
+ 671 ;; Return value: Size Location Type
+ 672 ;; 1 wreg void
+ 673 ;; Registers used:
+ 674 ;; wreg, status,2
+ 675 ;; Tracked objects:
+ 676 ;; On entry : 0/0
+ 677 ;; On exit : 0/0
+ 678 ;; Unchanged: 0/0
+ 679 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ 680 ;; Params: 0 0 0 0 0 0 0
+ 681 ;; Locals: 0 0 0 0 0 0 0
+ 682 ;; Temps: 0 0 0 0 0 0 0
+ 683 ;; Totals: 0 0 0 0 0 0 0
+ 684 ;;Total ram usage: 0 bytes
+ 685 ;; Hardware stack levels used: 1
+ 686 ;; This function calls:
+ 687 ;; Nothing
+ 688 ;; This function is called by:
+ 689 ;; _main
+ 690 ;; This function uses a non-reentrant model
+ 691 ;;
+ 692
+ 693 psect text6
+ 694 007E72 __ptext6:
+ 695 opt stack 0
+ 696 007E72 _eusart_init:
+ 697 opt stack 30
+ 698
+ 699 ;rs232.c: 7: TXSTAbits.SYNC = 0;
+ 700
+ 701 ;incstack = 0
+ 702 007E72 98AC bcf 4012,4,c ;volatile
+ 703
+ 704 ;rs232.c: 8: TXSTAbits.TX9 = 0;
+ 705 007E74 9CAC bcf 4012,6,c ;volatile
+ 706
+ 707 ;rs232.c: 11: RCSTAbits.SPEN = 1;
+ 708 007E76 8EAB bsf 4011,7,c ;volatile
+ 709
+ 710 ;rs232.c: 12: SPBRG = 129;
+ 711 007E78 0E81 movlw 129
+ 712 007E7A 6EAF movwf 4015,c ;volatile
+ 713
+ 714 ;rs232.c: 13: TXSTAbits.BRGH = 1;
+ 715 007E7C 84AC bsf 4012,2,c ;volatile
+ 716
+ 717 ;rs232.c: 14: BAUDCONbits.BRG16 = 0;
+ 718 007E7E 96B8 bcf 4024,3,c ;volatile
+ 719
+ 720 ;rs232.c: 17: TRISC7 = 1;
+ 721 007E80 8E94 bsf 3988,7,c ;volatile
+ 722
+ 723 ;rs232.c: 18: TRISC6 = 1;
+ 724 007E82 8C94 bsf 3988,6,c ;volatile
+ 725
+ 726 ;rs232.c: 19: RCSTAbits.CREN = 1;
+ 727 007E84 88AB bsf 4011,4,c ;volatile
+ 728
+ 729 ;rs232.c: 20: TXSTAbits.TXEN = 1;
+ 730 007E86 8AAC bsf 4012,5,c ;volatile
+ 731 007E88 0012 return ;funcret
+ 732 007E8A __end_of_eusart_init:
+ 733 opt stack 0
+ 734 0000 indf2 equ 0xFDF
+ 735 postinc2 equ 0xFDE
+ 736 postdec2 equ 0xFDD
+ 737 fsr2h equ 0xFDA
+ 738 fsr2l equ 0xFD9
+ 739 status equ 0xFD8
+ 740 indf2 equ 0xFDF
+ 741 postinc2 equ 0xFDE
+ 742 postdec2 equ 0xFDD
+ 743 fsr2h equ 0xFDA
+ 744 fsr2l equ 0xFD9
+ 745 status equ 0xFD8
+ 746
+ 747 psect rparam
+ 748 0000 indf2 equ 0xFDF
+ 749 postinc2 equ 0xFDE
+ 750 postdec2 equ 0xFDD
+ 751 fsr2h equ 0xFDA
+ 752 fsr2l equ 0xFD9
+ 753 status equ 0xFD8
Data Sizes:
@@ -220,18 +777,37 @@ Data Sizes:
Auto Spaces:
Space Size Autos Used
- COMRAM 95 0 0
+ COMRAM 95 20 20
BANK0 160 0 0
BANK1 256 0 0
BANK2 256 0 0
+ BANK3 256 0 0
+ BANK4 256 0 0
+ BANK5 256 0 0
Pointer List with Targets:
- None.
+ midi_note_on@pkt PTR struct . size(2) Largest target is 7
+ -> main@sample_message(COMRAM[7]),
+
+ midi_set_channel@pkt PTR struct . size(2) Largest target is 7
+ -> main@sample_message(COMRAM[7]),
+
+ midi_set_status@pkt PTR struct . size(2) Largest target is 7
+ -> main@sample_message(COMRAM[7]),
+
+ eusart_write_midi@data PTR unsigned char size(2) Largest target is 7
+ -> sample_message.data(COMRAM[4]), main@sample_message(COMRAM[7]),
+
+ eusart_write_midi@pkt PTR struct . size(2) Largest target is 7
+ -> main@sample_message(COMRAM[7]),
+
Critical Paths under _main in COMRAM
- None.
+ _main->_midi_note_on
+ _midi_note_on->_midi_set_channel
+ _eusart_write_midi->_putch
Critical Paths under _main in BANK0
@@ -245,23 +821,61 @@ Critical Paths under _main in BANK2
None.
+Critical Paths under _main in BANK3
+
+ None.
+
+Critical Paths under _main in BANK4
+
+ None.
+
+Critical Paths under _main in BANK5
+
+ None.
+
Call Graph Tables:
---------------------------------------------------------------------------------
(Depth) Function Calls Base Space Used Autos Params Refs
---------------------------------------------------------------------------------
- (0) _main 0 0 0 0
+ (0) _main 7 7 0 1590
+ 13 COMRAM 7 7 0
_eusart_init
+ _eusart_write_midi
+ _midi_note_on
+ ---------------------------------------------------------------------------------
+ (1) _midi_note_on 8 2 6 1264
+ 5 COMRAM 8 2 6
+ _midi_set_channel
+ _midi_set_status
+ ---------------------------------------------------------------------------------
+ (2) _midi_set_status 4 1 3 370
+ 0 COMRAM 4 1 3
+ ---------------------------------------------------------------------------------
+ (2) _midi_set_channel 5 1 4 370
+ 0 COMRAM 5 1 4
+ ---------------------------------------------------------------------------------
+ (1) _eusart_write_midi 8 6 2 270
+ 1 COMRAM 8 6 2
+ _putch
+ ---------------------------------------------------------------------------------
+ (2) _putch 1 1 0 15
+ 0 COMRAM 1 1 0
---------------------------------------------------------------------------------
(1) _eusart_init 0 0 0 0
---------------------------------------------------------------------------------
- Estimated maximum stack depth 1
+ Estimated maximum stack depth 2
---------------------------------------------------------------------------------
Call Graph Graphs:
_main (ROOT)
_eusart_init
+ _eusart_write_midi
+ _putch
+ _midi_note_on
+ _midi_set_channel
+ _midi_set_status
Address spaces:
Name Size Autos Total Cost Usage
@@ -269,17 +883,23 @@ BITCOMRAM 5F 0 0 0 0.0%
EEDATA 100 0 0 0 0.0%
NULL 0 0 0 0 0.0%
CODE 0 0 0 0 0.0%
-COMRAM 5F 0 0 1 0.0%
+COMRAM 5F 14 14 1 21.1%
STACK 0 0 0 2 0.0%
BITBANK0 A0 0 0 3 0.0%
BANK0 A0 0 0 4 0.0%
-BANK1 100 0 0 5 0.0%
-BITBANK2 100 0 0 6 0.0%
-BANK2 100 0 0 7 0.0%
-ABS 0 0 0 8 0.0%
-BITBANK1 100 0 0 9 0.0%
-BIGRAM 2FF 0 0 10 0.0%
-DATA 0 0 0 11 0.0%
+BITBANK1 100 0 0 5 0.0%
+BANK1 100 0 0 6 0.0%
+BITBANK2 100 0 0 7 0.0%
+BANK2 100 0 0 8 0.0%
+ABS 0 0 0 9 0.0%
+BITBANK3 100 0 0 10 0.0%
+BANK3 100 0 0 11 0.0%
+BITBANK4 100 0 0 12 0.0%
+BANK4 100 0 0 13 0.0%
+BITBANK5 100 0 0 14 0.0%
+BANK5 100 0 0 15 0.0%
+BIGRAM 5FF 0 0 16 0.0%
+DATA 0 0 0 17 0.0%
BITSFR_1 0 0 0 200 0.0%
SFR_1 0 0 0 200 0.0%
BITSFR 0 0 0 200 0.0%
@@ -287,29 +907,47 @@ SFR 0 0 0 200 0.0%
Microchip Technology PIC18 Macro Assembler V1.44 build -154322312
-Symbol Table Mon Jan 08 09:28:26 2018
-
- l7 3FE0 __CFG_CP0$OFF 000000 __CFG_CP1$OFF 000000
- __CFG_LVP$ON 000000 __CFG_CPB$OFF 000000 __CFG_CPD$OFF 000000
- _RCIF 007CF5 _TXIF 007CF4 _main 3FDC
- __CFG_BORV$190 000000 start 0000 __CFG_IESO$OFF 000000
- ___param_bank 000000 ?_main 0000 __CFG_WDTEN$ON 000000
- _RCREG 000FAE _SPBRG 000FAF _TXREG 000FAD
- __CFG_WRT0$OFF 000000 __CFG_WRT1$OFF 000000 __CFG_EBTR0$OFF 000000
- __CFG_FCMEN$OFF 000000 __CFG_EBTR1$OFF 000000 __CFG_WRTB$OFF 000000
- __CFG_WRTC$OFF 000000 __CFG_WRTD$OFF 000000 __CFG_EBTRB$OFF 000000
- __CFG_MCLRE$EXTMCLR 000000 ?_eusart_init 0000 __CFG_HFOFST$ON 000000
- __CFG_PBADEN$ON 000000 __initialization 3FE2 __end_of_main 3FE2
- ??_main 0000 __activetblptr 000000 _TRISC6 007CA6
- _TRISC7 007CA7 __CFG_XINST$OFF 000000 __CFG_STVREN$ON 000000
- __accesstop 0060 __end_of__initialization 3FE2 ___rparam_used 000001
- __pcstackCOMRAM 0000 __CFG_PLLCFG$OFF 000000 __size_of_eusart_init 0018
- __CFG_CCP2MX$PORTC1 000000 __CFG_CCP3MX$PORTB5 000000 __CFG_PWRTEN$OFF 000000
- __Hparam 0000 __Lparam 0000 __pcinit 3FE2
- __ramtop 0300 __ptext0 3FDC __ptext1 3FE8
- end_of_initialization 3FE2 _RCSTAbits 000FAB _TXSTAbits 000FAC
- _BAUDCONbits 000FB8 start_initialization 3FE2 ??_eusart_init 0000
- __CFG_PRICLKEN$ON 000000 __end_of_eusart_init 4000 __CFG_WDTPS$32768 000000
- __Hrparam 0000 __Lrparam 0000 __CFG_BOREN$SBORDIS 000000
- __CFG_P2BMX$PORTD2 000000 _eusart_init 3FE8 __size_of_main 0006
- __CFG_T3CMX$PORTC0 000000 __CFG_FOSC$ECHPIO6 000000
+Symbol Table Thu Feb 01 17:09:31 2018
+
+ l12 7FEE l13 7FDC l19 7EF4
+ __CFG_CP0$OFF 000000 __CFG_CP1$OFF 000000 __CFG_LVP$ON 000000
+ l700 7E68 l826 7FDC __CFG_CPB$OFF 000000
+ __CFG_CPD$OFF 000000 _RCIF 007CF5 _TXIF 007CF4
+ _main 7ED4 midi_note_on@channel 0008 fsr2h 000FDA
+ indf2 000FDF fsr2l 000FD9 __CFG_BORV$190 000000
+ start 0000 __CFG_IESO$OFF 000000 midi_note_on@pkt 0006
+ ___param_bank 000000 ?_main 0001 __CFG_WDTEN$ON 000000
+ _RCREG 000FAE _SPBRG 000FAF _TXREG 000FAD
+ __CFG_WRT0$OFF 000000 __CFG_WRT1$OFF 000000 __CFG_EBTR0$OFF 000000
+ __CFG_FCMEN$OFF 000000 __CFG_EBTR1$OFF 000000 __CFG_WRTB$OFF 000000
+ __CFG_WRTC$OFF 000000 __CFG_WRTD$OFF 000000 __CFG_EBTRB$OFF 000000
+ __CFG_MCLRE$EXTMCLR 000000 ?_eusart_init 0001 _putch 7E66
+ _eusart_write_midi 7F78 __end_of_midi_set_status 7EAE status 000FD8
+ __CFG_HFOFST$ON 000000 ?_eusart_write_midi 0002 __CFG_PBADEN$ON 000000
+ eusart_write_midi@length 0006 __initialization 7E60 midi_note_on@note 000A
+ __end_of_main 7F02 ??_eusart_write_midi 0004 midi_note_on@velocity 000B
+ ??_main 000E ?_midi_note_on 0006 __activetblptr 000000
+ __end_of_eusart_write_midi 8000 ?_putch 0001 _TRISC6 007CA6
+ _TRISC7 007CA7 __CFG_XINST$OFF 000000 __CFG_STVREN$ON 000000
+ __end_of_midi_set_channel 7ED4 midi_set_status@status 0003 ??_midi_note_on 000C
+ putch@c 0001 __accesstop 0060 __end_of__initialization 7E60
+ ?_midi_set_status 0001 ___rparam_used 000001 __pcstackCOMRAM 0001
+ __end_of_putch 7E72 __size_of_eusart_write_midi 0088 ??_putch 0001
+ __CFG_PLLCFG$OFF 000000 __size_of_eusart_init 0018 __CFG_CCP2MX$PORTC1 000000
+ __CFG_CCP3MX$PORTB5 000000 __end_of_midi_note_on 7F78 eusart_write_midi@pkt 0002
+ __CFG_PWRTEN$OFF 000000 __Hparam 0000 __Lparam 0000
+ __pcinit 7E60 __ramtop 0600 __ptext0 7ED4
+ __ptext1 7F02 __ptext2 7E8A __ptext3 7EAE
+ __ptext4 7F78 __ptext5 7E66 __ptext6 7E72
+ end_of_initialization 7E60 _RCSTAbits 000FAB postdec2 000FDD
+ postinc2 000FDE ?_midi_set_channel 0001 ??_midi_set_channel 0005
+ _TXSTAbits 000FAC midi_set_channel@channel 0003 _BAUDCONbits 000FB8
+ start_initialization 7E60 __size_of_midi_note_on 0076 __size_of_midi_set_status 0024
+ _midi_note_on 7F02 ??_eusart_init 0001 midi_set_status@pkt 0001
+ __CFG_PRICLKEN$ON 000000 main@sample_message 000E __size_of_putch 000C
+ __end_of_eusart_init 7E8A __CFG_WDTPS$32768 000000 ??_midi_set_status 0004
+ __size_of_midi_set_channel 0026 eusart_write_midi@data 0008 __Hrparam 0000
+ __Lrparam 0000 __CFG_BOREN$SBORDIS 000000 __CFG_P2BMX$PORTD2 000000
+ _eusart_init 7E72 __size_of_main 002E midi_set_channel@pkt 0001
+ __CFG_T3CMX$PORTC0 000000 __CFG_FOSC$ECHPIO6 000000 _midi_set_channel 7EAE
+ _midi_set_status 7E8A
diff --git a/src/dist/default/production/src.production.map b/src/dist/default/production/src.production.map
index 35f3f69..8323a28 100644
--- a/src/dist/default/production/src.production.map
+++ b/src/dist/default/production/src.production.map
@@ -4,15 +4,16 @@ Linker command line:
-W-3 --edf=C:\Program Files\Microchip\xc8\v1.44\dat\en_msgs.txt -cs \
-h+dist/default/production\src.production.sym \
- --cmf=dist/default/production\src.production.cmf -z -Q18F44K22 \
- -oC:\Users\_prossn\AppData\Local\Temp\s3s8.2 \
+ --cmf=dist/default/production\src.production.cmf -z -Q18F45K22 \
+ -oC:\Users\_prossn\AppData\Local\Temp\s438.2 \
-Mdist/default/production/src.production.map -E1 -ver=XC8 \
- -ASTACK=060h-02ffh -pstack=STACK -ACODE=00h-03FFFh -ACONST=00h-03FFFh \
- -ASMALLCONST=0300h-03FFhx61 -AMEDIUMCONST=0300h-03FFFh -ACOMRAM=01h-05Fh \
- -AABS1=00h-02FFh -ABIGRAM=01h-02FFh -ARAM=060h-0FFh,0100h-01FFhx2 \
+ -ASTACK=060h-05ffh -pstack=STACK -ACODE=00h-07FFFh -ACONST=00h-07FFFh \
+ -ASMALLCONST=0600h-06FFhx122 -AMEDIUMCONST=0600h-07FFFh -ACOMRAM=01h-05Fh \
+ -AABS1=00h-05FFh -ABIGRAM=01h-05FFh -ARAM=060h-0FFh,0100h-01FFhx5 \
-ABANK0=060h-0FFh -ABANK1=0100h-01FFh -ABANK2=0200h-02FFh \
+ -ABANK3=0300h-03FFh -ABANK4=0400h-04FFh -ABANK5=0500h-05FFh \
-ASFR=0F38h-0F5Fh,0F60h-0FFFh \
- -preset_vec=00h,intcode,intcodelo,powerup,init -pramtop=0300h \
+ -preset_vec=00h,intcode,intcodelo,powerup,init -pramtop=0600h \
-psmallconst=SMALLCONST -pmediumconst=MEDIUMCONST -pconst=CONST \
-AFARRAM=00h-00h -ACONFIG=0300000h-030000Dh -pconfig=CONFIG \
-AIDLOC=0200000h-0200007h -pidloc=IDLOC -AEEDATA=0F00000h-0F000FFh \
@@ -21,12 +22,12 @@ Linker command line:
-pfarbss=FARRAM,fardata=FARRAM,nvFARRAM=FARRAM \
-pintsave_regs=BIGRAM,bigbss=BIGRAM,bigdata=BIGRAM -pbss=RAM \
-pidata=CODE,irdata=CODE,ibigdata=CODE,ifardata=CODE -prparam=COMRAM \
- C:\Users\_prossn\AppData\Local\Temp\s3s8.obj \
+ C:\Users\_prossn\AppData\Local\Temp\s438.obj \
dist/default/production\src.production.obj
Object code version is 3.11
-Machine type is 18F44K22
+Machine type is 18F45K22
Call graph: (short form)
@@ -34,23 +35,34 @@ Call graph: (short form)
Name Link Load Length Selector Space Scale
-C:\Users\_prossn\AppData\Local\Temp\s3s8.obj
+C:\Users\_prossn\AppData\Local\Temp\s438.obj
init 0 0 4 0 0
idloc 200000 200000 8 200000 0
config 300000 300000 E 300000 0
dist/default/production\src.production.obj
- text1 3FE8 3FE8 18 1FF4 0
- text0 3FDC 3FDC 6 1FEE 0
- cinit 3FE2 3FE2 6 1FF1 0
+ text6 7E72 7E72 18 3F39 0
+ text5 7E66 7E66 C 3F33 0
+ text4 7F78 7F78 88 3FBC 0
+ text3 7EAE 7EAE 26 3F57 0
+ text2 7E8A 7E8A 24 3F45 0
+ text1 7F02 7F02 76 3F81 0
+ text0 7ED4 7ED4 2E 3F6A 0
+ cstackCOMRAM 1 1 14 1 1
+ cinit 7E60 7E60 6 3F30 0
TOTAL Name Link Load Length Space
CLASS STACK
CLASS CODE
init 0 0 4 0
- text1 3FE8 3FE8 18 0
- text0 3FDC 3FDC 6 0
- cinit 3FE2 3FE2 6 0
+ text6 7E72 7E72 18 0
+ text5 7E66 7E66 C 0
+ text4 7F78 7F78 88 0
+ text3 7EAE 7EAE 26 0
+ text2 7E8A 7E8A 24 0
+ text1 7F02 7F02 76 0
+ text0 7ED4 7ED4 2E 0
+ cinit 7E60 7E60 6 0
CLASS CONST
@@ -59,6 +71,7 @@ TOTAL Name Link Load Length Sp
CLASS MEDIUMCONST
CLASS COMRAM
+ cstackCOMRAM 1 1 14 1
CLASS ABS1
@@ -72,6 +85,12 @@ TOTAL Name Link Load Length Sp
CLASS BANK2
+ CLASS BANK3
+
+ CLASS BANK4
+
+ CLASS BANK5
+
CLASS SFR
CLASS FARRAM
@@ -89,9 +108,15 @@ TOTAL Name Link Load Length Sp
SEGMENTS Name Load Length Top Selector Space Class
reset_vec 000000 000004 000004 0 0 CODE
- text0 003FDC 000006 003FE2 1FEE 0 CODE
- cinit 003FE2 000006 003FE8 1FF1 0 CODE
- text1 003FE8 000018 004000 1FF4 0 CODE
+ cstackCOMRAM 000001 000014 000015 1 1 COMRAM
+ cinit 007E60 000006 007E66 3F30 0 CODE
+ text5 007E66 00000C 007E72 3F33 0 CODE
+ text6 007E72 000018 007E8A 3F39 0 CODE
+ text2 007E8A 000024 007EAE 3F45 0 CODE
+ text3 007EAE 000026 007ED4 3F57 0 CODE
+ text0 007ED4 00002E 007F02 3F6A 0 CODE
+ text1 007F02 000076 007F78 3F81 0 CODE
+ text4 007F78 000088 008000 3FBC 0 CODE
idloc 200000 000008 200008 200000 0 IDLOC
config 300000 00000E 30000E 300000 0 CONFIG
@@ -102,238 +127,454 @@ UNUSED ADDRESS RANGES
BANK0 000060-0000FF A0
BANK1 000100-0001FF 100
BANK2 000200-0002FF 100
- BIGRAM 000001-0002FF 2FF
- CODE 000004-003FDB 3FD8
- COMRAM 000001-00005F 5F
- CONST 000004-003FDB 3FD8
+ BANK3 000300-0003FF 100
+ BANK4 000400-0004FF 100
+ BANK5 000500-0005FF 100
+ BIGRAM 000015-0005FF 5EB
+ CODE 000004-007E5F 7E5C
+ COMRAM 000015-00005F 4B
+ CONST 000004-007E5F 7E5C
EEDATA F00000-F000FF 100
- MEDIUMCONST 000300-003FDB 3CDC
- RAM 000060-0002FF 100
+ MEDIUMCONST 000600-007E5F 7860
+ RAM 000060-0005FF 100
SFR 000F38-000FFF 28
- SMALLCONST 000300-003FDB 100
- STACK 000060-0002FF 2A0
+ SMALLCONST 000600-007E5F 100
+ STACK 000060-0005FF 5A0
Symbol Table
-_BAUDCONbits (abs) 000FB8
-_RCIF (abs) 007CF5
-_RCREG (abs) 000FAE
-_RCSTAbits (abs) 000FAB
-_SPBRG (abs) 000FAF
-_TRISC6 (abs) 007CA6
-_TRISC7 (abs) 007CA7
-_TXIF (abs) 007CF4
-_TXREG (abs) 000FAD
-_TXSTAbits (abs) 000FAC
-__CFG_BOREN$SBORDIS (abs) 000000
-__CFG_BORV$190 (abs) 000000
-__CFG_CCP2MX$PORTC1 (abs) 000000
-__CFG_CCP3MX$PORTB5 (abs) 000000
-__CFG_CP0$OFF (abs) 000000
-__CFG_CP1$OFF (abs) 000000
-__CFG_CPB$OFF (abs) 000000
-__CFG_CPD$OFF (abs) 000000
-__CFG_EBTR0$OFF (abs) 000000
-__CFG_EBTR1$OFF (abs) 000000
-__CFG_EBTRB$OFF (abs) 000000
-__CFG_FCMEN$OFF (abs) 000000
-__CFG_FOSC$ECHPIO6 (abs) 000000
-__CFG_HFOFST$ON (abs) 000000
-__CFG_IESO$OFF (abs) 000000
-__CFG_LVP$ON (abs) 000000
-__CFG_MCLRE$EXTMCLR (abs) 000000
-__CFG_P2BMX$PORTD2 (abs) 000000
-__CFG_PBADEN$ON (abs) 000000
-__CFG_PLLCFG$OFF (abs) 000000
-__CFG_PRICLKEN$ON (abs) 000000
-__CFG_PWRTEN$OFF (abs) 000000
-__CFG_STVREN$ON (abs) 000000
-__CFG_T3CMX$PORTC0 (abs) 000000
-__CFG_WDTEN$ON (abs) 000000
-__CFG_WDTPS$32768 (abs) 000000
-__CFG_WRT0$OFF (abs) 000000
-__CFG_WRT1$OFF (abs) 000000
-__CFG_WRTB$OFF (abs) 000000
-__CFG_WRTC$OFF (abs) 000000
-__CFG_WRTD$OFF (abs) 000000
-__CFG_XINST$OFF (abs) 000000
-__HRAM (abs) 000000
-__Habs1 abs1 000000
-__Hbank0 bank0 000000
-__Hbank1 bank1 000000
-__Hbank2 bank2 000000
-__Hbigbss bigbss 000000
-__Hbigdata bigdata 000000
-__Hbigram bigram 000000
-__Hbss bss 000000
-__Hcinit cinit 000000
-__Hclrtext clrtext 000000
-__Hcomram comram 000000
-__Hconfig config 30000E
-__Hconst const 000000
-__HcstackCOMRAM cstackCOMRAM 000000
-__Hdata data 000000
-__Heeprom_data eeprom_data 000000
-__Hfarbss farbss 000000
-__Hfardata fardata 000000
-__Hibigdata ibigdata 000000
-__Hidata idata 000000
-__Hidloc idloc 200008
-__Hifardata ifardata 000000
-__Hinit init 000004
-__Hintcode intcode 000000
-__Hintcode_body intcode_body 000000
-__Hintcodelo intcodelo 000000
-__Hintentry intentry 000000
-__Hintret intret 000000
-__Hintsave_regs intsave_regs 000000
-__Hirdata irdata 000000
-__Hmediumconst mediumconst 000000
-__HnvFARRAM nvFARRAM 000000
-__Hnvbit nvbit 000000
-__Hnvrram nvrram 000000
-__Hparam rparam 000000
-__Hpowerup powerup 000000
-__Hram ram 000000
-__Hramtop ramtop 000300
-__Hrbit rbit 000000
-__Hrbss rbss 000000
-__Hrdata rdata 000000
-__Hreset_vec reset_vec 000000
-__Hrparam rparam 000000
-__Hsfr sfr 000000
-__Hsmallconst smallconst 000000
-__Hspace_0 (abs) 30000E
-__Hspace_1 (abs) 000000
-__Hspace_2 (abs) 000000
-__Hstack stack 000000
-__Hstruct struct 000000
-__Htemp temp 000000
-__Htext text 000000
-__Htext0 text0 000000
-__Htext1 text1 000000
-__LRAM (abs) 000001
-__Labs1 abs1 000000
-__Lbank0 bank0 000000
-__Lbank1 bank1 000000
-__Lbank2 bank2 000000
-__Lbigbss bigbss 000000
-__Lbigdata bigdata 000000
-__Lbigram bigram 000000
-__Lbss bss 000000
-__Lcinit cinit 000000
-__Lclrtext clrtext 000000
-__Lcomram comram 000000
-__Lconfig config 300000
-__Lconst const 000000
-__LcstackCOMRAM cstackCOMRAM 000000
-__Ldata data 000000
-__Leeprom_data eeprom_data 000000
-__Lfarbss farbss 000000
-__Lfardata fardata 000000
-__Libigdata ibigdata 000000
-__Lidata idata 000000
-__Lidloc idloc 200000
-__Lifardata ifardata 000000
-__Linit init 000000
-__Lintcode intcode 000000
-__Lintcode_body intcode_body 000000
-__Lintcodelo intcodelo 000000
-__Lintentry intentry 000000
-__Lintret intret 000000
-__Lintsave_regs intsave_regs 000000
-__Lirdata irdata 000000
-__Lmediumconst mediumconst 000000
-__LnvFARRAM nvFARRAM 000000
-__Lnvbit nvbit 000000
-__Lnvrram nvrram 000000
-__Lparam rparam 000000
-__Lpowerup powerup 000000
-__Lram ram 000000
-__Lramtop ramtop 000300
-__Lrbit rbit 000000
-__Lrbss rbss 000000
-__Lrdata rdata 000000
-__Lreset_vec reset_vec 000000
-__Lrparam rparam 000000
-__Lsfr sfr 000000
-__Lsmallconst smallconst 000000
-__Lspace_0 (abs) 000000
-__Lspace_1 (abs) 000000
-__Lspace_2 (abs) 000000
-__Lstack stack 000000
-__Lstruct struct 000000
-__Ltemp temp 000000
-__Ltext text 000000
-__Ltext0 text0 000000
-__Ltext1 text1 000000
-__S0 (abs) 30000E
-__S1 (abs) 000000
-__S2 (abs) 000000
-___inthi_sp stack 000000
-___intlo_sp stack 000000
-___param_bank (abs) 000000
-___rparam_used (abs) 000001
-___sp stack 000000
-__accesstop (abs) 000060
-__activetblptr (abs) 000000
-__end_of__initialization cinit 003FE2
-__end_of_eusart_init text1 004000
-__end_of_main text0 003FE2
-__initialization cinit 003FE2
-__mediumconst mediumconst 000000
-__pcinit cinit 003FE2
-__pcstackCOMRAM cstackCOMRAM 000000
-__ptext0 text0 003FDC
-__ptext1 text1 003FE8
-__ramtop ramtop 000300
-__size_of_eusart_init (abs) 000000
-__size_of_main (abs) 000000
-__smallconst smallconst 000000
-_eusart_init text1 003FE8
-_main text0 003FDC
-end_of_initialization cinit 003FE2
-intlevel0 text 000000
-intlevel1 text 000000
-intlevel2 text 000000
-intlevel3 text 000000
-stackhi (abs) 0002FF
-stacklo (abs) 000060
-start init 000000
-start_initialization cinit 003FE2
+_BAUDCONbits (abs) 000FB8
+_RCIF (abs) 007CF5
+_RCREG (abs) 000FAE
+_RCSTAbits (abs) 000FAB
+_SPBRG (abs) 000FAF
+_TRISC6 (abs) 007CA6
+_TRISC7 (abs) 007CA7
+_TXIF (abs) 007CF4
+_TXREG (abs) 000FAD
+_TXSTAbits (abs) 000FAC
+__CFG_BOREN$SBORDIS (abs) 000000
+__CFG_BORV$190 (abs) 000000
+__CFG_CCP2MX$PORTC1 (abs) 000000
+__CFG_CCP3MX$PORTB5 (abs) 000000
+__CFG_CP0$OFF (abs) 000000
+__CFG_CP1$OFF (abs) 000000
+__CFG_CPB$OFF (abs) 000000
+__CFG_CPD$OFF (abs) 000000
+__CFG_EBTR0$OFF (abs) 000000
+__CFG_EBTR1$OFF (abs) 000000
+__CFG_EBTRB$OFF (abs) 000000
+__CFG_FCMEN$OFF (abs) 000000
+__CFG_FOSC$ECHPIO6 (abs) 000000
+__CFG_HFOFST$ON (abs) 000000
+__CFG_IESO$OFF (abs) 000000
+__CFG_LVP$ON (abs) 000000
+__CFG_MCLRE$EXTMCLR (abs) 000000
+__CFG_P2BMX$PORTD2 (abs) 000000
+__CFG_PBADEN$ON (abs) 000000
+__CFG_PLLCFG$OFF (abs) 000000
+__CFG_PRICLKEN$ON (abs) 000000
+__CFG_PWRTEN$OFF (abs) 000000
+__CFG_STVREN$ON (abs) 000000
+__CFG_T3CMX$PORTC0 (abs) 000000
+__CFG_WDTEN$ON (abs) 000000
+__CFG_WDTPS$32768 (abs) 000000
+__CFG_WRT0$OFF (abs) 000000
+__CFG_WRT1$OFF (abs) 000000
+__CFG_WRTB$OFF (abs) 000000
+__CFG_WRTC$OFF (abs) 000000
+__CFG_WRTD$OFF (abs) 000000
+__CFG_XINST$OFF (abs) 000000
+__HRAM (abs) 000000
+__Habs1 abs1 000000
+__Hbank0 bank0 000000
+__Hbank1 bank1 000000
+__Hbank2 bank2 000000
+__Hbank3 bank3 000000
+__Hbank4 bank4 000000
+__Hbank5 bank5 000000
+__Hbigbss bigbss 000000
+__Hbigdata bigdata 000000
+__Hbigram bigram 000000
+__Hbss bss 000000
+__Hcinit cinit 000000
+__Hclrtext clrtext 000000
+__Hcomram comram 000000
+__Hconfig config 30000E
+__Hconst const 000000
+__HcstackCOMRAM cstackCOMRAM 000000
+__Hdata data 000000
+__Heeprom_data eeprom_data 000000
+__Hfarbss farbss 000000
+__Hfardata fardata 000000
+__Hibigdata ibigdata 000000
+__Hidata idata 000000
+__Hidloc idloc 200008
+__Hifardata ifardata 000000
+__Hinit init 000004
+__Hintcode intcode 000000
+__Hintcode_body intcode_body 000000
+__Hintcodelo intcodelo 000000
+__Hintentry intentry 000000
+__Hintret intret 000000
+__Hintsave_regs intsave_regs 000000
+__Hirdata irdata 000000
+__Hmediumconst mediumconst 000000
+__HnvFARRAM nvFARRAM 000000
+__Hnvbit nvbit 000000
+__Hnvrram nvrram 000000
+__Hparam rparam 000000
+__Hpowerup powerup 000000
+__Hram ram 000000
+__Hramtop ramtop 000600
+__Hrbit rbit 000000
+__Hrbss rbss 000000
+__Hrdata rdata 000000
+__Hreset_vec reset_vec 000000
+__Hrparam rparam 000000
+__Hsfr sfr 000000
+__Hsmallconst smallconst 000000
+__Hspace_0 (abs) 30000E
+__Hspace_1 (abs) 000015
+__Hspace_2 (abs) 000000
+__Hstack stack 000000
+__Hstruct struct 000000
+__Htemp temp 000000
+__Htext text 000000
+__Htext0 text0 000000
+__Htext1 text1 000000
+__Htext2 text2 000000
+__Htext3 text3 000000
+__Htext4 text4 000000
+__Htext5 text5 000000
+__Htext6 text6 000000
+__LRAM (abs) 000001
+__Labs1 abs1 000000
+__Lbank0 bank0 000000
+__Lbank1 bank1 000000
+__Lbank2 bank2 000000
+__Lbank3 bank3 000000
+__Lbank4 bank4 000000
+__Lbank5 bank5 000000
+__Lbigbss bigbss 000000
+__Lbigdata bigdata 000000
+__Lbigram bigram 000000
+__Lbss bss 000000
+__Lcinit cinit 000000
+__Lclrtext clrtext 000000
+__Lcomram comram 000000
+__Lconfig config 300000
+__Lconst const 000000
+__LcstackCOMRAM cstackCOMRAM 000000
+__Ldata data 000000
+__Leeprom_data eeprom_data 000000
+__Lfarbss farbss 000000
+__Lfardata fardata 000000
+__Libigdata ibigdata 000000
+__Lidata idata 000000
+__Lidloc idloc 200000
+__Lifardata ifardata 000000
+__Linit init 000000
+__Lintcode intcode 000000
+__Lintcode_body intcode_body 000000
+__Lintcodelo intcodelo 000000
+__Lintentry intentry 000000
+__Lintret intret 000000
+__Lintsave_regs intsave_regs 000000
+__Lirdata irdata 000000
+__Lmediumconst mediumconst 000000
+__LnvFARRAM nvFARRAM 000000
+__Lnvbit nvbit 000000
+__Lnvrram nvrram 000000
+__Lparam rparam 000000
+__Lpowerup powerup 000000
+__Lram ram 000000
+__Lramtop ramtop 000600
+__Lrbit rbit 000000
+__Lrbss rbss 000000
+__Lrdata rdata 000000
+__Lreset_vec reset_vec 000000
+__Lrparam rparam 000000
+__Lsfr sfr 000000
+__Lsmallconst smallconst 000000
+__Lspace_0 (abs) 000000
+__Lspace_1 (abs) 000000
+__Lspace_2 (abs) 000000
+__Lstack stack 000000
+__Lstruct struct 000000
+__Ltemp temp 000000
+__Ltext text 000000
+__Ltext0 text0 000000
+__Ltext1 text1 000000
+__Ltext2 text2 000000
+__Ltext3 text3 000000
+__Ltext4 text4 000000
+__Ltext5 text5 000000
+__Ltext6 text6 000000
+__S0 (abs) 30000E
+__S1 (abs) 000015
+__S2 (abs) 000000
+___inthi_sp stack 000000
+___intlo_sp stack 000000
+___param_bank (abs) 000000
+___rparam_used (abs) 000001
+___sp stack 000000
+__accesstop (abs) 000060
+__activetblptr (abs) 000000
+__end_of__initialization cinit 007E60
+__end_of_eusart_init text6 007E8A
+__end_of_eusart_write_midi text4 008000
+__end_of_main text0 007F02
+__end_of_midi_note_on text1 007F78
+__end_of_midi_set_channel text3 007ED4
+__end_of_midi_set_status text2 007EAE
+__end_of_putch text5 007E72
+__initialization cinit 007E60
+__mediumconst mediumconst 000000
+__pcinit cinit 007E60
+__pcstackCOMRAM cstackCOMRAM 000001
+__ptext0 text0 007ED4
+__ptext1 text1 007F02
+__ptext2 text2 007E8A
+__ptext3 text3 007EAE
+__ptext4 text4 007F78
+__ptext5 text5 007E66
+__ptext6 text6 007E72
+__ramtop ramtop 000600
+__size_of_eusart_init (abs) 000000
+__size_of_eusart_write_midi (abs) 000000
+__size_of_main (abs) 000000
+__size_of_midi_note_on (abs) 000000
+__size_of_midi_set_channel (abs) 000000
+__size_of_midi_set_status (abs) 000000
+__size_of_putch (abs) 000000
+__smallconst smallconst 000000
+_eusart_init text6 007E72
+_eusart_write_midi text4 007F78
+_main text0 007ED4
+_midi_note_on text1 007F02
+_midi_set_channel text3 007EAE
+_midi_set_status text2 007E8A
+_putch text5 007E66
+end_of_initialization cinit 007E60
+eusart_write_midi@data cstackCOMRAM 000008
+eusart_write_midi@length cstackCOMRAM 000006
+eusart_write_midi@pkt cstackCOMRAM 000002
+intlevel0 text 000000
+intlevel1 text 000000
+intlevel2 text 000000
+intlevel3 text 000000
+main@sample_message cstackCOMRAM 00000E
+midi_note_on@channel cstackCOMRAM 000008
+midi_note_on@note cstackCOMRAM 00000A
+midi_note_on@pkt cstackCOMRAM 000006
+midi_note_on@velocity cstackCOMRAM 00000B
+midi_set_channel@channel cstackCOMRAM 000003
+midi_set_channel@pkt cstackCOMRAM 000001
+midi_set_status@pkt cstackCOMRAM 000001
+midi_set_status@status cstackCOMRAM 000003
+putch@c cstackCOMRAM 000001
+stackhi (abs) 0005FF
+stacklo (abs) 000060
+start init 000000
+start_initialization cinit 007E60
FUNCTION INFORMATION:
*************** function _main *****************
Defined at:
- line 83 in file "main.c"
+ line 105 in file "main.c"
Parameters: Size Location Type
None
Auto vars: Size Location Type
- None
+ sample_messa 7 13[COMRAM] struct .
Return value: Size Location Type
1 wreg void
Registers used:
- wreg, status,2, cstack
+ wreg, fsr2l, fsr2h, status,2, status,0, cstack
Tracked objects:
On entry :
On exit :
Unchanged:
- Data sizes: COMRAM BANK0 BANK1 BANK2
- Params: 0 0 0 0
- Locals: 0 0 0 0
- Temps: 0 0 0 0
- Totals: 0 0 0 0
-Total ram usage: 0 bytes
- Hardware stack levels required when called: 1
+ Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ Params: 0 0 0 0 0 0 0
+ Locals: 7 0 0 0 0 0 0
+ Temps: 0 0 0 0 0 0 0
+ Totals: 7 0 0 0 0 0 0
+Total ram usage: 7 bytes
+ Hardware stack levels required when called: 2
This function calls:
_eusart_init
+ _eusart_write_midi
+ _midi_note_on
This function is called by:
Startup code after reset
This function uses a non-reentrant model
+ *************** function _midi_note_on *****************
+ Defined at:
+ line 64 in file "midi.c"
+ Parameters: Size Location Type
+ pkt 2 5[COMRAM] PTR struct .
+ -> main@sample_message(7),
+ channel 2 7[COMRAM] unsigned int
+ note 1 9[COMRAM] enum E31
+ velocity 1 10[COMRAM] unsigned char
+ Auto vars: Size Location Type
+ None
+ Return value: Size Location Type
+ 2 5[COMRAM] int
+ Registers used:
+ wreg, fsr2l, fsr2h, status,2, status,0, cstack
+ Tracked objects:
+ On entry :
+ On exit :
+ Unchanged:
+ Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ Params: 6 0 0 0 0 0 0
+ Locals: 0 0 0 0 0 0 0
+ Temps: 2 0 0 0 0 0 0
+ Totals: 8 0 0 0 0 0 0
+Total ram usage: 8 bytes
+ Hardware stack levels used: 1
+ Hardware stack levels required when called: 1
+ This function calls:
+ _midi_set_channel
+ _midi_set_status
+ This function is called by:
+ _main
+ This function uses a non-reentrant model
+
+
+ *************** function _midi_set_status *****************
+ Defined at:
+ line 42 in file "midi.c"
+ Parameters: Size Location Type
+ pkt 2 0[COMRAM] PTR struct .
+ -> main@sample_message(7),
+ status 1 2[COMRAM] enum E40
+ Auto vars: Size Location Type
+ None
+ Return value: Size Location Type
+ 2 0[COMRAM] int
+ Registers used:
+ wreg, fsr2l, fsr2h, status,2, status,0
+ Tracked objects:
+ On entry :
+ On exit :
+ Unchanged:
+ Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ Params: 3 0 0 0 0 0 0
+ Locals: 0 0 0 0 0 0 0
+ Temps: 1 0 0 0 0 0 0
+ Totals: 4 0 0 0 0 0 0
+Total ram usage: 4 bytes
+ Hardware stack levels used: 1
+ This function calls:
+ Nothing
+ This function is called by:
+ _midi_note_on
+ _midi_note_off
+ This function uses a non-reentrant model
+
+
+ *************** function _midi_set_channel *****************
+ Defined at:
+ line 53 in file "midi.c"
+ Parameters: Size Location Type
+ pkt 2 0[COMRAM] PTR struct .
+ -> main@sample_message(7),
+ channel 2 2[COMRAM] unsigned int
+ Auto vars: Size Location Type
+ None
+ Return value: Size Location Type
+ 2 0[COMRAM] int
+ Registers used:
+ wreg, fsr2l, fsr2h, status,2, status,0
+ Tracked objects:
+ On entry :
+ On exit :
+ Unchanged:
+ Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ Params: 4 0 0 0 0 0 0
+ Locals: 0 0 0 0 0 0 0
+ Temps: 1 0 0 0 0 0 0
+ Totals: 5 0 0 0 0 0 0
+Total ram usage: 5 bytes
+ Hardware stack levels used: 1
+ This function calls:
+ Nothing
+ This function is called by:
+ _midi_note_on
+ _midi_note_off
+ This function uses a non-reentrant model
+
+
+ *************** function _eusart_write_midi *****************
+ Defined at:
+ line 81 in file "main.c"
+ Parameters: Size Location Type
+ pkt 2 1[COMRAM] PTR struct .
+ -> main@sample_message(7),
+ Auto vars: Size Location Type
+ data 2 7[COMRAM] PTR unsigned char
+ -> sample_message.data(4), main@sample_message(7),
+ length 2 5[COMRAM] unsigned int
+ Return value: Size Location Type
+ 2 1[COMRAM] int
+ Registers used:
+ wreg, fsr2l, fsr2h, status,2, status,0, cstack
+ Tracked objects:
+ On entry :
+ On exit :
+ Unchanged:
+ Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ Params: 2 0 0 0 0 0 0
+ Locals: 4 0 0 0 0 0 0
+ Temps: 2 0 0 0 0 0 0
+ Totals: 8 0 0 0 0 0 0
+Total ram usage: 8 bytes
+ Hardware stack levels used: 1
+ Hardware stack levels required when called: 1
+ This function calls:
+ _putch
+ This function is called by:
+ _main
+ This function uses a non-reentrant model
+
+
+ *************** function _putch *****************
+ Defined at:
+ line 23 in file "rs232.c"
+ Parameters: Size Location Type
+ c 1 wreg unsigned char
+ Auto vars: Size Location Type
+ c 1 0[COMRAM] unsigned char
+ Return value: Size Location Type
+ 1 wreg void
+ Registers used:
+ wreg
+ Tracked objects:
+ On entry :
+ On exit :
+ Unchanged:
+ Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ Params: 0 0 0 0 0 0 0
+ Locals: 1 0 0 0 0 0 0
+ Temps: 0 0 0 0 0 0 0
+ Totals: 1 0 0 0 0 0 0
+Total ram usage: 1 bytes
+ Hardware stack levels used: 1
+ This function calls:
+ Nothing
+ This function is called by:
+ _eusart_write_midi
+ _getche
+ This function uses a non-reentrant model
+
+
*************** function _eusart_init *****************
Defined at:
line 4 in file "rs232.c"
@@ -349,11 +590,11 @@ Total ram usage: 0 bytes
On entry :
On exit :
Unchanged:
- Data sizes: COMRAM BANK0 BANK1 BANK2
- Params: 0 0 0 0
- Locals: 0 0 0 0
- Temps: 0 0 0 0
- Totals: 0 0 0 0
+ Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ Params: 0 0 0 0 0 0 0
+ Locals: 0 0 0 0 0 0 0
+ Temps: 0 0 0 0 0 0 0
+ Totals: 0 0 0 0 0 0 0
Total ram usage: 0 bytes
Hardware stack levels used: 1
This function calls:
@@ -368,17 +609,26 @@ MODULE INFORMATION
Module Function Class Link Load Size
rs232.c
- _eusart_init CODE 3FE8 0000 25
+ _putch CODE 7E66 0000 13
+ _eusart_init CODE 7E72 0000 25
-rs232.c estimated size: 25
+rs232.c estimated size: 38
shared
- __initialization CODE 3FE2 0000 1
+ __initialization CODE 7E60 0000 1
shared estimated size: 1
+midi.c
+ _midi_set_channel CODE 7EAE 0000 39
+ _midi_note_on CODE 7F02 0000 119
+ _midi_set_status CODE 7E8A 0000 37
+
+midi.c estimated size: 195
+
main.c
- _main CODE 3FDC 0000 7
+ _eusart_write_midi CODE 7F78 0000 137
+ _main CODE 7ED4 0000 47
-main.c estimated size: 7
+main.c estimated size: 184
diff --git a/src/dist/default/production/src.production.mum b/src/dist/default/production/src.production.mum
index 8d87215..5bf520f 100644
--- a/src/dist/default/production/src.production.mum
+++ b/src/dist/default/production/src.production.mum
@@ -1,9 +1,9 @@
Memory Summary:
- Program space used 24h ( 36) of 3D00h bytes ( 0.2%)
- Data space used 0h ( 0) of 2FFh bytes ( 0.0%)
+ Program space used 1A0h ( 416) of 7A00h bytes ( 1.3%)
+ Data space used 14h ( 20) of 5FFh bytes ( 1.3%)
Configuration bits used 7h ( 7) of 7h words (100.0%)
EEPROM space used 0h ( 0) of 100h bytes ( 0.0%)
ID Location space used 8h ( 8) of 8h bytes (100.0%)
- Data stack space used 0h ( 0) of 2A0h bytes ( 0.0%)
+ Data stack space used 0h ( 0) of 5A0h bytes ( 0.0%)
diff --git a/src/dist/default/production/src.production.obj b/src/dist/default/production/src.production.obj
index 21635b1..50131cd 100644
--- a/src/dist/default/production/src.production.obj
+++ b/src/dist/default/production/src.production.obj
Binary files differ
diff --git a/src/dist/default/production/src.production.rlf b/src/dist/default/production/src.production.rlf
index da1b908..c5cd828 100644
--- a/src/dist/default/production/src.production.rlf
+++ b/src/dist/default/production/src.production.rlf
Binary files differ
diff --git a/src/dist/default/production/src.production.sdb b/src/dist/default/production/src.production.sdb
index 42af7a3..667b2f7 100644
--- a/src/dist/default/production/src.production.sdb
+++ b/src/dist/default/production/src.production.sdb
@@ -1,8 +1,38 @@
[p LITE_MODE AUTOSTATIC LFSROK EMI_WORD ]
[d version 1.1 ]
[d edition pro ]
-[d chip 18F44K22 ]
+[d chip 18F45K22 ]
[d frameptr 4065 ]
+"108 Z:\SAMB_4\projects\xilofono\src\main.c
+[e E39 . `uc
+C 0
+D 1
+E 2
+F 3
+G 4
+A 5
+B 6
+]
+"43 Z:\SAMB_4\projects\xilofono\src\midi.c
+[e E40 . `uc
+NOTE_ON 8
+NOTE_OFF 9
+POLYPHONIC_KEYPRESS 10
+CONTROLLER 11
+PROGRAM_CHANGE 12
+CHANNEL_PRESSURE 13
+PITCH_BLEND 15
+]
+"65
+[e E31 . `uc
+C 0
+D 1
+E 2
+F 3
+G 4
+A 5
+B 6
+]
"62 C:\Program Files\Microchip\xc8\v1.44\sources\common\float.c
[v ___ftpack __ftpack `(f 1 e 3 0 ]
"86 C:\Program Files\Microchip\xc8\v1.44\sources\common\ftadd.c
@@ -23,15 +53,23 @@
[v ___flmul __flmul `(d 1 e 3 0 ]
"15 C:\Program Files\Microchip\xc8\v1.44\sources\common\Umul32.c
[v ___lmul __lmul `(ul 1 e 4 0 ]
-"83 Z:\SAMB_4\projects\xilofono\src\main.c
+"81 Z:\SAMB_4\projects\xilofono\src\main.c
+[v _eusart_write_midi eusart_write_midi `(i 1 e 2 0 ]
+"105
[v _main main `(v 1 e 1 0 ]
+"42 Z:\SAMB_4\projects\xilofono\src\midi.c
+[v _midi_set_status midi_set_status `(i 1 e 2 0 ]
+"53
+[v _midi_set_channel midi_set_channel `(i 1 e 2 0 ]
+"64
+[v _midi_note_on midi_note_on `(i 1 e 2 0 ]
"4 Z:\SAMB_4\projects\xilofono\src\rs232.c
[v _eusart_init eusart_init `(v 1 e 1 0 ]
"23
[v _putch putch `(v 1 e 1 0 ]
"29
[v _getch getch `(uc 1 e 1 0 ]
-[s S79 . 1 `uc 1 RX9D 1 0 :1:0
+[s S120 . 1 `uc 1 RX9D 1 0 :1:0
`uc 1 OERR 1 0 :1:1
`uc 1 FERR 1 0 :1:2
`uc 1 ADDEN 1 0 :1:3
@@ -40,11 +78,11 @@
`uc 1 RX9 1 0 :1:6
`uc 1 SPEN 1 0 :1:7
]
-"10543 C:\Program Files\Microchip\xc8\v1.44\include\pic18f44k22.h
-[s S88 . 1 `uc 1 . 1 0 :3:0
+"10543 C:\Program Files\Microchip\xc8\v1.44\include\pic18f45k22.h
+[s S129 . 1 `uc 1 . 1 0 :3:0
`uc 1 ADEN 1 0 :1:3
]
-[s S91 . 1 `uc 1 RX9D1 1 0 :1:0
+[s S132 . 1 `uc 1 RX9D1 1 0 :1:0
`uc 1 OERR1 1 0 :1:1
`uc 1 FERR1 1 0 :1:2
`uc 1 ADDEN1 1 0 :1:3
@@ -53,19 +91,19 @@
`uc 1 RX91 1 0 :1:6
`uc 1 SPEN1 1 0 :1:7
]
-[s S100 . 1 `uc 1 RCD8 1 0 :1:0
+[s S141 . 1 `uc 1 RCD8 1 0 :1:0
`uc 1 . 1 0 :5:1
`uc 1 RC8_9 1 0 :1:6
]
-[s S104 . 1 `uc 1 . 1 0 :6:0
+[s S145 . 1 `uc 1 . 1 0 :6:0
`uc 1 RC9 1 0 :1:6
]
-[s S107 . 1 `uc 1 . 1 0 :5:0
+[s S148 . 1 `uc 1 . 1 0 :5:0
`uc 1 SRENA 1 0 :1:5
]
-[u S110 . 1 `S79 1 . 1 0 `S88 1 . 1 0 `S91 1 . 1 0 `S100 1 . 1 0 `S104 1 . 1 0 `S107 1 . 1 0 ]
-[v _RCSTAbits RCSTAbits `VES110 1 e 1 @4011 ]
-[s S30 . 1 `uc 1 TX9D 1 0 :1:0
+[u S151 . 1 `S120 1 . 1 0 `S129 1 . 1 0 `S132 1 . 1 0 `S141 1 . 1 0 `S145 1 . 1 0 `S148 1 . 1 0 ]
+[v _RCSTAbits RCSTAbits `VES151 1 e 1 @4011 ]
+[s S71 . 1 `uc 1 TX9D 1 0 :1:0
`uc 1 TRMT 1 0 :1:1
`uc 1 BRGH 1 0 :1:2
`uc 1 SENDB 1 0 :1:3
@@ -75,7 +113,7 @@
`uc 1 CSRC 1 0 :1:7
]
"10960
-[s S39 . 1 `uc 1 TX9D1 1 0 :1:0
+[s S80 . 1 `uc 1 TX9D1 1 0 :1:0
`uc 1 TRMT1 1 0 :1:1
`uc 1 BRGH1 1 0 :1:2
`uc 1 SENDB1 1 0 :1:3
@@ -84,19 +122,19 @@
`uc 1 TX91 1 0 :1:6
`uc 1 CSRC1 1 0 :1:7
]
-[s S48 . 1 `uc 1 TXD8 1 0 :1:0
+[s S89 . 1 `uc 1 TXD8 1 0 :1:0
`uc 1 . 1 0 :5:1
`uc 1 TX8_9 1 0 :1:6
]
-[u S52 . 1 `S30 1 . 1 0 `S39 1 . 1 0 `S48 1 . 1 0 ]
-[v _TXSTAbits TXSTAbits `VES52 1 e 1 @4012 ]
+[u S93 . 1 `S71 1 . 1 0 `S80 1 . 1 0 `S89 1 . 1 0 ]
+[v _TXSTAbits TXSTAbits `VES93 1 e 1 @4012 ]
"11179
[v _TXREG TXREG `VEuc 1 e 1 @4013 ]
"11257
[v _RCREG RCREG `VEuc 1 e 1 @4014 ]
"11335
[v _SPBRG SPBRG `VEuc 1 e 1 @4015 ]
-[s S150 . 1 `uc 1 ABDEN 1 0 :1:0
+[s S191 . 1 `uc 1 ABDEN 1 0 :1:0
`uc 1 WUE 1 0 :1:1
`uc 1 . 1 0 :1:2
`uc 1 BRG16 1 0 :1:3
@@ -106,10 +144,10 @@
`uc 1 ABDOVF 1 0 :1:7
]
"12600
-[s S159 . 1 `uc 1 . 1 0 :4:0
+[s S200 . 1 `uc 1 . 1 0 :4:0
`uc 1 SCKP 1 0 :1:4
]
-[s S162 . 1 `uc 1 ABDEN1 1 0 :1:0
+[s S203 . 1 `uc 1 ABDEN1 1 0 :1:0
`uc 1 WUE1 1 0 :1:1
`uc 1 . 1 0 :1:2
`uc 1 BRG161 1 0 :1:3
@@ -118,24 +156,24 @@
`uc 1 RCIDL1 1 0 :1:6
`uc 1 ABDOVF1 1 0 :1:7
]
-[s S171 . 1 `uc 1 . 1 0 :4:0
+[s S212 . 1 `uc 1 . 1 0 :4:0
`uc 1 TXCKP 1 0 :1:4
`uc 1 RXDTP 1 0 :1:5
`uc 1 RCMT 1 0 :1:6
]
-[s S176 . 1 `uc 1 . 1 0 :4:0
+[s S217 . 1 `uc 1 . 1 0 :4:0
`uc 1 TXCKP1 1 0 :1:4
`uc 1 RXDTP1 1 0 :1:5
`uc 1 RCMT1 1 0 :1:6
]
-[s S181 . 1 `uc 1 . 1 0 :5:0
+[s S222 . 1 `uc 1 . 1 0 :5:0
`uc 1 RXCKP 1 0 :1:5
]
-[s S184 . 1 `uc 1 . 1 0 :1:0
+[s S225 . 1 `uc 1 . 1 0 :1:0
`uc 1 W4E 1 0 :1:1
]
-[u S187 . 1 `S150 1 . 1 0 `S159 1 . 1 0 `S162 1 . 1 0 `S171 1 . 1 0 `S176 1 . 1 0 `S181 1 . 1 0 `S184 1 . 1 0 ]
-[v _BAUDCONbits BAUDCONbits `VES187 1 e 1 @4024 ]
+[u S228 . 1 `S191 1 . 1 0 `S200 1 . 1 0 `S203 1 . 1 0 `S212 1 . 1 0 `S217 1 . 1 0 `S222 1 . 1 0 `S225 1 . 1 0 ]
+[v _BAUDCONbits BAUDCONbits `VES228 1 e 1 @4024 ]
"18768
[v _RCIF RCIF `VEb 1 e 0 @31989 ]
"19440
@@ -144,12 +182,71 @@
[v _TRISC7 TRISC7 `VEb 1 e 0 @31911 ]
"19540
[v _TXIF TXIF `VEb 1 e 0 @31988 ]
-"83 Z:\SAMB_4\projects\xilofono\src\main.c
+"105 Z:\SAMB_4\projects\xilofono\src\main.c
[v _main main `(v 1 e 1 0 ]
{
-"90
+[s S21 . 7 `uc 1 status 1 0 :4:0
+`uc 1 channel 1 0 :4:4
+`ui 1 data_size 2 1 `[4]uc 1 data 4 3 ]
+"107
+[v main@sample_message sample_message `S21 1 a 7 13 ]
+"116
} 0
-"4 Z:\SAMB_4\projects\xilofono\src\rs232.c
+"64 Z:\SAMB_4\projects\xilofono\src\midi.c
+[v _midi_note_on midi_note_on `(i 1 e 2 0 ]
+{
+[s S21 . 7 `uc 1 status 1 0 :4:0
+`uc 1 channel 1 0 :4:4
+`ui 1 data_size 2 1 `[4]uc 1 data 4 3 ]
+[v midi_note_on@pkt pkt `*.39S21 1 p 2 5 ]
+[v midi_note_on@channel channel `ui 1 p 2 7 ]
+[v midi_note_on@note note `E31 1 p 1 9 ]
+[v midi_note_on@velocity velocity `uc 1 p 1 10 ]
+"85
+} 0
+"42
+[v _midi_set_status midi_set_status `(i 1 e 2 0 ]
+{
+[s S21 . 7 `uc 1 status 1 0 :4:0
+`uc 1 channel 1 0 :4:4
+`ui 1 data_size 2 1 `[4]uc 1 data 4 3 ]
+[v midi_set_status@pkt pkt `*.39S21 1 p 2 0 ]
+[v midi_set_status@status status `E40 1 p 1 2 ]
+"51
+} 0
+"53
+[v _midi_set_channel midi_set_channel `(i 1 e 2 0 ]
+{
+[s S21 . 7 `uc 1 status 1 0 :4:0
+`uc 1 channel 1 0 :4:4
+`ui 1 data_size 2 1 `[4]uc 1 data 4 3 ]
+[v midi_set_channel@pkt pkt `*.39S21 1 p 2 0 ]
+[v midi_set_channel@channel channel `ui 1 p 2 2 ]
+"62
+} 0
+"81 Z:\SAMB_4\projects\xilofono\src\main.c
+[v _eusart_write_midi eusart_write_midi `(i 1 e 2 0 ]
+{
+"92
+[v eusart_write_midi@data data `*.39uc 1 a 2 7 ]
+"91
+[v eusart_write_midi@length length `ui 1 a 2 5 ]
+[s S21 . 7 `uc 1 status 1 0 :4:0
+`uc 1 channel 1 0 :4:4
+`ui 1 data_size 2 1 `[4]uc 1 data 4 3 ]
+"81
+[v eusart_write_midi@pkt pkt `*.39S21 1 p 2 1 ]
+"101
+} 0
+"23 Z:\SAMB_4\projects\xilofono\src\rs232.c
+[v _putch putch `(v 1 e 1 0 ]
+{
+[v putch@c c `uc 1 a 1 wreg ]
+[v putch@c c `uc 1 a 1 wreg ]
+[v putch@c c `uc 1 a 1 0 ]
+"27
+} 0
+"4
[v _eusart_init eusart_init `(v 1 e 1 0 ]
{
"21
diff --git a/src/dist/default/production/src.production.sym b/src/dist/default/production/src.production.sym
index ebb58d4..9cb149a 100644
--- a/src/dist/default/production/src.production.sym
+++ b/src/dist/default/production/src.production.sym
@@ -1,17 +1,21 @@
__CFG_XINST$OFF 0 0 ABS 0
__size_of_eusart_init 0 0 ABS 0
+main@sample_message E 0 COMRAM 1
__S0 30000E 0 ABS 0
-__S1 0 0 ABS 0
+__S1 15 0 ABS 0
__S2 0 0 ABS 0
__Hintentry 0 0 ABS 0
__Lintentry 0 0 ABS 0
+midi_set_channel@pkt 1 0 COMRAM 1
__CFG_PLLCFG$OFF 0 0 ABS 0
__CFG_WDTEN$ON 0 0 ABS 0
_RCIF 7CF5 0 ABS 0
_TXIF 7CF4 0 ABS 0
-_main 3FDC 0 CODE 0
+__end_of_eusart_write_midi 8000 0 CODE 0
+_main 7ED4 0 CODE 0
___sp 0 0 STACK 2
start 0 0 CODE 0
+eusart_write_midi@pkt 2 0 COMRAM 1
_RCREG FAE 0 ABS 0
_TXREG FAD 0 ABS 0
_SPBRG FAF 0 ABS 0
@@ -29,17 +33,21 @@ __Lrparam 0 0 COMRAM 1
__Hram 0 0 ABS 0
__Lram 0 0 ABS 0
__Hcomram 0 0 ABS 0
+_putch 7E66 0 CODE 0
__Lcomram 0 0 ABS 0
__Hsfr 0 0 ABS 0
__Lsfr 0 0 ABS 0
+eusart_write_midi@data 8 0 COMRAM 1
__Hbss 0 0 RAM 1
__CFG_STVREN$ON 0 0 ABS 0
__Lbss 0 0 RAM 1
___param_bank 0 0 ABS 0
__Hnvrram 0 0 COMRAM 1
__Lnvrram 0 0 COMRAM 1
+__size_of_midi_note_on 0 0 ABS 0
_TRISC6 7CA6 0 ABS 0
_TRISC7 7CA7 0 ABS 0
+__end_of_putch 7E72 0 CODE 0
__Heeprom_data 0 0 EEDATA 0
__Leeprom_data 0 0 EEDATA 0
__Hintsave_regs 0 0 BIGRAM 1
@@ -48,8 +56,8 @@ __Hbigbss 0 0 BIGRAM 1
__Lbigbss 0 0 BIGRAM 1
__Hintret 0 0 ABS 0
__Lintret 0 0 ABS 0
-__Hramtop 300 0 RAM 0
-__Lramtop 300 0 RAM 0
+__Hramtop 600 0 RAM 0
+__Lramtop 600 0 RAM 0
__Hstruct 0 0 COMRAM 1
__Lstruct 0 0 COMRAM 1
__Hbigdata 0 0 BIGRAM 1
@@ -62,6 +70,7 @@ __Hintcode 0 0 CODE 0
__Lintcode 0 0 CODE 0
__Hfardata 0 0 FARRAM 0
__Lfardata 0 0 FARRAM 0
+midi_note_on@velocity B 0 COMRAM 1
__Habs1 0 0 ABS 0
__Labs1 0 0 ABS 0
__CFG_EBTR0$OFF 0 0 ABS 0
@@ -70,10 +79,11 @@ __HnvFARRAM 0 0 FARRAM 0
__LnvFARRAM 0 0 FARRAM 0
__CFG_EBTR1$OFF 0 0 ABS 0
__CFG_CCP2MX$PORTC1 0 0 ABS 0
+putch@c 1 0 COMRAM 1
__CFG_CCP3MX$PORTB5 0 0 ABS 0
__Hdata 0 0 ABS 0
__Ldata 0 0 ABS 0
-stackhi 2FF 0 ABS 0
+stackhi 5FF 0 ABS 0
__Htemp 0 0 COMRAM 1
__Ltemp 0 0 COMRAM 1
stacklo 60 0 ABS 0
@@ -84,14 +94,20 @@ __Linit 0 0 CODE 0
__Hintcodelo 0 0 CODE 0
__Lintcodelo 0 0 CODE 0
__Hrbss 0 0 COMRAM 1
-__end_of_main 3FE2 0 CODE 0
+__end_of_main 7F02 0 CODE 0
__Lrbss 0 0 COMRAM 1
__Htext 0 0 ABS 0
__Ltext 0 0 ABS 0
__CFG_LVP$ON 0 0 ABS 0
-end_of_initialization 3FE2 0 CODE 0
+end_of_initialization 7E60 0 CODE 0
+_midi_set_status 7E8A 0 CODE 0
+__end_of_midi_set_channel 7ED4 0 CODE 0
+midi_note_on@channel 8 0 COMRAM 1
+__size_of_putch 0 0 ABS 0
_RCSTAbits FAB 0 ABS 0
_TXSTAbits FAC 0 ABS 0
+_midi_set_channel 7EAE 0 CODE 0
+__size_of_eusart_write_midi 0 0 ABS 0
__Hibigdata 0 0 CODE 0
__Libigdata 0 0 CODE 0
__Hifardata 0 0 CODE 0
@@ -102,20 +118,43 @@ __Hbank1 0 0 ABS 0
__Lbank1 0 0 ABS 0
__Hbank2 0 0 ABS 0
__Lbank2 0 0 ABS 0
+__Hbank3 0 0 ABS 0
+__Lbank3 0 0 ABS 0
+__Hbank4 0 0 ABS 0
+__Lbank4 0 0 ABS 0
+__Hbank5 0 0 ABS 0
+__Lbank5 0 0 ABS 0
__Hpowerup 0 0 CODE 0
__Lpowerup 0 0 CODE 0
__Htext0 0 0 ABS 0
__Ltext0 0 0 ABS 0
+_eusart_write_midi 7F78 0 CODE 0
__Htext1 0 0 ABS 0
__Ltext1 0 0 ABS 0
-__ptext0 3FDC 0 CODE 0
-__ptext1 3FE8 0 CODE 0
+__ptext0 7ED4 0 CODE 0
+__Htext2 0 0 ABS 0
+__Ltext2 0 0 ABS 0
+__ptext1 7F02 0 CODE 0
+__end_of_midi_note_on 7F78 0 CODE 0
+__Htext3 0 0 ABS 0
+__Ltext3 0 0 ABS 0
+__ptext2 7E8A 0 CODE 0
+__Htext4 0 0 ABS 0
+__Ltext4 0 0 ABS 0
+__ptext3 7EAE 0 CODE 0
+__Htext5 0 0 ABS 0
__CFG_P2BMX$PORTD2 0 0 ABS 0
+__Ltext5 0 0 ABS 0
+__ptext4 7F78 0 CODE 0
+__Htext6 0 0 ABS 0
+__Ltext6 0 0 ABS 0
+__ptext5 7E66 0 CODE 0
+__ptext6 7E72 0 CODE 0
__CFG_T3CMX$PORTC0 0 0 ABS 0
__Hclrtext 0 0 ABS 0
__Lclrtext 0 0 ABS 0
__CFG_HFOFST$ON 0 0 ABS 0
-__end_of__initialization 3FE2 0 CODE 0
+__end_of__initialization 7E60 0 CODE 0
__CFG_PRICLKEN$ON 0 0 ABS 0
_BAUDCONbits FB8 0 ABS 0
___rparam_used 1 0 ABS 0
@@ -123,41 +162,49 @@ __Hidata 0 0 CODE 0
__Lidata 0 0 CODE 0
__Hrdata 0 0 COMRAM 1
__Lrdata 0 0 COMRAM 1
-_eusart_init 3FE8 0 CODE 0
+_eusart_init 7E72 0 CODE 0
__Hidloc 200008 0 IDLOC 0
__Lidloc 200000 0 IDLOC 0
__CFG_PWRTEN$OFF 0 0 ABS 0
__Hstack 0 0 STACK 2
__Lstack 0 0 STACK 2
+_midi_note_on 7F02 0 CODE 0
+midi_set_channel@channel 3 0 COMRAM 1
__Hparam 0 0 COMRAM 1
__Lparam 0 0 COMRAM 1
__Hspace_0 30000E 0 ABS 0
__HcstackCOMRAM 0 0 ABS 0
__Lspace_0 0 0 ABS 0
__LcstackCOMRAM 0 0 ABS 0
-__pcstackCOMRAM 0 0 COMRAM 1
-__Hspace_1 0 0 ABS 0
+__pcstackCOMRAM 1 0 COMRAM 1
+__Hspace_1 15 0 ABS 0
__Lspace_1 0 0 ABS 0
__Hsmallconst 0 0 SMALLCONST 0
__Lsmallconst 0 0 SMALLCONST 0
+eusart_write_midi@length 6 0 COMRAM 1
__Hspace_2 0 0 ABS 0
__Lspace_2 0 0 ABS 0
__Hnvbit 0 0 COMRAM 1
__Lnvbit 0 0 COMRAM 1
__Hcinit 0 0 ABS 0
__Lcinit 0 0 ABS 0
-__pcinit 3FE2 0 CODE 0
+__pcinit 7E60 0 CODE 0
__CFG_EBTRB$OFF 0 0 ABS 0
-__ramtop 300 0 RAM 0
+__ramtop 600 0 RAM 0
__mediumconst 0 0 MEDIUMCONST 0
__size_of_main 0 0 ABS 0
__Hconst 0 0 CONST 0
__Lconst 0 0 CONST 0
__CFG_WRT0$OFF 0 0 ABS 0
__CFG_WRT1$OFF 0 0 ABS 0
+midi_note_on@pkt 6 0 COMRAM 1
__CFG_MCLRE$EXTMCLR 0 0 ABS 0
__CFG_FCMEN$OFF 0 0 ABS 0
+__size_of_midi_set_status 0 0 ABS 0
+midi_note_on@note A 0 COMRAM 1
+midi_set_status@pkt 1 0 COMRAM 1
___inthi_sp 0 0 STACK 2
+__size_of_midi_set_channel 0 0 ABS 0
___intlo_sp 0 0 STACK 2
__CFG_CP0$OFF 0 0 ABS 0
__smallconst 0 0 SMALLCONST 0
@@ -166,55 +213,99 @@ __Hreset_vec 0 0 CODE 0
__Lreset_vec 0 0 CODE 0
__CFG_BORV$190 0 0 ABS 0
__accesstop 60 0 ABS 0
+__end_of_midi_set_status 7EAE 0 CODE 0
__Hintcode_body 0 0 ABS 0
__Lintcode_body 0 0 ABS 0
__CFG_PBADEN$ON 0 0 ABS 0
intlevel0 0 0 CODE 0
intlevel1 0 0 CODE 0
__CFG_WRTB$OFF 0 0 ABS 0
+midi_set_status@status 3 0 COMRAM 1
intlevel2 0 0 CODE 0
intlevel3 0 0 CODE 0
__CFG_WRTC$OFF 0 0 ABS 0
-__end_of_eusart_init 4000 0 CODE 0
+__end_of_eusart_init 7E8A 0 CODE 0
__CFG_WRTD$OFF 0 0 ABS 0
__CFG_CPB$OFF 0 0 ABS 0
__CFG_CPD$OFF 0 0 ABS 0
-start_initialization 3FE2 0 CODE 0
+start_initialization 7E60 0 CODE 0
__CFG_BOREN$SBORDIS 0 0 ABS 0
__CFG_IESO$OFF 0 0 ABS 0
-__initialization 3FE2 0 CODE 0
+__initialization 7E60 0 CODE 0
__activetblptr 0 0 ABS 0
%segments
reset_vec 0 3 CODE 0 0
config 300000 30000D CONFIG 300000 0
idloc 200000 200007 IDLOC 200000 0
-text1 3FE8 3FFF CODE 3FE8 0
-cinit 3FE2 3FE7 CODE 3FE2 0
-text0 3FDC 3FE1 CODE 3FDC 0
+cstackCOMRAM 1 14 COMRAM 1 1
+text4 7F78 7FFF CODE 7F78 0
+text1 7F02 7F77 CODE 7F02 0
+text0 7ED4 7F01 CODE 7ED4 0
+text3 7EAE 7ED3 CODE 7EAE 0
+text2 7E8A 7EAD CODE 7E8A 0
+text6 7E72 7E89 CODE 7E72 0
+text5 7E66 7E71 CODE 7E66 0
+cinit 7E60 7E65 CODE 7E60 0
%locals
dist/default/production\src.production.obj
-C:\Program Files\Microchip\xc8\v1.44\include\pic18f44k22.h
-C:\Users\_prossn\AppData\Local\Temp\s3s8.
-1144 3FE2 0 CODE 0
-1146 3FE2 0 CODE 0
-1149 3FE2 0 CODE 0
-1155 3FE2 0 CODE 0
-1157 3FE2 0 CODE 0
-1158 3FE4 0 CODE 0
+C:\Program Files\Microchip\xc8\v1.44\include\pic18f45k22.h
+C:\Users\_prossn\AppData\Local\Temp\s438.
+1149 7E60 0 CODE 0
+1151 7E60 0 CODE 0
+1154 7E60 0 CODE 0
+1160 7E60 0 CODE 0
+1162 7E60 0 CODE 0
+1163 7E62 0 CODE 0
main.c
-83 3FDC 0 CODE 0
-85 3FDC 0 CODE 0
-88 3FE0 0 CODE 0
+105 7ED4 0 CODE 0
+108 7ED4 0 CODE 0
+110 7EF0 0 CODE 0
+113 7EF4 0 CODE 0
+114 7EF4 0 CODE 0
+113 7F00 0 CODE 0
+midi.c
+64 7F02 0 CODE 0
+66 7F02 0 CODE 0
+70 7F0A 0 CODE 0
+71 7F1A 0 CODE 0
+73 7F2E 0 CODE 0
+77 7F42 0 CODE 0
+78 7F52 0 CODE 0
+81 7F62 0 CODE 0
+midi.c
+42 7E8A 0 CODE 0
+44 7E8A 0 CODE 0
+48 7E92 0 CODE 0
+midi.c
+53 7EAE 0 CODE 0
+55 7EAE 0 CODE 0
+59 7EB6 0 CODE 0
+main.c
+81 7F78 0 CODE 0
+83 7F78 0 CODE 0
+87 7F80 0 CODE 0
+91 7F94 0 CODE 0
+92 7FA8 0 CODE 0
+94 7FB4 0 CODE 0
+96 7FDA 0 CODE 0
+97 7FDC 0 CODE 0
+98 7FEE 0 CODE 0
+96 7FEE 0 CODE 0
+rs232.c
+23 7E66 0 CODE 0
+25 7E68 0 CODE 0
+26 7E6C 0 CODE 0
+27 7E70 0 CODE 0
rs232.c
-4 3FE8 0 CODE 0
-7 3FE8 0 CODE 0
-8 3FEA 0 CODE 0
-11 3FEC 0 CODE 0
-12 3FEE 0 CODE 0
-13 3FF2 0 CODE 0
-14 3FF4 0 CODE 0
-17 3FF6 0 CODE 0
-18 3FF8 0 CODE 0
-19 3FFA 0 CODE 0
-20 3FFC 0 CODE 0
-21 3FFE 0 CODE 0
+4 7E72 0 CODE 0
+7 7E72 0 CODE 0
+8 7E74 0 CODE 0
+11 7E76 0 CODE 0
+12 7E78 0 CODE 0
+13 7E7C 0 CODE 0
+14 7E7E 0 CODE 0
+17 7E80 0 CODE 0
+18 7E82 0 CODE 0
+19 7E84 0 CODE 0
+20 7E86 0 CODE 0
+21 7E88 0 CODE 0
diff --git a/src/main.c b/src/main.c
index da15d3a..4fb245a 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1,6 +1,6 @@
/*
* File: main.c
- * Author: _prossn
+ * Author: Naoki Pross 4E
* Date: 08.01.2018
* Target: PIC18F44K22
* Version 1.0
@@ -71,21 +71,47 @@
// Use project enums instead of #define for ON and OFF.
#include "rs232.h"
+#include "midi.h"
#include <xc.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+int eusart_write_midi(midi_message_t *pkt)
+{
+ if (pkt == NULL) {
+ return -1;
+ }
+
+ if (pkt->data == NULL) {
+ return -2;
+ }
+
+ size_t length = pkt->data_size;
+ uint8_t *data = pkt->data;
+
+ putch((char)((pkt->status << 4) | pkt->channel));
+
+ while (length--) {
+ putch((char) *(data++));
+ }
+
+ return 0;
+}
+
/* main program */
void main(void) {
+ midi_message_t sample_message;
+ midi_note_on(&sample_message, 0x0, 0x3C, 0x7F);
+
eusart_init();
/* main loop */
while (1) {
-
+ eusart_write_midi(&sample_message);
}
}
diff --git a/src/midi.c b/src/midi.c
new file mode 100644
index 0000000..e82c921
--- /dev/null
+++ b/src/midi.c
@@ -0,0 +1,108 @@
+#include "midi.h"
+
+#include <stdint.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+
+#ifdef MIDI_DYNAMIC_MEMORY_ALLOC
+midi_message_t *midi_alloc_message(size_t data_size)
+{
+ return (midi_message_t *) malloc(sizeof(midi_message_t) + data_size);
+}
+
+void midi_free_message(midi_message_t *pkt)
+{
+#ifndef MIDI_UNSAFE
+ if (pkt == NULL) {
+ return;
+ }
+#endif
+
+ free(pkt);
+ pkt = NULL;
+}
+
+size_t midi_message_size(midi_message_t *pkt)
+{
+ if (pkt == NULL) {
+ return 0;
+ }
+
+ switch (pkt->status) {
+ case NOTE_ON: return sizeof(midi_message_t) + 2;
+ case NOTE_OFF: return sizeof(midi_message_t) + 1;
+ default: return sizeof(midi_message_t);
+ }
+}
+#endif
+
+
+int midi_set_status(midi_message_t *pkt, midi_status_t status)
+{
+ if (pkt == NULL) {
+ return -1;
+ }
+
+ pkt->status = status & 0x0F;
+
+ return 0;
+}
+
+int midi_set_channel(midi_message_t *pkt, unsigned channel)
+{
+ if (pkt == NULL) {
+ return -1;
+ }
+
+ pkt->channel = channel & 0x0F;
+
+ return 0;
+}
+
+int midi_note_on(midi_message_t *pkt, unsigned channel, midi_note_t note, uint8_t velocity)
+{
+ if (pkt == NULL) {
+ return -1;
+ }
+
+ if (pkt->data == NULL) {
+ return -2;
+ }
+
+ midi_set_status(pkt, NOTE_ON);
+ midi_set_channel(pkt, channel);
+
+ pkt->data[0] = note;
+ pkt->data[1] = velocity;
+
+#ifndef MIDI_DYNAMIC_MEMORY_ALLOC
+ pkt->data_size = 2;
+#endif
+
+ return 0;
+}
+
+int midi_note_off(midi_message_t *pkt, unsigned channel, midi_note_t note, uint8_t velocity)
+{
+ if (pkt == NULL) {
+ return -1;
+ }
+
+ if (pkt->data == NULL) {
+ return -2;
+ }
+
+ midi_set_status(pkt, NOTE_OFF);
+ midi_set_channel(pkt, channel);
+
+ pkt->data[0] = note;
+ pkt->data[1] = velocity;
+
+#ifndef MIDI_DYNAMIC_MEMORY_ALLOC
+ pkt->data_size = 2;
+#endif
+
+ return 0;
+}
diff --git a/src/midi.h b/src/midi.h
new file mode 100644
index 0000000..cab35e3
--- /dev/null
+++ b/src/midi.h
@@ -0,0 +1,82 @@
+/*
+ * File: main.c
+ * Author: _prossn
+ * Date: 08.01.2018
+ * Version 1.0
+ *
+ * Description:
+ * C API to work with MIDI formatted data
+ */
+
+#ifndef MIDI_H
+#define MIDI_H
+
+#include <stdint.h>
+#include <stddef.h>
+
+#ifndef MIDI_DYNAMIC_MEMORY_ALLOC
+#define MIDI_DATA_MAX_SIZE 4
+#endif
+
+
+typedef enum {
+ C = 0, // Do
+ D = 1, // Re
+ E = 2, // Mi
+ F = 3, // Fa
+ G = 4, // Sol
+ A = 5, // La
+ B = 6, // Si
+} midi_note_t;
+
+typedef enum {
+ NOTE_ON = 0x8,
+ NOTE_OFF = 0x9,
+ POLYPHONIC_KEYPRESS = 0xA,
+ CONTROLLER = 0xB,
+ PROGRAM_CHANGE = 0xC,
+ CHANNEL_PRESSURE = 0xD,
+ PITCH_BLEND = 0xF
+} midi_status_t;
+
+
+typedef struct {
+ unsigned status :4;
+ unsigned channel :4;
+
+#ifdef MIDI_DYNAMIC_MEMORY_ALLOC
+ uint8_t data[];
+
+#else
+ size_t data_size;
+ uint8_t data[MIDI_DATA_MAX_SIZE];
+#endif
+} midi_message_t;
+
+
+/* MIDI API */
+#ifdef MIDI_DYNAMIC_MEMORY_ALLOC
+
+// allocation / dellocation
+extern midi_message_t *midi_alloc_message(size_t data_size);
+extern void midi_free_message(midi_message_t *pkt);
+extern size_t midi_message_size(midi_message_t *pkt);
+
+#endif
+
+
+// helper functions
+
+extern int midi_set_status(midi_message_t *pkt, midi_status_t status);
+extern int midi_set_channel(midi_message_t *pkt, unsigned channel);
+
+// message building
+extern int midi_note_on(midi_message_t *pkt, unsigned channel, midi_note_t note, uint8_t velocity);
+extern int midi_note_off(midi_message_t *pkt, unsigned channel, midi_note_t note, uint8_t velocity);
+
+// optimization
+// extern int midi_thin_data(void *buffer, midi_message_t pkt[]);
+
+
+#endif /* MIDI_H */
+
diff --git a/src/nbproject/Makefile-default.mk b/src/nbproject/Makefile-default.mk
index da7a02a..bbe49af 100644
--- a/src/nbproject/Makefile-default.mk
+++ b/src/nbproject/Makefile-default.mk
@@ -57,17 +57,17 @@ OBJECTDIR=build/${CND_CONF}/${IMAGE_TYPE}
DISTDIR=dist/${CND_CONF}/${IMAGE_TYPE}
# Source Files Quoted if spaced
-SOURCEFILES_QUOTED_IF_SPACED=main.c rs232.c
+SOURCEFILES_QUOTED_IF_SPACED=main.c rs232.c midi.c
# Object Files Quoted if spaced
-OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/main.p1 ${OBJECTDIR}/rs232.p1
-POSSIBLE_DEPFILES=${OBJECTDIR}/main.p1.d ${OBJECTDIR}/rs232.p1.d
+OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/main.p1 ${OBJECTDIR}/rs232.p1 ${OBJECTDIR}/midi.p1
+POSSIBLE_DEPFILES=${OBJECTDIR}/main.p1.d ${OBJECTDIR}/rs232.p1.d ${OBJECTDIR}/midi.p1.d
# Object Files
-OBJECTFILES=${OBJECTDIR}/main.p1 ${OBJECTDIR}/rs232.p1
+OBJECTFILES=${OBJECTDIR}/main.p1 ${OBJECTDIR}/rs232.p1 ${OBJECTDIR}/midi.p1
# Source Files
-SOURCEFILES=main.c rs232.c
+SOURCEFILES=main.c rs232.c midi.c
CFLAGS=
@@ -89,7 +89,7 @@ ifneq ($(INFORMATION_MESSAGE), )
endif
${MAKE} -f nbproject/Makefile-default.mk dist/${CND_CONF}/${IMAGE_TYPE}/src.${IMAGE_TYPE}.${OUTPUT_SUFFIX}
-MP_PROCESSOR_OPTION=18F44K22
+MP_PROCESSOR_OPTION=18F45K22
# ------------------------------------------------------------------------------------
# Rules for buildStep: compile
ifeq ($(TYPE_IMAGE), DEBUG_RUN)
@@ -109,6 +109,14 @@ ${OBJECTDIR}/rs232.p1: rs232.c nbproject/Makefile-${CND_CONF}.mk
@-${MV} ${OBJECTDIR}/rs232.d ${OBJECTDIR}/rs232.p1.d
@${FIXDEPS} ${OBJECTDIR}/rs232.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
+${OBJECTDIR}/midi.p1: midi.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} "${OBJECTDIR}"
+ @${RM} ${OBJECTDIR}/midi.p1.d
+ @${RM} ${OBJECTDIR}/midi.p1
+ ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G -D__DEBUG=1 --debugger=icd3 --double=24 --float=24 --emi=wordwrite --opt=+asm,+asmfile,-speed,+space,-debug,-local --addrqual=ignore --mode=free -P -N255 --warn=-3 --asmlist -DXPRJ_default=$(CND_CONF) --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,+config,+clib,-plib $(COMPARISON_BUILD) --output=-mcof,+elf:multilocs --stack=compiled:auto:auto:auto "--errformat=%f:%l: error: (%n) %s" "--warnformat=%f:%l: warning: (%n) %s" "--msgformat=%f:%l: advisory: (%n) %s" -o${OBJECTDIR}/midi.p1 midi.c
+ @-${MV} ${OBJECTDIR}/midi.d ${OBJECTDIR}/midi.p1.d
+ @${FIXDEPS} ${OBJECTDIR}/midi.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
+
else
${OBJECTDIR}/main.p1: main.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}"
@@ -126,6 +134,14 @@ ${OBJECTDIR}/rs232.p1: rs232.c nbproject/Makefile-${CND_CONF}.mk
@-${MV} ${OBJECTDIR}/rs232.d ${OBJECTDIR}/rs232.p1.d
@${FIXDEPS} ${OBJECTDIR}/rs232.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
+${OBJECTDIR}/midi.p1: midi.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} "${OBJECTDIR}"
+ @${RM} ${OBJECTDIR}/midi.p1.d
+ @${RM} ${OBJECTDIR}/midi.p1
+ ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G --double=24 --float=24 --emi=wordwrite --opt=+asm,+asmfile,-speed,+space,-debug,-local --addrqual=ignore --mode=free -P -N255 --warn=-3 --asmlist -DXPRJ_default=$(CND_CONF) --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,+config,+clib,-plib $(COMPARISON_BUILD) --output=-mcof,+elf:multilocs --stack=compiled:auto:auto:auto "--errformat=%f:%l: error: (%n) %s" "--warnformat=%f:%l: warning: (%n) %s" "--msgformat=%f:%l: advisory: (%n) %s" -o${OBJECTDIR}/midi.p1 midi.c
+ @-${MV} ${OBJECTDIR}/midi.d ${OBJECTDIR}/midi.p1.d
+ @${FIXDEPS} ${OBJECTDIR}/midi.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
+
endif
# ------------------------------------------------------------------------------------
diff --git a/src/nbproject/Makefile-genesis.properties b/src/nbproject/Makefile-genesis.properties
index b7e886f..251d7a2 100644
--- a/src/nbproject/Makefile-genesis.properties
+++ b/src/nbproject/Makefile-genesis.properties
@@ -1,7 +1,7 @@
#
-#Tue Jan 09 08:34:18 CET 2018
+#Thu Feb 01 16:10:54 CET 2018
default.languagetoolchain.dir=C\:\\Program Files\\Microchip\\xc8\\v1.44\\bin
-configurations-xml=e53636da3f169dff17c4b629d53a8e38
+configurations-xml=af2f7bf849f43cec780e74f66603aaa1
com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=5d30ff5128b14865c8a3796a8f0bb8a0
default.languagetoolchain.version=1.44
host.platform=windows
diff --git a/src/nbproject/configurations.xml b/src/nbproject/configurations.xml
index c04bafb..fd080e3 100644
--- a/src/nbproject/configurations.xml
+++ b/src/nbproject/configurations.xml
@@ -5,6 +5,7 @@
displayName="Header Files"
projectFiles="true">
<itemPath>rs232.h</itemPath>
+ <itemPath>midi.h</itemPath>
</logicalFolder>
<logicalFolder name="LinkerScript"
displayName="Linker Files"
@@ -15,6 +16,7 @@
projectFiles="true">
<itemPath>main.c</itemPath>
<itemPath>rs232.c</itemPath>
+ <itemPath>midi.c</itemPath>
</logicalFolder>
<logicalFolder name="ExternalFiles"
displayName="Important Files"
@@ -27,7 +29,7 @@
<conf name="default" type="2">
<toolsSet>
<developmentServer>localhost</developmentServer>
- <targetDevice>PIC18F44K22</targetDevice>
+ <targetDevice>PIC18F45K22</targetDevice>
<targetHeader></targetHeader>
<targetPluginBoard></targetPluginBoard>
<platformTool>ICD3PlatformTool</platformTool>
diff --git a/src/nbproject/private/SuppressibleMessageMemo.properties b/src/nbproject/private/SuppressibleMessageMemo.properties
new file mode 100644
index 0000000..957bae2
--- /dev/null
+++ b/src/nbproject/private/SuppressibleMessageMemo.properties
@@ -0,0 +1,3 @@
+#
+#Thu Feb 01 11:22:19 CET 2018
+icd3/CHECK_4_HIGH_VOLTAGE_VPP=true
diff --git a/src/nbproject/private/configurations.xml b/src/nbproject/private/configurations.xml
index 492dbe3..58a3971 100644
--- a/src/nbproject/private/configurations.xml
+++ b/src/nbproject/private/configurations.xml
@@ -4,7 +4,7 @@
<defaultConf>0</defaultConf>
<confs>
<conf name="default" type="2">
- <platformToolSN></platformToolSN>
+ <platformToolSN>:=MPLABComm-USB-Microchip:=&lt;vid>04D8:=&lt;pid>9009:=&lt;rev>0100:=&lt;man>Microchip Technology, Inc. (www.microchip.com):=&lt;prod>MPLAB ICD3 tm (www.microchip.com):=&lt;sn>JIT153520759:=&lt;drv>x:=&lt;xpt>b:=end</platformToolSN>
<languageToolchainDir>C:\Program Files\Microchip\xc8\v1.44\bin</languageToolchainDir>
<mdbdebugger version="1">
<placeholder1>place holder 1</placeholder1>
diff --git a/src/nbproject/private/private.xml b/src/nbproject/private/private.xml
index f742160..790aed3 100644
--- a/src/nbproject/private/private.xml
+++ b/src/nbproject/private/private.xml
@@ -4,8 +4,8 @@
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
<group name="Corso Kamm">
<file>file:/Z:/SAMB_4/projects/xilofono/src/main.c</file>
- <file>file:/Z:/SAMB_4/projects/xilofono/src/rs232.h</file>
- <file>file:/Z:/SAMB_4/projects/xilofono/src/rs232.c</file>
+ <file>file:/Z:/SAMB_4/projects/xilofono/src/midi.h</file>
+ <file>file:/Z:/SAMB_4/projects/xilofono/src/midi.c</file>
</group>
</open-files>
</project-private>