summaryrefslogtreecommitdiffstats
path: root/Graphic_Equalizer/src/smartmedia.hcc
diff options
context:
space:
mode:
authorOliver Schinagl <oliver@schinagl.nl>2004-12-08 12:22:34 (GMT)
committerOliver Schinagl <oliver@schinagl.nl>2004-12-08 12:22:34 (GMT)
commit06672b2893a1abbb90c0aba5de547cb5ba8c02e0 (patch)
tree6506096511e897616218954d8e59d86e2d47be63 /Graphic_Equalizer/src/smartmedia.hcc
parent6f6bef0410b3cdb328220c46e63c70940daffb6e (diff)
downloadTASS-06672b2893a1abbb90c0aba5de547cb5ba8c02e0.zip
TASS-06672b2893a1abbb90c0aba5de547cb5ba8c02e0.tar.gz
TASS-06672b2893a1abbb90c0aba5de547cb5ba8c02e0.tar.bz2
We now use a BlockRam to store Equalizer 'factory' defaults.
Added various stages for the loader to perform different tasks during each stage.
Diffstat (limited to 'Graphic_Equalizer/src/smartmedia.hcc')
-rw-r--r--Graphic_Equalizer/src/smartmedia.hcc62
1 files changed, 31 insertions, 31 deletions
diff --git a/Graphic_Equalizer/src/smartmedia.hcc b/Graphic_Equalizer/src/smartmedia.hcc
index 757cc17..ff405c1 100644
--- a/Graphic_Equalizer/src/smartmedia.hcc
+++ b/Graphic_Equalizer/src/smartmedia.hcc
@@ -24,6 +24,7 @@
/******** Application Includes ********/
#include "configuration.hch"
#include "display_shared.hch"
+#include "smartmedia_shared.hch"
#include "smartmedia.hch"
#if HAVE_DEBUG
@@ -83,6 +84,8 @@ void smartmedia_loaddata(skindata_t *skindata) {
unsigned 3 stage;
unsigned 1 result;
+ extern ram unsigned 8 presets_default_values[768];
+
#if HAVE_DEBUG
/*
* Print some nice stats about data loading.
@@ -106,32 +109,36 @@ void smartmedia_loaddata(skindata_t *skindata) {
* Once we are done with the loading of our skin, we need to
* change the smartmedia start addresses.
*/
- if (ADDRESS_HELP_START == address) {
- smartmedia_address = SMARTMEDIA_ADDRESS_HELP_START;
- smartmedia_address_mask = SMARTMEDIA_ADDRESS_HELPMASK_START;
- stage = STAGE_LOAD_HELP;
- }
- if (ADDRESS_GRAPHMASK_START == address) {
- smartmedia_address_mask = SMARTMEDIA_ADDRESS_GRAPHMASK_START;
- stage = STAGE_LOAD_GRAPH;
- }
- if (ADDRESS_PRESET_DEMO_START == address) {
- smartmedia_address_mask = SMARTMEDIA_ADDRESS_PRESET_DEMO_START;
- stage = STAGE_LOAD_PRESET;
+ switch (address) {
+ case ADDRESS_HELP_START:
+ smartmedia_address = SMARTMEDIA_ADDRESS_HELP_START;
+ smartmedia_address_mask = SMARTMEDIA_ADDRESS_HELPMASK_START;
+ stage = STAGE_LOAD_HELP;
+ break;
+ case ADDRESS_GRAPHMASK_START:
+ smartmedia_address_mask = SMARTMEDIA_ADDRESS_GRAPHMASK_START;
+ stage = STAGE_LOAD_GRAPH;
+ break;
+ case ADDRESS_PRESET_DEMO_START:
+ smartmedia_address_mask = SMARTMEDIA_ADDRESS_PRESET_DEMO_START;
+ stage = STAGE_LOAD_PRESET;
+ break;
+ case ADDRESS_PRESET_RESET_START:
+ smartmedia_address_mask = SMARTMEDIA_ADDRESS_PRESET_RESET_START;
+ stage = STAGE_LOAD_PRESET;
+ break;
+ default:
+ break;
}
/*
* Before reading our data from the smartmedia we set our
* address pointer to the address from our loop.
*/
-#if SKIP_LOAD
- if (STAGE_LOAD_PRESET == stage) {
- PalPL2RAMSetWriteAddress(RAM_BANK0, address);
- } else {
- PalPL2RAMSetWriteAddress(RAM_BANK0, 0);
- }
-#else
+#if HAVE_SMARTMEDIA
PalPL2RAMSetWriteAddress(RAM_BANK0, address);
+#else
+ PalPL2RAMSetWriteAddress(RAM_BANK0, 0);
#endif
/*
@@ -146,7 +153,6 @@ void smartmedia_loaddata(skindata_t *skindata) {
* stop reading after each byte with OperationEnd call. This is
* VERY slow and must be changed.
*/
- #if !USE_MASK_ONLY
if ((STAGE_LOAD_SKIN == stage) || (STAGE_LOAD_HELP == stage)) {
RC200SmartMediaSetAddress(READ, smartmedia_address);
RC200SmartMediaRead(&r, TRUE);
@@ -158,7 +164,6 @@ void smartmedia_loaddata(skindata_t *skindata) {
RC200SmartMediaRead(&b, TRUE);
RC200SmartMediaOperationEnd(&result);
}
- #endif
RC200SmartMediaSetAddress(READ, smartmedia_address_mask);
RC200SmartMediaRead(&mask, TRUE);
RC200SmartMediaOperationEnd(&result);
@@ -174,16 +179,11 @@ void smartmedia_loaddata(skindata_t *skindata) {
data = (unsigned DW)(0 @ mask) << 24;
break;
case STAGE_LOAD_PRESET:
- data = 0 @ mask;
- break;
+ presets_default_values[(address -ADDRESS_PRESET_DEMO_START) <- 10] = mask;
}
#else
- if (STAGE_LOAD_PRESET == stage) {
- data = (address <- 1) ? 0x000000ff : 0x00000000;
- } else {
- data = 0x0000ff00;
- }
+ data = 0x0000ff00;
#endif
/*
* Now that we have gathered all pixel data, store it in ram.
@@ -194,10 +194,10 @@ void smartmedia_loaddata(skindata_t *skindata) {
/*
* Print some nice stats about data loading.
*/
- if (!(address <- 11)) {
+ if (!(address <- 10)) {
print_cr();
- print_hex_value(0 @ (address \\ 12));
- print_string(" / 000000E1 | data: ");
+ print_hex_value(0 @ (address \\ 11));
+ print_string(" / 000001C2 | data: ");
print_hex_value(data <- 32);
}
#endif