summaryrefslogtreecommitdiffstats
path: root/Graphic_Equalizer/src/display.hcc
diff options
context:
space:
mode:
Diffstat (limited to 'Graphic_Equalizer/src/display.hcc')
-rw-r--r--Graphic_Equalizer/src/display.hcc83
1 files changed, 30 insertions, 53 deletions
diff --git a/Graphic_Equalizer/src/display.hcc b/Graphic_Equalizer/src/display.hcc
index 5a84d77..e3a1d6e 100644
--- a/Graphic_Equalizer/src/display.hcc
+++ b/Graphic_Equalizer/src/display.hcc
@@ -51,16 +51,17 @@ chan unsigned 1 maskupdate_notification;
/*
*/
-static rom unsigned 20 address_offsets[32] = {
- ADDRESS_SKIN_START,
- ADDRESS_HELP_START,
- ADDRESS_GRAPH_START,
+static rom unsigned 20 images[32] = {
ADDRESS_ABOUT_TOP_FONTYS_START,
ADDRESS_ABOUT_TOP_TASS_START,
ADDRESS_ABOUT_TOP_TRANSFER_START,
ADDRESS_ABOUT_TOP_CELOXICA_START,
ADDRESS_ABOUT_TOP_DETAILS_START,
- ADDRESS_ABOUT_BOTTOM_START
+ ADDRESS_ABOUT_BOTTOM_START,
+ ADDRESS_SKIN_START,
+ ADDRESS_HELP_START,
+ ADDRESS_HELP_START,
+ ADDRESS_GRAPH_START
};
@@ -97,7 +98,6 @@ void display_main(skindata_t *skindata, audiodata_t *audiodata, events_t *events
unsigned AW addresses[32];
unsigned DW pixeldata;
unsigned 24 visual_graph_color;
- unsigned AW address_offset;
unsigned 5 address_index;
@@ -118,7 +118,7 @@ void display_main(skindata_t *skindata, audiodata_t *audiodata, events_t *events
/*
* Prime Rendering Pipeline to start where the skin starts.
*/
- PalPL2RAMSetReadAddress(RAM_BANK0, ADDRESS_SKIN_START);
+ PalPL2RAMSetReadAddress(RAM_BANK0, images[events->image]);
/*
* Run the following tasks indefinatly and in parallel
@@ -132,36 +132,14 @@ void display_main(skindata_t *skindata, audiodata_t *audiodata, events_t *events
* for the next cycle.
*/
PalPL2RAMRead(RAM_BANK0, &pixeldata);
- PalPL2RAMSetReadAddress(RAM_BANK0, (MODE_GRAPH == events->mode) ? (address_offset +(0 @ (addresses[address_index] \\ 2))) : (address_offset +addresses[address_index]));
+ PalPL2RAMSetReadAddress(RAM_BANK0, (IMAGE_GRAPH == events->image) ? (images[events->image] +(0 @ (addresses[address_index] \\ 2))) : (images[events->image] +addresses[address_index]));
- /*
- */
- switch (events->mode) {
- case MODE_SKIN:
- address_offset = address_offsets[OFFSET_ADDRESS_SKIN];
- break;
- case MODE_GRAPH:
- address_offset = address_offsets[OFFSET_ADDRESS_GRAPHMASK];
- break;
- case MODE_ABOUT:
- address_offset = address_offsets[OFFSET_ADDRESS_HELP];
- break;
- case MODE_HELP:
- address_offset = address_offsets[OFFSET_ADDRESS_HELP];
- break;
- case MODE_ABOUT_BUSY:
- address_offset = address_offsets[events->address_offset_index];
- break;
- default:
- delay;
- break;
- }
- if (MODE_GRAPH == events->mode) {
+ if (IMAGE_GRAPH == events->image) {
par {
switch (addresses[MASK_AREA_BACKGROUND] <- 2) {
case 3:
- visual_graph_color = ((unsigned 8)(0 @ audiodata->fft_info.read[MASK]) << 1) @ ((unsigned 8)(0 @ audiodata->fft_info.read[MASK]) << -1) @ ((unsigned 8)(0 @ audiodata->fft_info.read[MASK]) << 0);
+ visual_graph_color = ((unsigned 8)(0 @ audiodata->fft_info.read[pixeldata[31:24]]) << 1) @ ((unsigned 8)(0 @ audiodata->fft_info.read[pixeldata[31:24]]) << -1) @ ((unsigned 8)(0 @ audiodata->fft_info.read[pixeldata[31:24]]) << 0);
break;
case 0:
visual_graph_color = ((unsigned 8)(0 @ audiodata->fft_info.read[pixeldata[23:16]]) << 1) @ ((unsigned 8)(0 @ audiodata->fft_info.read[pixeldata[23:16]]) << -1) @ ((unsigned 8)(0 @ audiodata->fft_info.read[pixeldata[23:16]]) << 0);
@@ -202,9 +180,10 @@ void display_main(skindata_t *skindata, audiodata_t *audiodata, events_t *events
*/
case AREA_VOLUME_YAXIS:
/*
- * The volume_position stores the
- * highest point of our bar. Every
- * pixel after this point is drawn.
+ * The volume_position stores
+ * the highest point of our
+ * bar. Every pixel after this
+ * point is drawn.
*/
if (SCANY >= 0 @ events->volume_position) {
PalVideoOutWrite(VIDEOOUT, skindata->volume.color_primary);
@@ -214,13 +193,14 @@ void display_main(skindata_t *skindata, audiodata_t *audiodata, events_t *events
break;
/*
- * Volume control over the Y-axis.
+ * Inputgain control over the Y-axis.
*/
case AREA_INPUTGAIN_YAXIS:
/*
- * The volume_position stores the
- * highest point of our bar. Every
- * pixel after this point is drawn.
+ * The inputgain_position
+ * stores the highest point of
+ * our bar. Every pixel after
+ * this point is drawn.
*/
if (SCANY >= 0 @ events->inputgain_position) {
PalVideoOutWrite(VIDEOOUT, skindata->inputgain.color_primary);
@@ -292,21 +272,19 @@ void display_main(skindata_t *skindata, audiodata_t *audiodata, events_t *events
break;
case BUTTON_HELP:
- draw_button(events->mode == MODE_HELP);
+ draw_button(events->image == IMAGE_HELP);
break;
case BUTTON_ABOUT:
- draw_button(events->mode == MODE_ABOUT);
+ draw_button(events->image == IMAGE_ABOUT);
break;
case AREA_ABOUT_TOP:
- if (MODE_ABOUT == events->mode) {
+ if (IMAGE_ABOUT == events->image) {
par {
- events->mode = MODE_ABOUT_BUSY;
+ events->image = events->image_about;
address_index = MASK_AREA_ABOUT_TOP;
- address_offset = address_offsets[events->address_offset_index];
PalVideoOutWrite(VIDEOOUT, PIXEL);
}
-
} else {
PalVideoOutWrite(VIDEOOUT, PIXEL);
}
@@ -318,24 +296,23 @@ void display_main(skindata_t *skindata, audiodata_t *audiodata, events_t *events
case BUTTON_URL_CELOXICA: /* fall through */
case BUTTON_URL_DETAILS: /* fall through */
case AREA_ABOUT_BOTTOM:
- if (MODE_ABOUT == events->mode) {
+ if (IMAGE_ABOUT == events->image) {
par {
- events->mode = MODE_ABOUT_BUSY;
+ events->image = IMAGE_ABOUT_BOTTOM;
address_index = MASK_AREA_ABOUT_BOTTOM;
- address_offset = address_offsets[OFFSET_ADDRESS_ABOUT_TOP_CELOXICA /* OFFSET_ADDRESS_ABOUT_BOTTOM */];
PalVideoOutWrite(VIDEOOUT, PIXEL);
}
} else {
- PalVideoOutWrite(VIDEOOUT, PIXEL);
+ PalVideoOutWrite(VIDEOOUT, PIXEL);
}
break;
case AREA_MASK_END:
- if (MODE_ABOUT_BUSY == events->mode) {
+ /* (IMAGE_ABOUT_TOP_FONTYS <= events->image) && (events->image <= IMAGE_ABOUT_BOTTOM)*/
+ if ((events->image <= IMAGE_ABOUT_BOTTOM) || (IMAGE_ABOUT == events->image)) {
par {
- events->mode = MODE_ABOUT;
+ events->image = IMAGE_ABOUT;
address_index = MASK_AREA_BACKGROUND;
- address_offset = address_offsets[OFFSET_ADDRESS_HELP];
PalVideoOutWrite(VIDEOOUT, PIXEL);
}
} else {
@@ -354,7 +331,7 @@ void display_main(skindata_t *skindata, audiodata_t *audiodata, events_t *events
* background.
*/
default:
- /* (MASK <= AREA_EQUALIZER_MAX) && */
+ /* (MASK <= AREA_EQUALIZER_MAX) && (AREA_EQUALIZER_MIN <= MASK) */
if ((AREA_EQUALIZER_MIN <= MASK) && (!events->locked_display)) {
if ((SCANY == 0 @ events->equalizer_display[(MASK -AREA_EQUALIZER_MIN) <- 7]) || ((SCANY +1) == 0 @ events->equalizer_display[(MASK -AREA_EQUALIZER_MIN) <- 7])) {
PalVideoOutWrite(VIDEOOUT, skindata->equalizer.color_primary);