code logs -> 2016 -> Sat, 16 Jan 2016< code.20160115.log - code.20160117.log >
--- Log opened Sat Jan 16 00:00:57 2016
00:14 Derakon[AFK] is now known as Derakon
00:15 Crossfire [Z@Nightstar-r9lk5l.cust.comxnet.dk] has joined #code
00:15 mode/#code [+o Crossfire] by ChanServ
01:08 Crossfire [Z@Nightstar-r9lk5l.cust.comxnet.dk] has quit [Ping timeout: 121 seconds]
01:42 himi-cat [fow035@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds]
02:59 catalyst [catalyst@Nightstar-bt5k4h.81.in-addr.arpa] has quit [[NS] Quit: ]
02:59 catadroid [catalyst@Nightstar-tmdb0u.dab.02.net] has joined #code
03:04 Vash [Vash@Nightstar-b868ob.sd.cox.net] has joined #code
03:04 mode/#code [+o Vash] by ChanServ
03:25 Vash is now known as VV
04:01 Turaiel[Offline] is now known as Turaiel
04:55 celticminstrel [celticminst@Nightstar-uce74q.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
05:17 catadroid` [catalyst@Nightstar-odtvot.dab.02.net] has joined #code
05:20 catadroid [catalyst@Nightstar-tmdb0u.dab.02.net] has quit [Ping timeout: 121 seconds]
05:39 himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code
05:39 mode/#code [+o himi] by ChanServ
05:40 McMartin [mcmartin@Nightstar-rpcdbf.sntcca.sbcglobal.net] has quit [[NS] Quit: Reboot]
05:41 McMartin [mcmartin@Nightstar-rpcdbf.sntcca.sbcglobal.net] has joined #code
05:41 mode/#code [+ao McMartin McMartin] by ChanServ
06:21 Derakon is now known as Derakon[AFK]
08:09 Turaiel is now known as Turaiel[Offline]
08:14
<&McMartin>
Woot, progress
08:14
<&McMartin>
Now I just need a method of control better than POKE 53269, 247
08:15 * McMartin celebrates by having the C128 play the Nyan Cat theme on loop.
08:27 * VV can't remember what's in 53269. probably graphicslicious though!
08:28
<@VV>
sprite enabled, for all but sprite 5?
08:28
<@VV>
...3, I can math?
08:28
<&McMartin>
Indeed!
08:29
<@VV>
(the internet is a many-splendored thing)
08:29 * McMartin got an actual Request from a long-standing member of the scene, is thus setting about accomplishing it.
08:29
<@VV>
So you know horton plaza in downtown
08:29
<@VV>
every time I go there I think I should get back to Vorns Ahoy
08:29
<&McMartin>
To build a program that demonstrates how activating sprites steals cycles from the CPU
08:29
<&McMartin>
Because it does so in a deterministic but nonmonotonic manner
08:30
<@VV>
When does it steal these cycles?
08:30
<&McMartin>
My conclusion from my initial experiments (where controlling sprite activation was just typing POKEs into a BASIC prompt after the program exited)
08:30
<&McMartin>
is that this has actually been cycle-exact emulated for awhile now anyway
08:30
<&McMartin>
Nobody just sat down and built a table about it
08:30
<&McMartin>
The cycles are mostly stolen while drawing the borders.
08:30
<@VV>
So like once per line
08:31
<&McMartin>
Right, and only on lines where those sprites are active.
08:31
<@VV>
notquiteasbadlines
08:31
<&McMartin>
alternately, evenworselines.
08:31
<@VV>
...point
08:32
<&McMartin>
But yeah, it has fixed sets of 2 cycles where it will steal from the CPU to read the graphics data for the sprites live on this scanline
08:32
<&McMartin>
So you mark those
08:32
<&McMartin>
Then, any time you are going to *start* stealing, you have to make sure the 3 cycles previous to any point where you care about data are also stolen.
08:32
<&McMartin>
So this means, for instance, that 247 and 255 both end up stealing the maximum of 19 cycles.
08:33
<@VV>
so like if you have 0 3 6 active you lose 15 cycles, and 0 2 3 6 is 16
08:33
<&McMartin>
I believe so, yes.
08:34 * McMartin has switched the C128 over to playing videogames, can't check it for sure >_>
08:34
<&McMartin>
For the 65 cycle/263 scanline VIC-II all my tests are matching emulation
08:34
<&McMartin>
If that holds for the other chips, I've also tuned the graphics-timing sequence so that there is one version for each model
08:35
<&McMartin>
And it can decide at program start which bit to actually load in as code.
08:35
<&McMartin>
So that's nice
08:36
<@VV>
that is nice
08:36
<&McMartin>
For actual controls, I'm thinking keys 1-8 to toggle that sprite, and plus and minus to simply increment or decrement the activation register.
08:37
<&McMartin>
(That latter so that one can precompute the whole table of 256 and then just step through, watching it to confirm the results match your expectations)
08:38
<&McMartin>
There is also a much more pragmatic and boring and less awesome way to take these measurements, which is probably the superior approach but it is less awesome and also I'd done most of this before someone reminded me the technique would even work
08:39
<&McMartin>
Which is to say, set off the cycle counter on the timer chip and then wait a fixed number of cycles and then compute the lost cycles via the cunning technique of "subtraction".
08:40
<@VV>
wait, 65 cycles per scan line, and you get interrupted all the time by the graphics card? that puts you in some real economy of simulation situation there
08:41
<&McMartin>
I understand all those words but at 0041 I am not confident in my ability to parse them; could you expand on that a bit please~
08:41
<&McMartin>
(If your point is "simulating that properly must seriously cost on the CPU side", it sure does, yep)
08:42 Kindamoody[zZz] is now known as Kindamoody
08:42
<@VV>
My point is - getting anything done with the CPU getting silenced all the time
08:42
<&McMartin>
Oh, yes, well.
08:42
<&McMartin>
There's VBLANK.
08:42
<&McMartin>
Any line with no sprites active doesn't induce the sprite DMA cost
08:43
<&McMartin>
Badlines just eat 42-43 cycles outright if you aren't caring about them, and it basically turns into losing, um
08:43 * McMartin does some math
08:43
<&McMartin>
1 millisecond per frame
08:43
<&McMartin>
On PAL, a frame is 20 milliseconds
08:43
<&McMartin>
You'll Be OK (tm)
08:44
<&McMartin>
This is what you're getting instead of memory bus contention
08:44
<@VV>
point
08:44
<&McMartin>
(technically, this *is* memory bus contention, but resolving it is negotiated by the chips themselves instead of some bus controller)
08:45
<@VV>
right slep.
08:47 VV [Vash@Nightstar-b868ob.sd.cox.net] has quit [Connection closed]
11:30 catadroid` [catalyst@Nightstar-odtvot.dab.02.net] has quit [[NS] Quit: Bye]
12:08 Crossfire [Z@Nightstar-r9lk5l.cust.comxnet.dk] has joined #code
12:09 mode/#code [+o Crossfire] by ChanServ
13:25
<@gnolam>
TheWatcher: https://twitter.com/gnat/status/687741353145405440
13:47
<@TheWatcher>
Heheheh
14:11 catalyst [catalyst@Nightstar-bt5k4h.81.in-addr.arpa] has joined #code
14:51
<@gnolam>
Re: Labyrinth and Bowie's dangly parts: https://www.youtube.com/watch?v=lKLTP04JGc8
15:11
<@gnolam>
Ach, mischan
15:56 celticminstrel [celticminst@Nightstar-uce74q.dsl.bell.ca] has joined #code
15:56 mode/#code [+o celticminstrel] by ChanServ
17:29 thalass [thalass@Nightstar-283.o7s.158.104.IP] has joined #code
17:29 mode/#code [+o thalass] by ChanServ
17:40
<&jerith>
I just got https://github.com/bloomberg/ocamlscript compiled and working.
17:40
<&jerith>
Now I have no idea what to do with it.
18:03 Turaiel[Offline] is now known as Turaiel
18:25 Derakon[AFK] is now known as Derakon
18:47 Vash [Vash@Nightstar-b868ob.sd.cox.net] has joined #code
18:47 mode/#code [+o Vash] by ChanServ
18:54 macdjord is now known as macdjord|slep
19:07 Vash is now known as VV
19:36 catalyst [catalyst@Nightstar-bt5k4h.81.in-addr.arpa] has quit [Connection reset by peer]
19:37
<@gnolam>
https://twitter.com/simula77/status/677815750141329408
19:51 catalyst [catalyst@Nightstar-bt5k4h.81.in-addr.arpa] has joined #code
20:04 VV [Vash@Nightstar-b868ob.sd.cox.net] has quit [Connection closed]
20:17 VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has quit [Connection closed]
20:19 VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code
21:44 Kindamoody is now known as Kindamoody|afk
22:02 Vash [Vash@Nightstar-b868ob.sd.cox.net] has joined #code
22:02 mode/#code [+o Vash] by ChanServ
22:05
<@Syloq>
People, what a bunch of bastards.
22:05 * Vash recommends avoiding them
22:05 Vash is now known as VV
22:17
<@thalass>
Augh. I went to write "HIGH" in some arduino code and wrote "HAI" instead.
22:18
<@VV>
*Kirby waves at thalass*
22:18
< abudhabi>
Syloq: Indeed! How dare they be born out of wedlock!
22:18
<@thalass>
haha
22:19
<@Syloq>
abudhabi, I wish being born out of wedlock would excuse their lameness. However...it doesn't.
22:52 Crossfire [Z@Nightstar-r9lk5l.cust.comxnet.dk] has quit [Ping timeout: 121 seconds]
23:13 Turaiel is now known as Turaiel[Offline]
--- Log closed Sun Jan 17 00:00:13 2016
code logs -> 2016 -> Sat, 16 Jan 2016< code.20160115.log - code.20160117.log >

[ Latest log file ]