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 > Left/Right Border switching in middle of rasterline
2016-10-22 19:58
Monte Carlos

Registered: Jun 2004
Posts: 358
Left/Right Border switching in middle of rasterline

The last days i experimented a little with bit 3 of $d016. I had the brainfart to broaden the border on the left and keep it normal on the right. Disappointingly, this seems to work only in every non badline. If i try to switch bit 3 of $d016 during a badline i either get both left and right borders equal or i turn off the border completely for the next rasterline. Does somebody have an explanation in terms of internal VIC timing? I also tried modifying the timing with sprites or HSP to be able to write to $d016 in the correct cycle.
 
... 42 posts hidden. Click here to view all posts....
 
2016-10-23 11:15
Monte Carlos

Registered: Jun 2004
Posts: 358
In first place this question was about making the border broad at the left and small at the right. It's just when experimenting with adding and leaving cycles you occasionally end up in opening the border, instead.

About the VSP:
I tried to VSP in line $30 to delay all the internal vic timing for the whole screen. However this did not solve the puzzle because still i was not able to broaden the left border and make normal the right border.
Do you mean i should try VSP on the same line i want the border switched?
2016-10-23 11:20
soci

Registered: Sep 2003
Posts: 479
Just use a border coloured sprite on the left side for the same effect.
2016-10-23 12:03
chatGPZ

Registered: Dec 2001
Posts: 11360
Quote: its not correct usage, DMA is a technique to speed up I/O, esp. ment to ease up the CPU from the grunt work of copying bytes. The VICII is nor a peripheral, nor there's anything to speed up. Its wired into the system from day 0. There's no cpu job to speed up. There's no I/O. There's no peripheral.

DMA was invented after the c64 was released. How could it have DMA then ? But if you insist then we should call cpu mem accesses DMA too. Eventho it implies there's a no direct mem access too, which isnt there..

DMA stands for Direct Memory Access, a capability in modern computers that allows peripheral devices to send data to the motherboard’s memory without intervention from the CPU.

Computers that have DMA channels can transfer data to and from devices with much less CPU overhead than computers without DMA channels


WHAT THE ACTUAL FUCK.

whatever the source for this "knowledge" is - delete it from your memory. srsly.
2016-10-23 12:58
lft

Registered: Jul 2007
Posts: 369
Quoting Monte Carlos
About the VSP:
I tried to VSP in line $30 to delay all the internal vic timing for the whole screen.


There is no way to delay all the internal vic timing for the whole screen. VSP is for increasing the video matrix offset by 1..39.
2016-10-23 15:52
Monte Carlos

Registered: Jun 2004
Posts: 358
Ok, maybe not for the whole screen but the badline starts as soon as the badline condition is fulfilled. So the appropriate write to $d011 should start the badline condition anywhere in the visible area and this also starts the internal VIC timing of the rasterline. Or did i understand something wrong, here?
2016-10-23 16:40
Martin Piper

Registered: Nov 2007
Posts: 718
Writing to the VIC registers basically instructs it to directly read certain memory into its own internal state for later processing/display. Hence the VIC does DMA.
2016-10-23 16:57
Monte Carlos

Registered: Jun 2004
Posts: 358
Maybe we should start a new topic about whats DMA and whats not if there is so much interest.
2016-10-23 17:19
Peiselulli

Registered: Oct 2006
Posts: 81
Write demos for the Atari 2600. THAT is a computer without DMA ...
2016-10-23 17:26
Oswald

Registered: Apr 2002
Posts: 5086
Quote: Writing to the VIC registers basically instructs it to directly read certain memory into its own internal state for later processing/display. Hence the VIC does DMA.

VICII reads the memory wether the cpu touches any of its registers or not. its a wired behaviour. if you skew your perspective enough tho I admit it can be viewed as DMA, but thats not my view.

DMA usually refers to speed up copying between memory and a true I/O device, or memcopy, etc. usually involves a DMA controller too.
2016-10-23 17:53
JackAsser

Registered: Jun 2002
Posts: 2014
Quote: VICII reads the memory wether the cpu touches any of its registers or not. its a wired behaviour. if you skew your perspective enough tho I admit it can be viewed as DMA, but thats not my view.

DMA usually refers to speed up copying between memory and a true I/O device, or memcopy, etc. usually involves a DMA controller too.


So writing to $d011 doesn't affect that "hardwired" behaviour at all? :)
Previous - 1 | 2 | 3 | 4 | 5 | 6 - Next
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
Boogaloo/Horizon
Jetboy/Elysium
Didi/Laxity
zscs
REBEL 1/HF
Mike
JackAsser/Booze Design
Guests online: 114
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Mojo  (9.6)
6 The Demo Coder  (9.6)
7 What Is The Matrix 2  (9.6)
8 Uncensored  (9.6)
9 Comaland 100%  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 Layers  (9.6)
2 Party Elk 2  (9.6)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.6)
5 Libertongo  (9.5)
6 Rainbow Connection  (9.5)
7 Onscreen 5k  (9.5)
8 Morph  (9.5)
9 Dawnfall V1.1  (9.5)
10 It's More Fun to Com..  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Nostalgia  (9.3)
5 Triad  (9.2)
Top Webmasters
1 Slaygon  (9.6)
2 Perff  (9.6)
3 Morpheus  (9.5)
4 Sabbi  (9.5)
5 CreaMD  (9.1)

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