Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > HSP/VSP/DMAD
2016-10-08 15:03
oziphantom

Registered: Oct 2014
Posts: 490
HSP/VSP/DMAD

Does VSP also do a line crunch of 1 line? To me delaying the DMA should mean that as I waste clocks it should shift the screen over 1 were as it seems delaying 39 clocks get me a screen that is normal-1 and then delaying less slides the screen back so I get wrap around at the bottom of the screen.
Is that how it works?

I'm using Martin Pipers example at http://codebase64.org/doku.php?id=base:horizontal_screen_positi..
But comparing it to the one done in Mayhem in Monsterland it looks to be similar.
2016-10-11 13:35
oziphantom

Registered: Oct 2014
Posts: 490
I'm getting weirdness in my raster. I'm using the self interrupt raster, and sometimes it fires on the 11 clock on the line, sometimes the 33rd clock on the line. This makes the stable raster code break...
VIC-II:
>C:d000  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 1b 2e 00  00 00 d0 00  03 f1 f1 00  00 00 00 00  f0 f3 fa f9   ....................................
>C:d024  f3 f4 f0 f1  f2 f3 f4 f5  f6 f7 fc ff  ff ff ff ff  ff ff ff ff  ff ff ff ff  ff ff ff ff                             ............................

Raster cycle/line: 11/46 IRQ: 46
Mode: Multicolor Text (ECM/BMM/MCM=0/0/1)
Colors: Border: 0 BG: 3 MC1: a MC2: 9
Scroll X/Y: 0/3, RC 7, Idle: 1, 39x25
VC $000, VCBASE $000, VMLI  0, Phi1 $00
Video $4000, Charset $4800 (RAM)

Sprites: S.0 S.1 S.2 S.3 S.4 S.5 S.6 S.7
Enabled:  no  no  no  no  no  no  no  no
DMA/dis:  /   /   /   /   /   /   /   /
Pointer: $00 $00 $00 $00 $00 $00 $00 $00
MC:      $00 $00 $00 $00 $00 $00 $00 $00
MCBASE:  $00 $00 $00 $00 $00 $00 $00 $00
X-Pos:  $000$000$000$000$000$000$000$000
Y-Pos:     0   0   0   0   0   0   0   0
X/Y-Exp:  /   /   /   /   /   /   /   /
Pri./MC: s/  s/  s/  s/  s/  s/  s/  s/
Color:     1   2   3   4   5   6   7   c

and then
(C:$d040)
VIC-II:
>C:d000  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 1b 2e 00  00 00 d0 00  03 70 f1 00  00 00 00 00  f0 f3 fa f9   .........................p..........
>C:d024  f3 f4 f0 f1  f2 f3 f4 f5  f6 f7 fc ff  ff ff ff ff  ff ff ff ff  ff ff ff ff  ff ff ff ff                             ............................

Raster cycle/line: 33/46 IRQ: 46
Mode: Multicolor Text (ECM/BMM/MCM=0/0/1)
Colors: Border: 0 BG: 3 MC1: a MC2: 9
Scroll X/Y: 0/3, RC 7, Idle: 1, 39x25
VC $000, VCBASE $000, VMLI  0, Phi1 $ff
Video $4000, Charset $4800 (RAM)

Sprites: S.0 S.1 S.2 S.3 S.4 S.5 S.6 S.7
Enabled:  no  no  no  no  no  no  no  no
DMA/dis:  /   /   /   /   /   /   /   /
Pointer: $00 $00 $00 $00 $00 $00 $00 $00
MC:      $00 $00 $00 $00 $00 $00 $00 $00
MCBASE:  $00 $00 $00 $00 $00 $00 $00 $00
X-Pos:  $000$000$000$000$000$000$000$000
Y-Pos:     0   0   0   0   0   0   0   0
X/Y-Exp:  /   /   /   /   /   /   /   /
Pri./MC: s/  s/  s/  s/  s/  s/  s/  s/
Color:     1   2   3   4   5   6   7   c


