I have an array of 128 21 byte records. About a year ago I raised an issue where because of an extra \0 inserted by SDCC, making the records 22 byte, the array addressing didn't work because it thought the records were still 21 byte. I have recently come back to the project and this appears to have been fixed in more recent versions, however symptoms tend to suggest that array addressing is only calculated using single-byte maths. Thus after the 12th (12*21=252, but 13*21>255) record, the wrong address is generated.
I should be able to go:
However, instead, to make it work I have to go:
(where MIDI_I_Ptr is the base address of MIDI_Instrument)
Please let me know if possibly I'm doing something else wrong, but I'm pretty sure this is a bug.
Log in to post a comment.