why it is not possible?

Page 3/3
1 | 2 |

By NYYRIKKI

Enlighted (5918)

NYYRIKKI's picture

31-01-2017, 00:52

I believe that we would have seen much more tricks done while disk is loading if MSX would be a device from one manufacturer and not a standard... Now we have many floppy drive controllers from different manufacturers that connect to MSX in different ways and on top of that we have all other kind of mass storage devices... Recognizing correct setup & controlling each one directly is just way too big task to handle... Especially when the "bonus" you can get varies a lot and is generally rather small... Therefore we are pretty much limited to what ROM-routines can offer... Few copy programs and SymbOS are the only ones who have tried to really solve this ROM dependency.

By meits

Scribe (6491)

meits's picture

31-01-2017, 02:05

The disk magazine DISK which we did in the 90s was done on the text routine of Emphasys' Golder Power Disk.
Technical genius Michel Shuqair did something which might be a start (or as far as it gets) to playing Moonblaster music while loading. It works on turbo R, but it wasn't a coincident that this option was called (and I quote the original makers) A.S.T.M.A. music-while-loading on Turbo R.

If anyone is interrested, be my guest and hack into it and see how it's done and maybe it can be improved with modern knowledge and techniques (I do have the wbass2 sources, but I rather not share them as I am not the author and have no asm knowledge to paste the needed code)

By hit9918

Prophet (2921)

hit9918's picture

31-01-2017, 05:17

Quote:

You are telling me that the cpu must synchronize reads at the correct speed via kind of polling.
what a sadness.....
that what i define a very stupid controller!

where should the controller load to, the MSX slot has no DMA.
the first thing is lack of device RAM on the cartridge.
then take a controller with DMA to load that device RAM. when done it signals a transfer-finished-interrupt.
meanwhile the cpu can do something else. it is as good as an amiga disk dma, full multitasking.

it is the right thing that the MSX has no DMA because every DMA channel would need its own slot gear!
for the cpu to do something else in parallel, general purpose without quirk, it must be allowed to flip all pages as usual.
then the dma controller would need its own slot gear. 4 DMA channels, need 4 ppi and 4 subslot registers in every expander? Tongue
while software DMA can have a dozen channels. it is native to the MSX arch.
"software DMA spec":
interrupt
device RAM

the moonsound has all the spec but cracks when loading the device RAM.
how to give an example of software DMA when the top of the line cartridge fails the spec.
the good old tms 9918 can do it.
it can play a video in a sprite. "sprite video overlay DMA" Smile
it doesnt matter that it is only a little thumbnail, it doesnt matter that there is no real DMA controller, what matters is that the tidy multitasking is delivered for real.
not in a painful demo code but easily in a game.

Page 3/3
1 | 2 |