Posts by simun9

    Ok have to change logo to char+map as bitmap in sb are too complex.

    Now have 2 sprites on the left in sb (1st with X 487, 2nd X 0, 3rd X 344 and 4th X 368). Put three lowest bits for smooth and copy logo in memory so it moves in left and right borders.

    Next is put those also in three lowest bits of sprite X registers and move sprites across X keep it 2 with every side just to logo so it will look like one "big logo".

    How calculate new X positions from default?

    Sideborders mystery cleared. Used sprite with multiplexer for stable raster and tweaking all night long.

    Now if I wanna move logo (multicolor bitmap) in sb whats the best way for that?

    I am in learning phase and now my idea is to open sideborders where I will show logo mc bitmap for swinging (first line is set at $32).

    As I read so far we have this:

    1. Need stable raster and then we can open sideborders but at time exact position for each raster line. Must know at what cycles for each rasterline.

    We have 63 cycles (or 23 cycles in case of badlines) for every rasterline. When IRQ is set VICII fetch from 16 1/2 cycles from the start of rasterline.

    So we can do it in the loop for first seven lines and then every eight line outside loop. But because of showing bitmap its better using sprites for sync.

    And we need two sprites let and two sprites right to achieve this. And maximum sprites are also 4 for badline case.

    2. Default value of $D016 is C8 if we subtract 1 from that, it turns to #$C7 so effectively bit #3 turns to 0 => screen goes to 38 column mode

    and next INC changes it back to 40 column mode because bit #3 changes back to 1.

    That's what "opens" side borders. It has to happen just before VIC II start to draw right sideborder. We change screen to 38 columns, and

    VIC II "thinks" it's already drawing border and don't change state for that internally or something like that. So border stays open.

    Next that INC changes screen back to 40 columns, so same trick can be done again next line when border should be starting again.

    3. And for logo swinging code needs some more complexity than inc/dec something like:

    LDA ScrollRegX


    EOR #$08


    and in the code

    ...other code for timings...


    STX $D016

    STA $D016


    ...other code for timings...

    ScrollRegX is variable with !byte 7 which we must put in $D016 at certain point.

    Let summarize:

    How do we get sync with sprites for every rasterline we wanna open ? And what about badline ?

    I need to activate sprites without showing so I have to point the sprite pointer to blank area. We cant show bitmap in sideborders we need it to make from sprites.

    Well time has come. Sideborders mystery. Spend two days reading all about VIC II and opening sideborders. Trickery with 38/40 columns and exact on time. First we need stable raster routine. Can we use something like to get stable raster first:

    NOP ;2
    BIT $00 ;2+3
    LDA #0 ;2
    STA $D020 ;3
    LDA #1 ;2
    STA $D020 ;3
    LDA #7 ;2
    STA $D020 ;3
    NOP ;2
    LDA #0 ;2
    STA $D020 ;3

    And for opening borders:
    DEC $D016 ;6
    INC $D016 ;6

    This is for opening one rasterline. Set under IRQ.asm where I use IRQ in chains at raster position $32.

    Yes. That is cleared to me. And I know I must use same VICII bank for everything if I wanna display the way it should be. And I have two effects atm: display logo, open top/bottom border. Using IRQs in chains.

    I put to load logo as BIN at $2000.

    I can open logo in Vice and then save position for: bitmap, screen, color. And I can use some gfx proggy. But I wanna do it by code.

    So logo is in the middle and I want to move to the top of the screen:

    $2000 - $2000+5*$140 logo

    $2640 - $2640+5*40 screen

    $2708 - $2708+5*40 color

    $2800-$2fff 2x2 charset

    And I change with this in Scree.asm for Init
    ldx #$00
    lda $2640,x
    sta $0400,x
    lda $2708,x
    sta $d800,x
    cpx #5*40

    But failed.


    I am working on new production. And have logo which is multicolor bitmap. I can display on the screen but when I wanna move to another screen position on the screen its failed.

    By default its on the middle of the screen.

    How to move it to the Top of the screen? Logo is in prg and kla format. I am using C64 studio (via Project and separate files).

    Hope you all are doing fine according situation around us.



    • screen.asm

      (2.9 kB, downloaded 5 times, last: )

    Thank you Zirias for your observation.

    I am in learning phase of asm coding. I need lot of time and endless nights to achieve all that I want from asm on beloved c64.

    Luckly have good tutor.

    And also great community of c64 (ex) coders with willing for help.

    Its been a while.

    Well Third production is out and entered Syntax 2019. compos.

    I am thinking about fourth production. As i Have logo which is white I was thinking about some snow edition production with some effects of: snow, snow ball, snwo man etc...

    Any suggestion, hints maybe ?


    I am preparing Third production.

    Thir intro contains: two logos with swing and fld, collsion, switchable colors, 3x3 scroller....

    I solved 2x2 scroller but I need help with logic of 3x3 scroller.

    Maybe some help.