"Now Loading"-animations (Development Foros MSX)MSX Resource Center            
                       
English Nederlands Espa�ol Portugu�s Russian                  
 Noticias
   Página principal
  Almacén de noticias
  Temas de noticias

 Recursos
   Foros MSX
  Artículos
  Analisis
  Informe de ferias/RUs
  Álbum de fotos
  Ferias y encuentros
  Encuestas
  Enlaces
  Buscar

 Software
   Descargas
  Tienda Online

 MRC
   Quiénes somos
  Únete a nuestro equipo
  Donar
  Políticas
  Contacta con nosotros
  Enlázanos
  Estadísticas

 Buscar
 
  

  

 Login
 

Login

Contraseña




¿Aún no tienes una cuenta? ¡Conviértete en miembro del MSX Resource Center! ¡Únete a nosotros!.


 Estadísticas
 

Hay 52 invitados y 1 miembro en línea

Eres un usuario anónimo.
 

Foros MSX


Foros MSX

Development - "Now Loading"-animations

Ir a la página ( 1 | 2 | 3 Siguiente página )
Autor

"Now Loading"-animations

Mirg
msx lover
Mensajes: 84
Publicado: Octubre 26 2005, 13:31   
I've done more homework, and I've managed to write a parallax starfield using the same principles as the stars.asm example on Funet. I didn't copy any code from it, and I even had the file closed while coding my own program. I know it's nothing really important yet, but I learned a lot from coding it. (Like screen 5's sprite table adresses in the V9938 Technical Databook not matching the actual MSX adresses, grumble..)

For those who don't know stars.asm: My program displays a black screen 5 with 30 sprites on it. They're divided in three groups and every group has a different horizontal speed, giving it a parallax feel. To update the sprite-locations smoothly, a hook is set on FD9F. The hook calculates new sprite positions and when finished writes them to the sprite attribute table in VRAM.

I have a question, though. As the starfield animation is completely handled by the hook, is it possible to let that animation run smoothly during diskaccess? For example, can I use the starfield (or another hook-handled animation) as a "loading screen" while loading images to other pages in VRAM?
ARTRAG
msx master
Mensajes: 1802
Publicado: Octubre 26 2005, 13:37   
I don't know... and actually i think NO unless you do go to phisical disk I/O
and wite your own bios for disk acess that includes tha nimations

A very limited animation can be done using the programmable page seap of the VDP
but you have only two alternate pages....

AuroraMSX

msx master
Mensajes: 1277
Publicado: Octubre 26 2005, 13:44   
Quote:

is it possible to let that animation run smoothly during diskaccess?


Loading even one sector from disk takes a rnd(-time) amount of time, during which interrupts will be disabled. As long as interrupts are disabled, the hook at FD9F is not called and your animation will stand still. So the answer is NO even if you do physical disk I/O.
turbor
msx freak
Mensajes: 181
Publicado: Octubre 26 2005, 13:45   
Not if you want smooth animation, this is because the diskbios routines dissable the interrupt.
It will move a bit from time to time but certainly not enough to have a smooth loading screen.

Latok
msx master
Mensajes: 1735
Publicado: Octubre 26 2005, 14:10   
And here we have the power of the Commodore Amiga. That machine was able to do such things at the same time.
MrRudi
msx addict
Mensajes: 467
Publicado: Octubre 26 2005, 14:14   
Yeah...lack of loading animations sucks.
Even the very minor soundloop and blinking dot in Unknown Reality was really cool...so I guess we're not really spoiled
snout

msx legend
Mensajes: 4995
Publicado: Octubre 26 2005, 14:15   
The samples in FDD#2 were nice as well

btw: Latok, if you want to get banned from MRC just say so ^_^

ahum
Latok
msx master
Mensajes: 1735
Publicado: Octubre 26 2005, 14:21   


You can load a sample into the sampleram of the musicmodule and play that while loading, by the way ^_^
msd
msx professional
Mensajes: 625
Publicado: Octubre 26 2005, 14:31   
You can do it with IDE or SCSI. With the normal disk bios the interrupt is disabled for a long time
Mirg
msx lover
Mensajes: 84
Publicado: Octubre 26 2005, 15:03   
Ah, right. I didn't know diskaccess requires disabled interrupts. Too bad.

Ah well, at least something like a loading bar or something like that is still possible if I cut up the loading process in blocks. Inbetween the blocks, I could reenable interrupts, wait for a vblank, disable and resume to update one step of the hook, right?

Stuff like the starfield won't be possible, as cutting up the process in too many blocks would only stretch the loading times to the point where most users go "Right, that's enough, I'll go play something else", heh.

A ten-frame loading animation should be a fun thing to figure out as my next "project".

edit: Hmm, the reanabling / waiting for vblank / redisabling-thing should better be replaced by a simple CALL I guess.
Sonic_aka_T

msx guru
Mensajes: 2269
Publicado: Octubre 26 2005, 15:21   
You wouldn't have to do that, actually... Just leave your animation on the interrupt, and just normal loading would have it called irregularly... It would prolly look kind of like the windoze 'progress' bar...
tfh
msx addict
Mensajes: 496
Publicado: Octubre 26 2005, 15:23   
@Latok: Yes! The architecture of the Amiga was great
@Snout: Yup.. Those samples were nice We prefered to use both FMPAC (for the in-demo-music) and a Music Module (for the samples) to watch the demo
@Latok: That is exactly what we did with FDD#2. Samples from the Music Module during the time to load the next demo. Never checked that? Tsssss!

FDD #2 rulez! (And so does FDD#1 )
BiFi
msx guru
Mensajes: 3142
Publicado: Octubre 26 2005, 16:20   
well, actually... you CAN do animations while loading... be it limited ones. The VDP has the R#13 register which is capable to display an odd page and the connecting even page alternately: 0-1 and 2-3.
NYYRIKKI
msx master
Mensajes: 1533
Publicado: Octubre 26 2005, 16:21   
*This is revisited version of one of my earlyer posts*

Yes, it is possible to play music and display animation during loading... NOP has actually even made a program, that played a full screen movie with sounds during loading it from disk. See: ftp://ftp.funet.fi/pub/msx/demos/NOP/traxplayer-songs/ and ftp://ftp.funet.fi/pub/msx/demos/NOP/realmotion/

The problem is anyway, that you can not make diskloader so, that it would be done according to MSX standard. This means, that the loader will only work on some MSX models.

If you play by the rules, the options are very limited... If you want just something, you can make Zoids kind of soundeffect like this:
10 SOUND 0,255:SOUND1,255:SOUND 12,15:SOUND13,14:SOUND 8,16


...or you can use VDP registers 12 & 13 to make 2 frame animation.
... or you can use ADPCM sample of MSX-Audio if you have one.

Anything more complex is almost impossible.

With cassette it is a whole different story... Cassette interface is standard on every MSX,
so you can do pretty much anything you like to, but you have to be very carefull to get the
timing right. Unfortunately I don't know any good examples for MSX, but for example Ghost
busters on C64 allowed you to play Space Inviders during loading of the actual game. There
is no reason why this could not be done on MSX as well.

I think the reason, why MSX did not have this kind of loaders was, that routines on MSX BIOS
were too good and there was no need to rewrite them unlike in C64, where the original
cassette routines sucked a big time! (They were horribly slow and even very unreliable)
Here is a simple example, how to use cassettes in new way! This example is not a loader, but
it should be otherways funny

- Make following kind of loader routine on BASIC:


10 A$="F3160701A27F210000DBAAA0045F3E0ED3A0ED78A0B3D3AA2B7CB520F51520F2C9"
20 FOR I=0 TO &H20:POKE&HC000+I,VAL("&H"+MID$(A$,I*2+1,2)):NEXT
30 DEFUSR=&HC000
40 MOTOR ON:A=USR(0):MOTOR OFF
50 BLOAD"CAS:NEXT",R

- Now save this routine to cassette...

- Take cassette out and place it to your music recorder

- Adjust microphone input very much louder, than you normally do

- Press record and say something like "Now loading XYZ made by XXX... Please wait"

- Stop recorder and place your cassette back to MSX cassette drive.

- Now record the actual game (In this example "NEXT" )

When you load the game, you should hear the explanation (about 10sec) before the game loads.

Only problem after makeing your loader is, how to copy it to your friends, and how in earth you get anyone to load a game from cassette in 2005 :-9


BiFi
msx guru
Mensajes: 3142
Publicado: Octubre 26 2005, 16:25   
Quote:

blinking dot in Unknown Reality

What blining dot? I must have missed it then. AFAIK what you see is the LOADING, DECRUNCHING and READY popping up beneath the NOP text in the upper right corner when the demo is loading, decrunching or ready to continue.
 
Ir a la página ( 1 | 2 | 3 Siguiente página )
 







(c) 1994 - 2009 Fundación MSX Resource Center. MSX es una marca registrada de MSX Licensing Corporation