There is not an NMI or something running before it, here is the history
08f7  AD 1B 09    LDA .topIRQDone    - A:00 X:C4 Y:10 SP:f6   -   Z
08fa  F0 FB       BEQ .mainLine      - A:00 X:C4 Y:10 SP:f6   -   Z
08f7  AD 1B 09    LDA .topIRQDone    - A:00 X:C4 Y:10 SP:f6   -   Z
08fa  F0 FB       BEQ .mainLine      - A:00 X:C4 Y:10 SP:f6   -   Z
08f7  AD 1B 09    LDA .topIRQDone    - A:00 X:C4 Y:10 SP:f6   -   Z
08fa  F0 FB       BEQ .mainLine      - A:00 X:C4 Y:10 SP:f6   -   Z
08f7  AD 1B 09    LDA .topIRQDone    - A:00 X:C4 Y:10 SP:f6   -   Z
08fa  F0 FB       BEQ .mainLine      - A:00 X:C4 Y:10 SP:f6   -   Z
08f7  AD 1B 09    LDA .topIRQDone    - A:00 X:C4 Y:10 SP:f6   -   Z
08fa  F0 FB       BEQ .mainLine      - A:00 X:C4 Y:10 SP:f6   -   Z
08f7  AD 1B 09    LDA .topIRQDone    - A:00 X:C4 Y:10 SP:f6   -   Z
08fa  F0 FB       BEQ .mainLine      - A:00 X:C4 Y:10 SP:f6   -   Z
08f7  AD 1B 09    LDA .topIRQDone    - A:00 X:C4 Y:10 SP:f6   -   Z
0a00  48          PHA                - A:00 X:C4 Y:10 SP:f3   -  IZ
0a01  8A          TXA                - A:00 X:C4 Y:10 SP:f2   -  IZ
0a02  48          PHA                - A:C4 X:C4 Y:10 SP:f2 N -  I
0a03  98          TYA                - A:C4 X:C4 Y:10 SP:f1 N -  I
0a04  48          PHA                - A:10 X:C4 Y:10 SP:f1   -  I
0a05  EE 1B 09    INC .topIRQDone    - A:10 X:C4 Y:10 SP:f0   -  I
0a08  A9 30       LDA #$30           - A:10 X:C4 Y:10 SP:f0   -  I
0a0a  A2 0A       LDX #$0A           - A:30 X:C4 Y:10 SP:f0   -  I
0a0c  8D FE FF    STA .KERNALIRQServiceRoutineLo - A:30 X:0A Y:10 SP:f0   -  I
0a0f  8E FF FF    STX .KERNALIRQServiceRoutineHi - A:30 X:0A Y:10 SP:f0   -  I
0a12  EE 12 D0    INC .VIC2Raster    - A:30 X:0A Y:10 SP:f0   -  I
0a15  AD 0D DC    LDA .CIA1InterruptControl - A:30 X:0A Y:10 SP:f0   -  I
0a18  AD 0D DD    LDA .CIA2InterruptControl - A:00 X:0A Y:10 SP:f0   -  IZ
0a1b  A9 FF       LDA #$FF           - A:00 X:0A Y:10 SP:f0   -  IZ
0a1d  8D 19 D0    STA .VIC2InteruptStatus - A:FF X:0A Y:10 SP:f0 N -  I
0a20  BA          TSX                - A:FF X:0A Y:10 SP:f0 N -  I
0a21  58          CLI                - A:FF X:F0 Y:10 SP:f0 N -  I
0a22  EA          NOP                - A:FF X:F0 Y:10 SP:f0 N -
0a23  EA          NOP                - A:FF X:F0 Y:10 SP:f0 N -
0a24  EA          NOP                - A:FF X:F0 Y:10 SP:f0 N -
0a25  EA          NOP                - A:FF X:F0 Y:10 SP:f0 N -
0a26  EA          NOP                - A:FF X:F0 Y:10 SP:f0 N -
0a27  EA          NOP                - A:FF X:F0 Y:10 SP:f0 N -
0a28  EA          NOP                - A:FF X:F0 Y:10 SP:f0 N -
0a29  EA          NOP                - A:FF X:F0 Y:10 SP:f0 N -
0a2a  EA          NOP                - A:FF X:F0 Y:10 SP:f0 N -
0a2b  EA          NOP                - A:FF X:F0 Y:10 SP:f0 N -
0a2c  EA          NOP                - A:FF X:F0 Y:10 SP:f0 N -
0a2d  EA          NOP                - A:FF X:F0 Y:10 SP:f0 N -
0a2e  EA          NOP                - A:FF X:F0 Y:10 SP:f0 N -
0a2f  EA          NOP                - A:FF X:F0 Y:10 SP:f0 N -


What could be causing this 22 clock slide?
2016-10-11 15:02
oziphantom

Registered: Oct 2014
Posts: 490
The first routine could get delayed so long that it would not hit the cli until it was already in the next line (/)_.
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
Flashback
Shake/Role
HOL2001/Quantum
Steffan/BOOM!
diabolus
The Human Co../Maste..
Guests online: 115
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.6)
5 Edge of Disgrace  (9.6)
6 What Is The Matrix 2  (9.6)
7 The Demo Coder  (9.6)
8 Uncensored  (9.6)
9 Comaland 100%  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 Layers  (9.6)
2 No Listen  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.6)
6 Rainbow Connection  (9.5)
7 Dawnfall V1.1  (9.5)
8 Onscreen 5k  (9.5)
9 Morph  (9.5)
10 Libertongo  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Triad  (9.3)
5 Censor Design  (9.3)
Top Webmasters
1 Slaygon  (9.6)
2 Perff  (9.6)
3 Sabbi  (9.5)
4 Morpheus  (9.4)
5 CreaMD  (9.1)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.034 sec.