/[projet1]/public/oric/demos/SlideShowDemo/code/main.c
Defence Force logotype

Annotation of /public/oric/demos/SlideShowDemo/code/main.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1038 - (hide annotations)
Tue Dec 17 21:24:32 2013 UTC (6 years, 1 month ago) by dbug
File MIME type: text/plain
File size: 2680 byte(s)
FloppyBuilder 0.10
- The compression code now generates correct data (it was using the Atari ST mode encoding, making the unpacking code not happy)
- Added to the report file the occupation ratio of the floppy (by maintaining an internal list of used sectors also used to check if there's no overlap)
The loader code is now able to decompress data on the fly just using the page 2 as a temporary sector loader.
1 dbug 1015 //
2     // This program simply display a picture on the hires screen
3     //
4     #include <lib.h>
5    
6     #include "floppy_description.h"
7    
8     // irq.s
9     extern void System_InstallIRQ_SimpleVbl();
10     extern void VSync();
11 dbug 1038 extern void Stop();
12 dbug 1015
13     // player.s
14     extern unsigned char MusicLooped;
15     extern Mym_Initialize();
16     extern Mym_ReInitialize();
17    
18 dbug 1024 // transitions.s
19     extern unsigned char PictureLoadBuffer[];
20     extern void PictureTransitionFromTopAndBottom();
21    
22     // scroller.s
23     extern unsigned char FontBuffer[];
24    
25    
26 dbug 1015 // loader_api.s
27     extern unsigned char LoaderApiEntryIndex;
28 dbug 1024 extern unsigned char LoaderApiAddressLow;
29     extern unsigned char LoaderApiAddressHigh;
30     extern void* LoaderApiAddress;
31    
32     extern void SetLoadAddress();
33 dbug 1015 extern void LoadFile();
34    
35     void Pause()
36     {
37     int i;
38     for (i=0;i<50*5;i++)
39     {
40     VSync();
41     }
42     }
43    
44     extern void Player_SetMusic_Birthday();
45    
46     unsigned char CurrentMusic=LOADER_FIRST_MUSIC;
47    
48     void main()
49     {
50     int y;
51     if (!is_overlay_enabled())
52     {
53     hires();
54     }
55     MusicLooped=1;
56    
57     System_InstallIRQ_SimpleVbl();
58 dbug 1024
59     // Load and play the music
60 dbug 1038 LoaderApiEntryIndex=LOADER_FIRST_MUSIC+2;
61 dbug 1019 LoadFile();
62     Mym_ReInitialize();
63 dbug 1015
64 dbug 1024 // Load the font
65     LoaderApiEntryIndex=LOADER_FONT_24x20;
66     LoaderApiAddress=FontBuffer;
67     SetLoadAddress();
68     LoadFile();
69    
70 dbug 1038 /*
71     // Test load compressed file
72     LoaderApiEntryIndex=LOADER_COMPRESSED_TEST;
73     LoaderApiAddress=PictureLoadBuffer+8;
74     SetLoadAddress();
75     LoadFile();
76    
77     PictureLoadBuffer[0]='L';
78     PictureLoadBuffer[1]='Z';
79     PictureLoadBuffer[2]='7';
80     PictureLoadBuffer[3]='7';
81     *((int*)(PictureLoadBuffer+4))=8000; // Src size
82     *((int*)(PictureLoadBuffer+6))=8000; // Dst size
83    
84     Stop();
85     file_unpack((unsigned char*)0xa000,PictureLoadBuffer);
86     */
87    
88    
89 dbug 1015 while (1)
90     {
91 dbug 1019 /*
92 dbug 1015 if (MusicLooped)
93     {
94     poke(0xbb80+40*25,16 | ((peek(0xbb80+40*25)+1)&7) );
95     //MusicPlaying=1;
96     if ( (CurrentMusic<LOADER_FIRST_MUSIC) || (CurrentMusic>=LOADER_LAST_MUSIC) )
97     {
98     CurrentMusic=LOADER_FIRST_MUSIC;
99     }
100     LoaderApiEntryIndex=CurrentMusic;
101     LoadFile();
102     Mym_ReInitialize();
103     ++CurrentMusic;
104     }
105 dbug 1019 */
106 dbug 1015
107     for (LoaderApiEntryIndex=LOADER_FIRST_PICTURE;LoaderApiEntryIndex<LOADER_LAST_PICTURE;LoaderApiEntryIndex++)
108     {
109 dbug 1024 LoaderApiAddress=PictureLoadBuffer;
110     SetLoadAddress();
111 dbug 1015 LoadFile();
112 dbug 1024
113     //memcpy((unsigned char*)0xa000,PictureLoadBuffer,8000);
114     PictureTransitionFromTopAndBottom();
115    
116 dbug 1015 Pause();
117     }
118    
119     /*
120     for (LoaderApiEntryIndex=LOADER_FIRST_MUSIC;LoaderApiEntryIndex<LOADER_LAST_MUSIC;LoaderApiEntryIndex++)
121     {
122     LoadFile();
123     Mym_Initialize();
124     //Pause();
125     }
126     */
127     VSync();
128     }
129    
130 dbug 1024 //memset((unsigned char*)0xa000,0,8000);
131 dbug 1015 }
132    
133 dbug 1024
134    
135    

  ViewVC Help
Powered by ViewVC 1.1.26