1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-09-08 17:54:40 +00:00

A bit more inlining

This commit is contained in:
jespergravgaard 2018-08-22 10:17:58 +02:00
parent 5fe09eefde
commit 2a5cdfb064
3 changed files with 780 additions and 368 deletions

View File

@ -55,20 +55,21 @@ void render_logo(signed word xpos) {
byte screen_idx; byte screen_idx;
*D016 = VIC_MCM|((byte)xpos&7); *D016 = VIC_MCM|((byte)xpos&7);
signed byte x_char = (signed byte)(xpos>>3); signed byte x_char = (signed byte)(xpos>>3);
byte line = 0;
if(xpos<0) { if(xpos<0) {
// Render right side of the logo and some spaces // Render right side of the logo and some spaces
logo_idx = (byte)(-x_char); logo_idx = (byte)(-x_char);
screen_idx = 0; screen_idx = 0;
while(logo_idx!=40) { while(logo_idx!=40) {
inline for(byte line1: 0..5) { inline for(line: 0..5) {
(SCREEN+40*line1)[screen_idx] = logo_idx+40*line1; (SCREEN+40*line)[screen_idx] = logo_idx+40*line;
} }
screen_idx++; screen_idx++;
logo_idx++; logo_idx++;
} }
while(screen_idx!=40) { while(screen_idx!=40) {
inline for(byte line2: 0..5) { inline for(line: 0..5) {
(SCREEN+40*line2)[screen_idx] = $00; (SCREEN+40*line)[screen_idx] = $00;
} }
screen_idx++; screen_idx++;
} }
@ -77,15 +78,15 @@ void render_logo(signed word xpos) {
byte logo_start = (byte)x_char; byte logo_start = (byte)x_char;
screen_idx = 0; screen_idx = 0;
while(screen_idx!=logo_start) { while(screen_idx!=logo_start) {
inline for(byte line3: 0..5) { inline for(line: 0..5) {
(SCREEN+40*line3)[screen_idx] = $00; (SCREEN+40*line)[screen_idx] = $00;
} }
screen_idx++; screen_idx++;
} }
logo_idx = 0; logo_idx = 0;
while(screen_idx!=40) { while(screen_idx!=40) {
inline for(byte line4: 0..5) { inline for(line: 0..5) {
(SCREEN+40*line4)[screen_idx] = logo_idx+40*line4; (SCREEN+40*line)[screen_idx] = logo_idx+40*line;
} }
screen_idx++; screen_idx++;
logo_idx++; logo_idx++;

File diff suppressed because it is too large Load Diff

View File

@ -260,10 +260,7 @@
(label) render_logo::@9_4 (label) render_logo::@9_4
(label) render_logo::@9_5 (label) render_logo::@9_5
(label) render_logo::@return (label) render_logo::@return
(byte) render_logo::line1 (byte) render_logo::line
(byte) render_logo::line2
(byte) render_logo::line3
(byte) render_logo::line4
(byte) render_logo::logo_idx (byte) render_logo::logo_idx
(byte) render_logo::logo_idx#10 reg byte y 60.73333333333334 (byte) render_logo::logo_idx#10 reg byte y 60.73333333333334
(byte) render_logo::logo_idx#11 reg byte y 53.86666666666667 (byte) render_logo::logo_idx#11 reg byte y 53.86666666666667