diff options
Diffstat (limited to 'Graphic_Equalizer/src/smartmedia.hcc')
-rw-r--r-- | Graphic_Equalizer/src/smartmedia.hcc | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/Graphic_Equalizer/src/smartmedia.hcc b/Graphic_Equalizer/src/smartmedia.hcc index 78682ba..5c547cc 100644 --- a/Graphic_Equalizer/src/smartmedia.hcc +++ b/Graphic_Equalizer/src/smartmedia.hcc @@ -77,6 +77,7 @@ macro proc smartmedia_loaddata(RAM_BANK0) { macro expr DW = PalPL2RAMGetMaxDataWidthCT();
macro expr AW = PalPL2RAMGetMaxAddressWidthCT();
+ unsigned DW data;
unsigned 27 smartmedia_address, smartmedia_address_mask;
unsigned AW address;
unsigned 8 mask, r, g, b;
@@ -141,26 +142,25 @@ macro proc smartmedia_loaddata(RAM_BANK0) { RC200SmartMediaSetAddress(READ, smartmedia_address_mask);
RC200SmartMediaRead(&mask, TRUE);
RC200SmartMediaOperationEnd(&result);
+
+ data = 0 @ mask @ r @ g @ b;
#else
- mask = 0x01;
- r = 0xff;
- g = 0x0f;
- b = 0x00;
+ data = 0xff000f00;
#endif
/*
* Now that we have gathered all pixel data, store it in ram.
*/
- PalPL2RAMWrite(RAM_BANK0, (unsigned DW)(0 @ mask @ r @ g @ b));
+ PalPL2RAMWrite(RAM_BANK0, data);
#if HAVE_DEBUG
/*
* Print some nice stats about data loading.
*/
- if (!address[12:0]) {
+ if (!address[11:0]) {
print_cr();
- print_hex_value(0 @ address[19:13]);
- print_string(" / 00000064 | data: ");
- print_hex_value(0 @ mask @ r @ g @ b);
+ print_hex_value(0 @ (address \\ 12));
+ print_string(" / 00000096 | data: ");
+ print_hex_value(data <- 32);
}
#endif
@@ -169,6 +169,5 @@ macro proc smartmedia_loaddata(RAM_BANK0) { */
smartmedia_address += 3;
smartmedia_address_mask++;
-
}
} /* --- smartmedia_loaddata() --- */
|