MSX bios interrupthandler

Страница 3/6
1 | 2 | | 4 | 5 | 6

By anonymous

incognito ergo sum (116)

Аватар пользователя anonymous

13-03-2014, 11:55

Daemos wrote:
Quote:

I always wondered whether there is a way to have a modded bios interrupt.

yes there is. Copy the content of the BIOS somewhere in ram. Change whatever you like to change. Get rid of the BIOS on page0 and use the new data you have from the ram

...................... I am speechless

By anonymous

incognito ergo sum (116)

Аватар пользователя anonymous

13-03-2014, 11:56

Grauw wrote:

MSX-MIDI only gives interrupts when it is enabled / configured and actually receiving bytes (at a rate of 3125 bytes / sec). And when it does, it’s not enough to hang the system.

Tell that to Remco Schrijvers Wink

By Daemos

Paragon (1948)

Аватар пользователя Daemos

13-03-2014, 11:59

Nope no flaming Wink

Proper education is quite difficult for this subject. I am doing what I can. I do admit that I am learning the stuff quite the other way around. Got trown into some huge project and lets see what happens on the way. When things get really nasty they actually do. Conclusion. I agree with you guyver. In the future different steps and approaches need to be taken to do things right from my side concerning development.

By Daemos

Paragon (1948)

Аватар пользователя Daemos

13-03-2014, 12:01

Quote:

...................... I am speechless

creativity can go beyond far boundaries. Sometimes with bad results. Sometimes with very good results. We must not stick to 1 plan. This is just what I tried with success.

By anonymous

incognito ergo sum (116)

Аватар пользователя anonymous

13-03-2014, 12:08

You obviously have the time, desire and drive to make big and detailed MSX games. I just want to see you get your current project finished in a timely manner, and give you the foundation to move on to do other great things!

I don't want to see you burning out and then only making vapourware. No offense to norakomi, but that's what happened to him. Crying

As for your BIOS suggestion, that's an incredibly ugly hack and will only work kind of, but not even really, on your exact MSX model... It's not compatible with anything in any way.

By Daemos

Paragon (1948)

Аватар пользователя Daemos

13-03-2014, 12:51

Quote:

As for your BIOS suggestion, that's an incredibly ugly hack and will only work kind of, but not even really, on your exact MSX model... It's not compatible with anything in any way.

yes I agree. I would have pressed the delete post button if it exsisted. Later on I thought. No no no this works for you but you will propably get the same crap as you have with your current project but it was too late...

Quote:

You obviously have the time, desire and drive to make big and detailed MSX games. I just want to see you get your current project finished in a timely manner, and give you the foundation to move on to do other great things!

I don't want to see you burning out and then only making vapourware. No offense to norakomi, but that's what happened to him.

Fortunatly my silly stubborness has an extra added feature. Finish what I have started. The project will be finished. That is my promise to not only myself but also to the people waiting for it. But I do agree with you 100%: norakomi warned me about some things at start and he was right later on. Things got really really nasty on the way. I had to spend hours in rewriting and debugging code and nights got long and boring.

I have been warned again by another member of this forum but this time I got smarter and took his advice. This fixed alot of "magical" problems. Now I am warned again so I am listening Smile

Proper education is a must. I need some things sorted out then get on with that. i need to learn a few good things about the MSX standard which I know workaround with nasty ugly hacks.

By anonymous

incognito ergo sum (116)

Аватар пользователя anonymous

13-03-2014, 12:53

good Smile

By Grauw

Ascended (9817)

Аватар пользователя Grauw

13-03-2014, 14:42

GuyveR800 wrote:
Grauw wrote:

MSX-MIDI only gives interrupts when it is enabled / configured and actually receiving bytes (at a rate of 3125 bytes / sec). And when it does, it’s not enough to hang the system.

Tell that to Remco Schrijvers Wink

Actually if you had said that to me a couple of years ago, I could have! Smile I worked with him for a while at my previous company. We never really talked much though.

Anyway, I implemented both MSX-MIDI and Philips MIDI support in Synthesix, and it works fine even at full data rate. I do use a custom IM2 interrupt to reduce the overhead from pushing/popping in the standard ISR, but I do that because the 8251 doesn’t have a buffer and I would sometimes not be able to read a byte in time before the next arrived. But when I was running it from the hook, though it was quite heavy on the system, it didn’t get to the point of the system getting starved.

Also if I do the numbers, 60.000 cycles per interrupt, minus 10.000 for the turboR vblank handler, that leaves around 1000 cycles to receive each byte at a rate of 52 bytes / interrupt. Interrupt overhead is in the order of 500 cycles on turboR, so 500 cycles remaining to read the byte and write it to a buffer. Should be plenty.

Either way, MSX-MIDI won’t magically enable itself and start firing incoming byte interrupts, so it can’t be the source of Daemos’s problems.

Looking at the disassembled BIOS interrupt routine can be very educational to have more understanding about precisely what’s going on. E.g. what the deal is exactly with those MIDI hooks on turboR. How much time the interrupt handler takes. Also I found that if I don’t preserve AF in a H.TIMI hook, STATFL won’t be written with the correct value. That’s not documented in either the MSX2 technical handbook or my “MSX-Handboek voor gevorderden” that I often refer to…

@Daemos I watched Manuel’s video, your project looks super impressive Smile. If I’d recommend anything it is: don’t do weird stuff like calling into undocumented addresses, or manually copying the BIOS ROM to RAM, etc. That’s recipe for problems. I’ll definitely keep an eye on the progress, and will try to offer technical feedback if you need it.

By anonymous

incognito ergo sum (116)

Аватар пользователя anonymous

13-03-2014, 15:25

A lot of documentation is indeed lacking. The MSX Handboek voor Gevorderden, as valuable a resource (for dutch people) as it is, even has a chapter on the slot system that is complete rubbish. Also sometimes you'll find that japanese documentation does have a certain detail, or the original documentation has a slightly unclear or obscure description, which (apparently) caused subsequent documentation writers to ignore it.

TNI hasn't stood still for the last few years and we've uncovered a wealth of information with regards to the MSX system and the proper way things are supposed to work. Some of our discoveries have already made emulators more accurate (and we're going even further with this in pseudoMSX).

By Grauw

Ascended (9817)

Аватар пользователя Grauw

13-03-2014, 16:24

Yeah I’ve found and pen-corrected several errors in “MSX Handboek voor Gevorderden”, also the secondary slot selection parts Smile. And it of course only contains information about the MSX1.

Still, indeed it is still a valuable resource and I use it quite a lot… There’s also some convenience factor about just being able to pick up a book.

Страница 3/6
1 | 2 | | 4 | 5 | 6