base:calculate_vic_settings_for_showing_a_koala
no way to compare when less than two revisions
Differences
This shows you the differences between two versions of the page.
— | base:calculate_vic_settings_for_showing_a_koala [2015-04-17 04:30] (current) – created - external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Generic koala shower (VIC settings calculator) ====== | ||
+ | |||
+ | ====== Do not use this code, it's just... wrong ======= | ||
+ | |||
+ | **//This is not code anyone should learn from.//** | ||
+ | |||
+ | **// | ||
+ | |||
+ | As I was fed up searching for the correct settings in $d018 and alike, I wrote a general koala source that will calculate all settings depending on the bitmap/ | ||
+ | Of course this " | ||
+ | |||
+ | Feel free to edit. | ||
+ | |||
+ | < | ||
+ | ;JTR TRIES TO CODE: GENERIC KOALA SHOWER | ||
+ | |||
+ | PIC = $6000 ; | ||
+ | SCREEN | ||
+ | |||
+ | *= $0810 | ||
+ | SEI | ||
+ | |||
+ | STA $D07A ;1MHZ on SCPU | ||
+ | |||
+ | LDX #$00 | ||
+ | LDA #>PIC | ||
+ | CMP #$40 | ||
+ | BCC CHECKED | ||
+ | INX | ||
+ | CMP #$80 | ||
+ | BCC CHECKED | ||
+ | INX | ||
+ | CMP #$C0 | ||
+ | BCC CHECKED | ||
+ | INX | ||
+ | CHECKED | ||
+ | SBC VICBANK,X | ||
+ | LDY #%00000000 | ||
+ | CMP #$00 | ||
+ | BEQ LOCCED | ||
+ | LDY #%00001000 | ||
+ | LOCCED | ||
+ | |||
+ | LDA $DD00 | ||
+ | AND ANDD,X | ||
+ | ORA ORADD,X | ||
+ | STA $DD00 | ||
+ | |||
+ | LDY #$00 | ||
+ | LDA #>SCREEN | ||
+ | SEC | ||
+ | SBC VICBANK,X | ||
+ | BEQ SCREENCHECKED | ||
+ | CHECKSON | ||
+ | SBC #$04 | ||
+ | BNE CHECKSON | ||
+ | SCREENCHECKED | ||
+ | TYA | ||
+ | ASL A | ||
+ | ASL A | ||
+ | ASL A | ||
+ | ASL A | ||
+ | STA ORARA+1 | ||
+ | |||
+ | LDA $D018 | ||
+ | AND #%00000111 | ||
+ | ORARA ORA #$EE | ||
+ | BITLOC | ||
+ | STA $D018 | ||
+ | |||
+ | LDA # | ||
+ | STA $D016 | ||
+ | |||
+ | LDA $D011 ; | ||
+ | ORA #%00100000 | ||
+ | STA $D011 | ||
+ | |||
+ | LDA PIC+$2710 | ||
+ | STA $D021 | ||
+ | STA $D020 | ||
+ | |||
+ | LDX #$00 ;SCREENRAM COPY | ||
+ | SCREENRAME | ||
+ | STA SCREEN,X | ||
+ | LDA PIC+$2040,X | ||
+ | STA SCREEN+$0100, | ||
+ | LDA PIC+$2140,X | ||
+ | STA SCREEN+$0200, | ||
+ | LDA PIC+$2240,X | ||
+ | STA SCREEN+$0300, | ||
+ | INX | ||
+ | BNE SCREENRAME | ||
+ | |||
+ | LDA #$D8 | ||
+ | STA FARBRAM+2 | ||
+ | LDA #> | ||
+ | STA MULTIFIL+2 | ||
+ | LDX #$00 ;FARBRAM COPY | ||
+ | MULTIFIL | ||
+ | FARBRAM | ||
+ | INX | ||
+ | BNE MULTIFIL | ||
+ | INC FARBRAM+2 | ||
+ | INC MULTIFIL+2 | ||
+ | LDY FARBRAM+2 | ||
+ | CPY #$DB | ||
+ | BNE MULTIFIL | ||
+ | |||
+ | FILL2 LDA PIC+$2628,X | ||
+ | STA $DB00,X | ||
+ | INX | ||
+ | CPX #$E8 | ||
+ | BNE FILL2 | ||
+ | |||
+ | JMP * | ||
+ | |||
+ | ANDD .BYTE %11111111, | ||
+ | .BYTE %11111100 | ||
+ | ORADD .BYTE %00000011, | ||
+ | .BYTE %00000001, | ||
+ | VICBANK | ||
+ | </ | ||
+ | --- // |
base/calculate_vic_settings_for_showing_a_koala.txt · Last modified: 2015-04-17 04:30 by 127.0.0.1