<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel><title>CSDb - Latest Forum posts</title>
<link>http://csdb.dk/latestforumposts.php</link>
<description>The Commodore 64 Scene Database</description>
<language>en-us</language>
<pubDate>Tue, 01 Sep 2026 05:33:08 +0200</pubDate>
<generator>CSDb latest forum posts RSS generator V1.0</generator>
<docs>http://blogs.law.harvard.edu/tech/rss</docs>
<ttl>15</ttl>
<image><url>http://csdb.dk/gfx/csdb-logo.gif</url>
<title>CSDb - Latest Forum posts</title>
<link>http://csdb.dk/latestforumposts.php</link>
</image>
<item><title>C64 Coding: Fast large multiplies /Repose</title>
<link>http://csdb.dk/forums/?roomid=11&amp;topicid=91766&amp;rss#178056</link>
<description><![CDATA[Out of curiosity, here is a multiply using GeoRAM, and it's the same speed as pure software<br />
<a href="https://pastebin.com/4hUwmaWt" target=_blank>https://pastebin.com/4hUwmaWt</a><br />
<br />
Minimum	153 cycles<br />
Maximum	165 cycles<br />
Mean	156.657639 cycles]]></description>
<author>Repose</author>
<authorID>869</authorID>
<guid>http://csdb.dk/forums/?roomid=11&amp;topicid=91766#178056</guid>
<pubDate>Tue, 01 Sep 2026 04:46:06 +0200</pubDate>
</item>
<item><title>C64 Coding: Fast large multiplies /Repose</title>
<link>http://csdb.dk/forums/?roomid=11&amp;topicid=91766&amp;rss#178054</link>
<description><![CDATA[I got you! I made a standardized benchmark tool which automatically validates and profiles routines for any arithmetic. I'll make an index page for CodeBase.<br />
Everyone feel free to use it here for reporting; and leave suggestions on the tool.<br />
I'll paste the link again, but this is duplicated in the division thread:<br />
<a href="https://files.catbox.moe/gmec1o.zip" target=_blank>https://files.catbox.moe/gmec1o.zip</a><br />
<br />
There is also a coding style doc in there for arithmetic routines. Thanks to soci and Firemonger for their style examples. I would certainly like input on that as well; for examples, my posts after this will be using it.<br />
It's not specified for division yet. Someone once suggested I use the IEEE754 convention which has a,b,c as inputs and r as the output, which is fine but it's not clear which is the dividend, divisor, quotient, remainder, or even multiplier/multiplicand (the one case I can see it being important to distinguish them is in shift-and-add routines where the popcnt(multiplier) (the number of bits in the multiplier, known as the population count) can be tied by a direct formula to the timing in cycles).<br />
<br />
Should we keep that (we as in, whomever feels like it's a good idea) and use divisor, dividend, quotient, remainder for division and root, radicand, and remainder for square root; index for other roots?<br />
If all routines were named this way, how would we distinguish different precisions or versions of similar routines?<br />
Different bit-widths don't collide; use dividend0/divisor0=(quotient0, remainder0) for an 8/8=(8, 8) routine and increase numbering (quotient1:quotient0 / divisor1:divisor0 etc.) for larger routines, but that assumes they can share addresses. It also doesn't help if you need approximation 8/8 vs full 8/8 as the names would conflict. Or does it matter; people can just change it themselves?]]></description>
<author>Repose</author>
<authorID>869</authorID>
<guid>http://csdb.dk/forums/?roomid=11&amp;topicid=91766#178054</guid>
<pubDate>Tue, 01 Sep 2026 03:16:14 +0200</pubDate>
</item>
<item><title>C64 Coding: Fast division /Repose</title>
<link>http://csdb.dk/forums/?roomid=11&amp;topicid=177939&amp;rss#178053</link>
<description><![CDATA[What have I started? There is a massive human/AI battle!<br />
<br />
However, at this point we need a common way to define records. I have developed a robust test-case generator based on my own, human ideas:<br />
<br />
-We must distinguish validation from profiling.<br />
-For validation, I analyzed the rarest program path within a corpus of multiply routines, then set the validation level to hit that path.<br />
-For cycles profiling, we need a deterministic random generator and convention.<br />
-When the search space is small enough, we can exhaustively search all inputs for both purposes.<br />
-Levels should scale with bit-width.<br />
<br />
<a href="https://files.catbox.moe/gmec1o.zip" target=_blank>https://files.catbox.moe/gmec1o.zip</a><br />
<br />
Here is my project you can incorporate as a test harness. It can automatically validate, compare, and profile a folder of untested routines to one standard, cross-platform, and tested against Perfect6502 (hardware-level 6502 simulator) and the real ACME assembler; expandable to other assemblers and cpus.<br />
<br />
You can use the header that's generated to claim a new record here in a guaranteed comparable way.]]></description>
<author>Repose</author>
<authorID>869</authorID>
<guid>http://csdb.dk/forums/?roomid=11&amp;topicid=177939#178053</guid>
<pubDate>Tue, 01 Sep 2026 03:12:31 +0200</pubDate>
</item>
<item><title>CSDb Discussions: Arise x Commodore x Cyberpunk franchise /El Jefe</title>
<link>http://csdb.dk/forums/?roomid=7&amp;topicid=177818&amp;rss#178052</link>
<description><![CDATA[<font color="#7c7c7c" size="1">Quoting wacek<blockquote><i>How many demosceners in history were involved in creating commercially sold games in the past? Did they kill the scene? Weren't we all extremely proud that they did that? This is how I remember, X-Ample, Inflexion etc?<br />
Even Reflex did the Centric game, commercially sold, did we curse them out for doing that? I think no one stopped respecting Quiss since that happened, so explain to me why we are treated differently here.</i></blockquote></font><br />
Many, of course, but there is quite a difference between producing a game as a demogroup and sell it via a publisher or other ways, and being part of creating a commercial product that will be marketed with an exclusive production of you which only runs on the newly launched device. <br />
<br />
Im not here to disrespect you or any of your work. I actually like most of your stuff and I am also looking forward to your demo (will not watch it on the C77 but on Youtube when it is available), although I am strictly interested in pure old raw c64, no Amiga, Atari, or any other evil platforms. You have my biggest respect. <br />
<br />
Im just not a fan of mixing our &quot;holy&quot; demoscene with commercial productions. Good as a marketing stunt.]]></description>
<author>El Jefe</author>
<authorID>39084</authorID>
<guid>http://csdb.dk/forums/?roomid=7&amp;topicid=177818#178052</guid>
<pubDate>Tue, 01 Sep 2026 02:49:31 +0200</pubDate>
</item>
<item><title>CSDb Discussions: Arise x Commodore x Cyberpunk franchise /TheRyk</title>
<link>http://csdb.dk/forums/?roomid=7&amp;topicid=177818&amp;rss#178051</link>
<description><![CDATA[Though wacek as TS invited people to <br />
<font color="#7c7c7c" size="1">Quote:<blockquote><i>let us know we suck / sold out / shilled / betrayed the scene etc. so bring it on...</i></blockquote></font><br />
&lt;- which is why some mix of fanboy applause as well as some Ultimate loathing was to be expected and thus, should be tolerated, any publicity is good publicity after all...<br />
<br />
Anyway, my drama senses are tingling when I see that it took 24 hours till the thread focus shifted from discussing the project to preach/rant about ideology or religion... crusade versus forced to applaud... come on... (I only missed who kills the scene more/faster/deader - Ultimate or AI scnr)<br />
<br />
As I said, according to the opening posting, it's hard to draw a clear on/off topic line.<br />
<br />
But pretty please <br />
a) halfways gentlemenlike postings conform to etiquette<br />
b) if you don't care a lot about Ultimate at all (like I don't either), anyway, staying out of the turmoil by NOT posting IS an option (for you! as a moderator I sometimes need to read and try to keep the nastiness level at normal scene slang level, no matter if the topic is really my cup of tea)<br />
c) don't exaggerate the off-topic here and don't just jump out at someone you read here and don't like just to continue some feud, rather make a demo about it (your choice if [ultimate] or real deal)]]></description>
<author>TheRyk</author>
<authorID>19790</authorID>
<guid>http://csdb.dk/forums/?roomid=7&amp;topicid=177818#178051</guid>
<pubDate>Tue, 01 Sep 2026 02:43:48 +0200</pubDate>
</item>
<item><title>C64 Coding: Fast large multiplies /Oswald</title>
<link>http://csdb.dk/forums/?roomid=11&amp;topicid=91766&amp;rss#178049</link>
<description><![CDATA[can I ask you guys put your brillian routines up here, for the greater good ? :)<br />
<br />
<br />
<a href="https://codebase64.net/doku.php?id=base:fullscreen" target=_blank>https://codebase64.net/doku.php?id=base:fullscreen</a><br />
<br />
thanks!]]></description>
<author>Oswald</author>
<authorID>8139</authorID>
<guid>http://csdb.dk/forums/?roomid=11&amp;topicid=91766#178049</guid>
<pubDate>Tue, 01 Sep 2026 01:04:03 +0200</pubDate>
</item>
<item><title>C64 Coding: Fast large multiplies /firemonger</title>
<link>http://csdb.dk/forums/?roomid=11&amp;topicid=91766&amp;rss#178048</link>
<description><![CDATA[My corresponding practical umult32x32-&gt;64 has 2k tables, 296 bytes code, uses 22 bytes zp for input/output/pointers/temporaries. Runtime average 694.05. I think that is another &quot;woot!&quot;? Not sure I've kept up on what is the record on other practical approaches.]]></description>
<author>firemonger</author>
<authorID>41100</authorID>
<guid>http://csdb.dk/forums/?roomid=11&amp;topicid=91766#178048</guid>
<pubDate>Mon, 31 Aug 2026 23:50:31 +0200</pubDate>
</item>
<item><title>Requests: THE MOVERS Treasure Chest VII /Radd Maxx</title>
<link>http://csdb.dk/forums/?roomid=9&amp;topicid=175413&amp;rss#178047</link>
<description><![CDATA[This is a small batch of 25 disks I obtained from Chavez, Texas (hence the name of the collection).  By the looks of them they're a mixup of stuff pulled from other collections, nothing cohesive besides they all date around 85-86.  I had to use a 1571 and nibble to get some of these to read properly as even though none of these disks are originals, some of them seem to be exact duplications of the original including the copy protection.<br />
<br />
<a href="https://www.dropbox.com/scl/fi/e9tvz1bgqhytcny1i4r93/ChavezTXcollection.zip?rlkey=71r46ptrte2ge3wakjtl80y8l&st=728fmy8a&dl=0" target=_blank>https://www.dropbox.com/scl/fi/e9tvz1bgqhytcny1i4r93/ChavezTXco..</a>]]></description>
<author>Radd Maxx</author>
<authorID>30690</authorID>
<guid>http://csdb.dk/forums/?roomid=9&amp;topicid=175413#178047</guid>
<pubDate>Mon, 31 Aug 2026 22:22:24 +0200</pubDate>
</item>
<item><title>CSDb Discussions: Arise x Commodore x Cyberpunk franchise /Hein</title>
<link>http://csdb.dk/forums/?roomid=7&amp;topicid=177818&amp;rss#178045</link>
<description><![CDATA[I wonder who gets salary paid for their work for Commodore. Or is it just for honor and glory?]]></description>
<author>Hein</author>
<authorID>8054</authorID>
<guid>http://csdb.dk/forums/?roomid=7&amp;topicid=177818#178045</guid>
<pubDate>Mon, 31 Aug 2026 20:44:04 +0200</pubDate>
</item>
<item><title>Requests: Newcomer SD2IEC/IDE64 &amp; Mouse fix /TheRyk</title>
<link>http://csdb.dk/forums/?roomid=9&amp;topicid=178038&amp;rss#178044</link>
<description><![CDATA[Impossible is almost nothing, and even among the impossible ideas this one is rather doable.<br />
<br />
That said, it's maybe even a matter of debate whether it was ever really <i>cracked</i> properly. The only &quot;It came on 20 disk sides&quot; crack out there <br />
<a href="https://csdb.dk/release/?id=61086" target=_blank>https://csdb.dk/release/?id=61086</a><br />
even seems to require 40 tracks per side.<br />
So maybe IFFL but _ONE_ .D81 won't do probably, nor is it a candidate for an EasyFlash version.<br />
<br />
If you didn't mean 'possible' in a sense of 'possible at all' but rather 'realistic to expect', keep in mind the project status of Newcomer Ultimate can be seen as dead:<br />
<a href="https://www.c64-wiki.com/wiki/Newcomer#Ultimate_Newcomer" target=_blank>https://www.c64-wiki.com/wiki/Newcomer#Ultimate_Newcomer</a><br />
<br />
Bottom Line: Sources lost, massive amount of data, today's crackers mostly just Intro-slapping-Claude-Games... <br />
I'd be quite surprised to see anyone (developers or crackers) touch it. Even if you find someone with skill and devotion, it's simply huuuuge.]]></description>
<author>TheRyk</author>
<authorID>19790</authorID>
<guid>http://csdb.dk/forums/?roomid=9&amp;topicid=178038#178044</guid>
<pubDate>Mon, 31 Aug 2026 19:24:03 +0200</pubDate>
</item>
<item><title>C64 Coding: Fast large multiplies /firemonger</title>
<link>http://csdb.dk/forums/?roomid=11&amp;topicid=91766&amp;rss#178043</link>
<description><![CDATA[Woot! Found another 13 cycles. Take that Kahan! Simple algorithm done fast takes the lead at 627.90 cycles average 32x32-&gt;64 unsigned.<br />
<br />
<pre wrap="on">
; -------------------------------------------------------------------------------- -------
; umult 32x32 zero page
; average 627.9 cycles
;
; summation plan:
;             . z04 z03 z02 z01 z00
;         +   : z13 z12 z11 z10   :
;           -------------------   :
;         . z14  t2  t1  t0   :   : 
;     +   : z23 z22 z21 z20   :   : 
;       -------------------   :   :
;     . z24  s2  s1  s0   :   :   :
; +   : z33 z32 z31 z30   :   :   :
; ---------------------------------
; =   X   A  r5  r4  r3  r2  r1  r0       

; -------------------------------------------------------------------------------- -------

*=$200
; tables with parity bias : even bias 0, odd bias 202

!align 255, 0, 0
sqr_lo: 
!for i,0,(511)-1 { !byte &lt;((i*i)/4 + 202*(i&amp;1)) }
!align 255, 0, 0
sqr_hi: 
!for i,0,(511)-1 { !byte &gt;((i*i)/4 + 202*(i&amp;1)) }
!align 255, 0, 0
neg_sqr_lo:
!for i,0,(511)-1 { !byte 255 - (&lt;(((255-i)*(255-i))/4 + 202*((255-i)&amp;1))) }
!align 255, 0, 0
neg_sqr_hi:
!for i,0,(511)-1 { !byte 255 - (&gt;(((255-i)*(255-i))/4 + 202*((255-i)&amp;1))) }

; ----------------------------------------------------------

; main entrypoint -- setup code can be in main memory
; in  : x0, x1, x2, x3 zp addresses, y0 in Y register, y1, y2, y3 in zp addresses
; out : 64 bit product of x*y in X A r5 r4 r3 r2 r1 r0 
umult32x32zeropage

; ============ setup for x
; x0 passed in zp location specified in _sqr_lo_0
		lda+1 x0
		sta+1 _sqr_hi_0 + 1
		eor #$FF
		sta+1 _neg_lo_0 + 1
		sta+1 _neg_hi_0 + 1
; x1 passed in zp location specified in _sqr_lo_1
		lda+1 x1
		sta+1 _sqr_hi_1 + 1
		eor #$FF
		sta+1 _neg_lo_1 + 1
		sta+1 _neg_hi_1 + 1
; x2 passed in zp location specified in _sqr_lo_2
		lda+1 x2
		sta+1 _sqr_hi_2 + 1
		eor #$FF
		sta+1 _neg_lo_2 + 1
		sta+1 _neg_hi_2 + 1
; z3 passed in zp location specified in _sqr_lo_3
		lda+1 x3
		sta+1 _sqr_hi_3 + 1
		eor #$FF
		sta+1 _neg_lo_3 + 1
		sta+1 _neg_hi_3 + 1
		jmp multiply
; ---------------------------------------------------------------------
*=$02 
multiply
; ============= multiply x by y0,y1,y2,y3
		; y0 in Y register on input
		ldx #&lt;z00
		sec
		lda #&lt;(muly0tail-umult32x8_branchout-1)
		bne umult32x8_same_x
muly0tail
		sta+1 z04
y1 = *+1
		ldy #0
		ldx #&lt;z10
		lda #&lt;(muly1tail-umult32x8_branchout-1)
		bne umult32x8_same_x
muly1tail
		sta+1 z14
y2 = *+1	
		ldy #0
		ldx #&lt;z20
		lda #&lt;(muly2tail-umult32x8_branchout-1)
		bne umult32x8_same_x
muly2tail
		sta+1 z24
y3 = *+1
		ldy #0
		ldx #&lt;z30
		lda #&lt;(summation-umult32x8_branchout-1)

; ---------------------------------------------------------------------
; 32x8 bit unsigned multiply -- zero page version
; x0,x1,x2,x3 inputs inline below; must have setup routine called first for x
; y0 is passed in Y register
; results are stored at a stride of 6 in zero page addresses starting at X register:
; z0 at X; z1 at X+6; z2 at X+12; z3 at X+18; z4 is returned in A
; requires carry set on entry
; on input A contains the relative branch to use as return address

umult32x8_same_x
		sta+1 umult32x8_branchout
; =========== P00 : calculate x0*y0  
x0 = *+1
_sqr_lo_0	lda sqr_lo,y
_neg_lo_0	adc neg_sqr_lo,y
		sta 0,x
_sqr_hi_0	lda sqr_hi,y
_neg_hi_0	adc neg_sqr_hi,y                     
; =========== P10
x1 = *+1
_sqr_lo_1	adc sqr_lo,y
		bcs _p10_carry
_neg_lo_1	adc neg_sqr_lo,y
		sta 6,x
_sqr_hi_1	lda sqr_hi,y
_p10_tail 
_neg_hi_1	adc neg_sqr_hi,y
; ============ P20
x2 = *+1
_sqr_lo_2	adc sqr_lo,y
		bcs _p20_carry
_neg_lo_2	adc neg_sqr_lo,y
		sta 12,x
_sqr_hi_2	lda sqr_hi,y
_p20_tail
_neg_hi_2	adc neg_sqr_hi,y
; ============ P30
x3 = *+1
_sqr_lo_3	adc sqr_lo,y
		bcs _p30_carry
_neg_lo_3	adc neg_sqr_lo,y
		sta 18,x
_sqr_hi_3	lda sqr_hi,y
_p30_tail	
_neg_hi_3	adc neg_sqr_hi,y ; z4 returned in A
umult32x8_branchout = *+1
		bcs muly0tail
; ============ out-of-line carry paths 
_p10_carry
		clc
		adc (_neg_lo_1+1),y
		sta 6,x
		lda #1 ; carry 1 in A, 0 or 1 in C
		adc (_sqr_hi_1+1),y
		jmp _p10_tail 
_p20_carry
		clc
		adc (_neg_lo_2+1),y
		sta 12,x
		lda #1 ; carry 1 in A, 0 or 1 in C
		adc (_sqr_hi_2+1),y

		jmp _p20_tail
_p30_carry
		clc
		adc (_neg_lo_3+1),y
		sta 18,x
		lda #1 ; carry 1 in A, 0 or 1 in C
		adc (_sqr_hi_3+1),y
		jmp _p30_tail 

; ============= sum results -- code must by in zero page

; results stride of 6 from umult32x8 so z00 need to be exactly where it is relative to following code
r3 = *
!byte 0
r4 = *
!byte 0
r5 = *
!byte 0
z00 = *
r0 = *
!byte 0
r1 = *
!byte 0
r2 = *
!byte 0
summation
		tax
		clc
		lda #01
z10 = *+1
		adc #10
		sta+1 r1 
		lda #02
		adc #11
		sta+1 t0
		lda #03
		adc #12
		sta+1 t0 + 6
z04 = *+1
		lda #04
		adc #13           
		sta+1 t0 + 12    
		bcc sum2       
		clc
		inc+1 z14   
sum2
t0 = *+1
		lda #0
z20 = *+1
		adc #20
		sta+1 r2 
		lda #1
		adc #21
		sta+1 s0
		lda #2
		adc #22
		sta+1 s0 + 6
z14 = *+1
		lda #3
		adc #23
		sta+1 s0 + 12
		bcc sum3
		clc
		inc+1 z24  
sum3
s0 = *+1
		lda #0
z30 = *+1
		adc #30
		sta+1 r3 
		lda #1
		adc #31
		sta+1 r4
		lda #2
		adc #32
		sta+1 r5  
z24 = *+1
		lda #3
		adc #33    
		bcs sum3finalcarry 
		rts
sum3finalcarry
		inx
		rts		
</pre>]]></description>
<author>firemonger</author>
<authorID>41100</authorID>
<guid>http://csdb.dk/forums/?roomid=11&amp;topicid=91766#178043</guid>
<pubDate>Mon, 31 Aug 2026 19:15:46 +0200</pubDate>
</item>
<item><title>C64 Coding: Fast large multiplies /firemonger</title>
<link>http://csdb.dk/forums/?roomid=11&amp;topicid=91766&amp;rss#178042</link>
<description><![CDATA[Dammit I found 8 cycles on the &quot;schoolbook multiplication, done fast&quot; zeropage code. I am down to 640.9 average cycles. I was about to declare &quot;woot! faster than your fancy Knuth crap even with the AI assist&quot;. But meantime you found another 3.7 cycles and so I still don't catch up.]]></description>
<author>firemonger</author>
<authorID>41100</authorID>
<guid>http://csdb.dk/forums/?roomid=11&amp;topicid=91766#178042</guid>
<pubDate>Mon, 31 Aug 2026 18:32:24 +0200</pubDate>
</item>
<item><title>CSDb Discussions: Arise x Commodore x Cyberpunk franchise /4gentE</title>
<link>http://csdb.dk/forums/?roomid=7&amp;topicid=177818&amp;rss#178040</link>
<description><![CDATA[<font color="#7c7c7c" size="1">Quote:<blockquote><i>Well, since &quot;care for&quot; has 3 different meanings, you cannot blame &quot;the man&quot; for misunderstanding your imprecise communication. By the way, &quot;English&quot; not &quot;english&quot;.</i></blockquote></font><br />
And that&rsquo;s precisely why I apologized to &ldquo;the man&rsquo; later and literally explained to &ldquo;the man&rdquo; what I meant. Here&rsquo;s my quote:<br />
<font color="#7c7c7c" size="1">Quote:<blockquote><i> I meant &ldquo;not care for something&rdquo; as in &ldquo;not like something&rdquo;. Sorry if that confused you.</i></blockquote></font>]]></description>
<author>4gentE</author>
<authorID>35535</authorID>
<guid>http://csdb.dk/forums/?roomid=7&amp;topicid=177818#178040</guid>
<pubDate>Mon, 31 Aug 2026 17:18:21 +0200</pubDate>
</item>
<item><title>Requests: Newcomer SD2IEC/IDE64 &amp; Mouse fix /Solo Kazuki</title>
<link>http://csdb.dk/forums/?roomid=9&amp;topicid=178038&amp;rss</link>
<description><![CDATA[Hi<br />
<br />
Is possible to make SD2IEC* version of Newcomer?<br />
Additional mouse control would be nice.<br />
<br />
*and IDE64 optional]]></description>
<author>Solo Kazuki</author>
<authorID>36608</authorID>
<guid>http://csdb.dk/forums/?roomid=9&amp;topicid=178038</guid>
<pubDate>Mon, 31 Aug 2026 17:03:44 +0200</pubDate>
</item>
<item><title>CSDb Discussions: Arise x Commodore x Cyberpunk franchise /chatGPZ</title>
<link>http://csdb.dk/forums/?roomid=7&amp;topicid=177818&amp;rss#178036</link>
<description><![CDATA[<a href="https://imgur.com/a/deutscher-gehts-nicht-K0glYkC" target=_blank>https://imgur.com/a/deutscher-gehts-nicht-K0glYkC</a>]]></description>
<author>chatGPZ</author>
<authorID>572</authorID>
<guid>http://csdb.dk/forums/?roomid=7&amp;topicid=177818#178036</guid>
<pubDate>Mon, 31 Aug 2026 16:46:59 +0200</pubDate>
</item>
<item><title>CSDb Discussions: Arise x Commodore x Cyberpunk franchise /wacek</title>
<link>http://csdb.dk/forums/?roomid=7&amp;topicid=177818&amp;rss#178035</link>
<description><![CDATA[<font color="#7c7c7c" size="1">Quoting 4gentE<blockquote><i>I urge some native english speaker to explain to the man</i></blockquote></font><br />
Well, since &quot;care for&quot; has 3 different meanings, you cannot blame &quot;the man&quot; for misunderstanding your imprecise communication. By the way, &quot;English&quot; not &quot;english&quot;.]]></description>
<author>wacek</author>
<authorID>1085</authorID>
<guid>http://csdb.dk/forums/?roomid=7&amp;topicid=177818#178035</guid>
<pubDate>Mon, 31 Aug 2026 16:43:43 +0200</pubDate>
</item>
<item><title>CSDb Discussions: Arise x Commodore x Cyberpunk franchise /Oswald</title>
<link>http://csdb.dk/forums/?roomid=7&amp;topicid=177818&amp;rss#178034</link>
<description><![CDATA[what you forget is how to converse politely in a forum without your constant passive agressiveness, provoking, and &quot;subtext&quot; personal attacks.]]></description>
<author>Oswald</author>
<authorID>8139</authorID>
<guid>http://csdb.dk/forums/?roomid=7&amp;topicid=177818#178034</guid>
<pubDate>Mon, 31 Aug 2026 16:27:39 +0200</pubDate>
</item>
<item><title>CSDb Discussions: Arise x Commodore x Cyberpunk franchise /4gentE</title>
<link>http://csdb.dk/forums/?roomid=7&amp;topicid=177818&amp;rss#178033</link>
<description><![CDATA[I urge some native english speaker to explain to the man what &ldquo;not care for something&rdquo; can mean in normal, conversational english. Or one can use, oh I don&rsquo;t know, AI to help him with understanding. Sorry, I forget not everybody is a good english speaker.]]></description>
<author>4gentE</author>
<authorID>35535</authorID>
<guid>http://csdb.dk/forums/?roomid=7&amp;topicid=177818#178033</guid>
<pubDate>Mon, 31 Aug 2026 15:27:59 +0200</pubDate>
</item>
<item><title>CSDb Discussions: Arise x Commodore x Cyberpunk franchise /Oswald</title>
<link>http://csdb.dk/forums/?roomid=7&amp;topicid=177818&amp;rss#178032</link>
<description><![CDATA[really?<br />
<br />
I meant &quot;yes&quot; as &quot;no&quot; sorry if that confused you. Pointless to discuss anything with you after this one. You change what you've said and put the error on the reader.]]></description>
<author>Oswald</author>
<authorID>8139</authorID>
<guid>http://csdb.dk/forums/?roomid=7&amp;topicid=177818#178032</guid>
<pubDate>Mon, 31 Aug 2026 15:23:08 +0200</pubDate>
</item>
<item><title>CSDb Discussions: Arise x Commodore x Cyberpunk franchise /4gentE</title>
<link>http://csdb.dk/forums/?roomid=7&amp;topicid=177818&amp;rss#178031</link>
<description><![CDATA[@Oswald:<br />
I meant &ldquo;not care for something&rdquo; as in &ldquo;not like something&rdquo;. Sorry if that confused you. And please try and understand that I&rsquo;m not forcing any negative opinions here. This thread should&rsquo;ve been simple. Wacek asked everyone for their opinion. He got opinions. You can&rsquo;t direct other people&rsquo;s opinions. Neither was it asked for in the original post. The original post said &ldquo;bring it on&rdquo;. As for &lsquo;negativity&rsquo;. I have no negativity towards the new Commodore. I have a C64U classic beige edition with low serial number. I preordered while most were still on the fence. I argued in many places that it&rsquo;s a product with big value/money ratio, offering so much out of the box.]]></description>
<author>4gentE</author>
<authorID>35535</authorID>
<guid>http://csdb.dk/forums/?roomid=7&amp;topicid=177818#178031</guid>
<pubDate>Mon, 31 Aug 2026 15:18:12 +0200</pubDate>
</item>
<item><title>CSDb Discussions: Arise x Commodore x Cyberpunk franchise /Jetboy</title>
<link>http://csdb.dk/forums/?roomid=7&amp;topicid=177818&amp;rss#178030</link>
<description><![CDATA[<font color="#7c7c7c" size="1">Quoting wacek<blockquote><i><br />
Not fixed and not for free, it is still the same 64kB. Cartridges which are easily available for standard C64 solve better the memory problems then C64U, REU is also available for standard C64. You still have the same problems how to fit things in memory. </i></blockquote></font><br />
I said it has some quirks. But the ability to swap huge chunks of memory and do it fast is a great benefit. You can do lots of stuff differently because of speed. Ie. Instead of having player/enemies sprites for left and right movement you can afford to have just data for one side and mirror it in code on the fly, there is enough power for that. You can also scroll entire bitmap, and you do not even need double buffering for that, coz it&rsquo;s fast enough. You can have packed data in memory and depack it as needed. You can opt not to use sids for music, just use sampled audio. I&rsquo;m not saying there are no challenges at all, just that making games on u64 IS easier than on stock c64. And for demos, you yourself are proving more can be done with u64 than with bare c64. Or so i hope, i&rsquo;m looking forward to see that demo!<br />
<br />
<font color="#7c7c7c" size="1">Quoting &ldquo;Raistlin&rdquo;<blockquote><i>The beauty of C64 development is in the restrictions. I can&rsquo;t say it plainer than that</i></blockquote></font><br />
Yes it is for us. Will it be also true for those that only get attracted by u64? I seriously doubt it. I do not even imagine those mythical horders of new coders u64 will bring&hellip; I wouldn&rsquo;t mind to be mistaken though.<br />
<br />
<font color="#7c7c7c" size="1">Quoting &ldquo;Oswald&rdquo;<blockquote><i>No need for holy crusade against new compatible platform.</i></blockquote></font><br />
I do not see crusading. I see people trying to balance marketing hype.<br />
<br />
I&rsquo;m affraid i already built expectations that can&rsquo;t be meet :( But i still want to see that demo!]]></description>
<author>Jetboy</author>
<authorID>630</authorID>
<guid>http://csdb.dk/forums/?roomid=7&amp;topicid=177818#178030</guid>
<pubDate>Mon, 31 Aug 2026 15:18:08 +0200</pubDate>
</item>
<item><title>CSDb Discussions: Arise x Commodore x Cyberpunk franchise /wacek</title>
<link>http://csdb.dk/forums/?roomid=7&amp;topicid=177818&amp;rss#178029</link>
<description><![CDATA[<font color="#7c7c7c" size="1">Quoting 4gentE<blockquote><i>What&rsquo;s the big fuss about?</i></blockquote></font><br />
On my side no publicity stunt, hard to find project that does not need more publicity ;) I just personally have a problem with people's extremely harsh judgement over Peri &amp; co., whom I had the opportunity to work with and I think those are quite unfair claims. I did in the past the same about other people I knew, facing some public and IMHO not deserved flame. That's just my nature, sorry, also the reason I have the job that I have probably ;)]]></description>
<author>wacek</author>
<authorID>1085</authorID>
<guid>http://csdb.dk/forums/?roomid=7&amp;topicid=177818#178029</guid>
<pubDate>Mon, 31 Aug 2026 15:15:06 +0200</pubDate>
</item>
<item><title>CSDb Discussions: Arise x Commodore x Cyberpunk franchise /Oswald</title>
<link>http://csdb.dk/forums/?roomid=7&amp;topicid=177818&amp;rss#178028</link>
<description><![CDATA[nobody forces you to applaud. and if you dont care, than why are you here, with your negative opinions? you do care.]]></description>
<author>Oswald</author>
<authorID>8139</authorID>
<guid>http://csdb.dk/forums/?roomid=7&amp;topicid=177818#178028</guid>
<pubDate>Mon, 31 Aug 2026 14:56:03 +0200</pubDate>
</item>
<item><title>CSDb Discussions: Arise x Commodore x Cyberpunk franchise /Oswald</title>
<link>http://csdb.dk/forums/?roomid=7&amp;topicid=177818&amp;rss#178027</link>
<description><![CDATA[You put words into my mouth. I didnt say that the scene should be happy because of an old logo.<br />
<br />
Scene should be happy because there is official C= hardware that sells in the 10.000s and is c64 compatible. We have a new platform, that revitalizes c64.]]></description>
<author>Oswald</author>
<authorID>8139</authorID>
<guid>http://csdb.dk/forums/?roomid=7&amp;topicid=177818#178027</guid>
<pubDate>Mon, 31 Aug 2026 14:51:56 +0200</pubDate>
</item>
<item><title>CSDb Discussions: Arise x Commodore x Cyberpunk franchise /4gentE</title>
<link>http://csdb.dk/forums/?roomid=7&amp;topicid=177818&amp;rss#178026</link>
<description><![CDATA[I don&rsquo;t see a &ldquo;crusade&rdquo;. You just can&rsquo;t force people to applaud something they don&rsquo;t care for. That&rsquo;s all. Arise made a demo to go with a special edition &ldquo;C77&rdquo;. And that&rsquo;s cool. Good for them! Some people like that idea (of either a demo for the C77 platform, the hipstery hardware itself, or the bundling of demoscene artifacts in with commercial products), some do not. And perhaps I&rsquo;m naive or tonedeaf or something, but I don&rsquo;t really feel any disrespectful vibes towards the authors / OP around here). What&rsquo;s the big fuss about? Unless it&rsquo;s all a publicity stunt. Then I get it.]]></description>
<author>4gentE</author>
<authorID>35535</authorID>
<guid>http://csdb.dk/forums/?roomid=7&amp;topicid=177818#178026</guid>
<pubDate>Mon, 31 Aug 2026 14:49:42 +0200</pubDate>
</item>
<item><title>CSDb Discussions: Arise x Commodore x Cyberpunk franchise /Oswald</title>
<link>http://csdb.dk/forums/?roomid=7&amp;topicid=177818&amp;rss#178025</link>
<description><![CDATA[this]]></description>
<author>Oswald</author>
<authorID>8139</authorID>
<guid>http://csdb.dk/forums/?roomid=7&amp;topicid=177818#178025</guid>
<pubDate>Mon, 31 Aug 2026 14:47:41 +0200</pubDate>
</item>
<item><title>CSDb Discussions: Arise x Commodore x Cyberpunk franchise /Oswald</title>
<link>http://csdb.dk/forums/?roomid=7&amp;topicid=177818&amp;rss#178024</link>
<description><![CDATA[the beauty of c64u that it expands the c64 while staying compatible.<br />
<br />
I still think it is the best thing it happened to the c64 scene. We got our c65 x 100.<br />
<br />
Nobody forces anyone to only do demos for 64mhz from now on.<br />
<br />
Did the c64 scene die when we bought amigas? PCs ? No need for holy crusade against new compatible platform.]]></description>
<author>Oswald</author>
<authorID>8139</authorID>
<guid>http://csdb.dk/forums/?roomid=7&amp;topicid=177818#178024</guid>
<pubDate>Mon, 31 Aug 2026 14:38:07 +0200</pubDate>
</item>
<item><title>CSDb Discussions: Arise x Commodore x Cyberpunk franchise /Jammer</title>
<link>http://csdb.dk/forums/?roomid=7&amp;topicid=177818&amp;rss#178023</link>
<description><![CDATA[So much drama here - I'm definitely gonna watch the demo when it's out xD Sneak peaks look tasty ;)]]></description>
<author>Jammer</author>
<authorID>8105</authorID>
<guid>http://csdb.dk/forums/?roomid=7&amp;topicid=177818#178023</guid>
<pubDate>Mon, 31 Aug 2026 14:11:35 +0200</pubDate>
</item>
<item><title>CSDb Discussions: Arise x Commodore x Cyberpunk franchise /4gentE</title>
<link>http://csdb.dk/forums/?roomid=7&amp;topicid=177818&amp;rss#178022</link>
<description><![CDATA[<font color="#7c7c7c" size="1">Quote:<blockquote><i> Take those away and mightn&rsquo;t you just as well be making games for high-end PCs instead?</i></blockquote></font><br />
<br />
Or for Commodore 64X PC with Commodore OS Vision. ;-)]]></description>
<author>4gentE</author>
<authorID>35535</authorID>
<guid>http://csdb.dk/forums/?roomid=7&amp;topicid=177818#178022</guid>
<pubDate>Mon, 31 Aug 2026 13:33:37 +0200</pubDate>
</item>
<item><title>CSDb Discussions: Arise x Commodore x Cyberpunk franchise /Krill</title>
<link>http://csdb.dk/forums/?roomid=7&amp;topicid=177818&amp;rss#178021</link>
<description><![CDATA[<font color="#7c7c7c" size="1">Quoting wacek<blockquote><i>so explain to me why we are treated differently here.</i></blockquote></font>Maybe just because those were different times, when commercial C-64 software could still potentially pay the bills. =)]]></description>
<author>Krill</author>
<authorID>8104</authorID>
<guid>http://csdb.dk/forums/?roomid=7&amp;topicid=177818#178021</guid>
<pubDate>Mon, 31 Aug 2026 13:31:41 +0200</pubDate>
</item>
<item><title>C64 Coding: Fast large multiplies /Mihai</title>
<link>http://csdb.dk/forums/?roomid=11&amp;topicid=91766&amp;rss#178020</link>
<description><![CDATA[Using Firemonger's ideas the v4_practical also improved<br />
<br />
Tech notes: <a href="https://notesh.ink/sh/KuRIJc" target=_blank>https://notesh.ink/sh/KuRIJc</a><br />
<br />
umul32_v4_practical_firemonger_enhanced 691,18 cycles/2601 bytes - <a href="https://pastebin.com/sMJJyvS5" target=_blank>https://pastebin.com/sMJJyvS5</a><br />
umul32_v4_practical_firemonger_91zp 693 cycles/2599 bytes - <a href="https://pastebin.com/1kA7pHMQ" target=_blank>https://pastebin.com/1kA7pHMQ</a><br />
-----<br />
<br />
V4 Compact was also improved<br />
<br />
Tech notes: <a href="https://notesh.ink/sh/7Fy0qU" target=_blank>https://notesh.ink/sh/7Fy0qU</a><br />
<br />
umul32_v4_compact_firemonger_55 ~1665.48 cycles/55 bytes/11 ZP - when absolute size is the objective. - <a href="https://pastebin.com/j2hXuRsJ" target=_blank>https://pastebin.com/j2hXuRsJ</a><br />
umul32_v4_compact_firemonger_57fast ~1649.49 cycles/57 bytes/12 ZP - when 57 bytes is still acceptable and we want the fastest implementation at that exact code size - <a href="https://pastebin.com/u8MKGGNq" target=_blank>https://pastebin.com/u8MKGGNq</a>]]></description>
<author>Mihai</author>
<authorID>2914</authorID>
<guid>http://csdb.dk/forums/?roomid=11&amp;topicid=91766#178020</guid>
<pubDate>Mon, 31 Aug 2026 13:11:25 +0200</pubDate>
</item>
<item><title>CSDb Discussions: Arise x Commodore x Cyberpunk franchise /Raistlin</title>
<link>http://csdb.dk/forums/?roomid=7&amp;topicid=177818&amp;rss#178019</link>
<description><![CDATA[The beauty of C64 development is in the restrictions. I can&rsquo;t say it plainer than that.<br />
<br />
Take those away and mightn&rsquo;t you just as well be making games for high-end PCs instead?]]></description>
<author>Raistlin</author>
<authorID>848</authorID>
<guid>http://csdb.dk/forums/?roomid=7&amp;topicid=177818#178019</guid>
<pubDate>Mon, 31 Aug 2026 12:57:18 +0200</pubDate>
</item>
<item><title>CSDb Entries: Release id #2609 : Universal DMAgic Birthday Demo /CreaMD</title>
<link>http://csdb.dk/forums/?roomid=12&amp;topicid=178018&amp;rss</link>
<description><![CDATA[I must admit that I'm a bit shallow. I envy all those ppl that are getting XY is 50 demos. I wish I had friends that did this for me (I apporaching 51 this november), but somehow over the years I lost touch with the scene. I mean.. I never completely lost touch, but stopped actively creating things, I just occasionally use the spark ignited by upcoming party (like Forever) to do something, but never really commit to do anything more profound and deeper. It's okay for myself I know the tradeoffs (pros or cons.. or hot to put it, you know what I mean) of living my life without being active c64 scener versus benefits of having occasional feeling of fullfiment and joy when creating and presenting something. <br />
<br />
Anyway, while I was contemplating about this, I have realized that I have already done an universal DMAgic birthday (I wanted to remember I birthdays in one place so I woudln't forgot... there wasn't google calendar in your smartphone at that time. So I can tick this off my to-do list and next time JTR (1979) has his 50 I will just send him this demo. This or that... I wanted to say, there is so many people turning 50, it's kind of milestone for the scene, we are approaching peak of middle age crisis. <br />
<br />
Brace yourself, fellow sceners, and happy birhtday to everybody turning 50 this year ;-)<br />
<br />
creamd]]></description>
<author>CreaMD</author>
<authorID>411</authorID>
<guid>http://csdb.dk/forums/?roomid=12&amp;topicid=178018</guid>
<pubDate>Mon, 31 Aug 2026 12:45:43 +0200</pubDate>
</item>
<item><title>CSDb Discussions: Arise x Commodore x Cyberpunk franchise /Brush</title>
<link>http://csdb.dk/forums/?roomid=7&amp;topicid=177818&amp;rss#178017</link>
<description><![CDATA[Could we just stop that &quot;all or nothing&quot; approach please? <br />
We all love Commodore 64. We all do stuff on it. Anything that is bringing some fresh air and action into the broad c64 perimeter is either good for the community or atleast neutral. Why not cheering for people that had the guts to revive Commodore, risked their money, invested time and continue working on a stock c64 for the scene purposes?<br />
One does not exclude the other. And i can only see positive influence here. Frankly - if you guys love Gideon's hardware (and who does not?) then anything that keeps the business flowing is securing long term survival of the scene :) We're just 50yo (most of us). Still 50 more to go, mind it.]]></description>
<author>Brush</author>
<authorID>370</authorID>
<guid>http://csdb.dk/forums/?roomid=7&amp;topicid=177818#178017</guid>
<pubDate>Mon, 31 Aug 2026 11:51:13 +0200</pubDate>
</item>
<item><title>CSDb Entries: Release id #214786 : Transwarp V0.86 /Krill</title>
<link>http://csdb.dk/forums/?roomid=12&amp;topicid=174005&amp;rss#178016</link>
<description><![CDATA[<font color="#7c7c7c" size="1">Quoting BiGFooT<blockquote><i>I mean, the passphrase starts loading, but after the dirent check it immediately floods with error.</i></blockquote></font>Ah yeah, the partial key for the encrypted directory entry structure is just a few bits of the key.<br />
<br />
Getting past that reduces the key search space slightly, but yeah... still quite a few key bits left for the actual file payload encryption. =)]]></description>
<author>Krill</author>
<authorID>8104</authorID>
<guid>http://csdb.dk/forums/?roomid=12&amp;topicid=174005#178016</guid>
<pubDate>Mon, 31 Aug 2026 11:42:35 +0200</pubDate>
</item>
<item><title>CSDb Discussions: Arise x Commodore x Cyberpunk franchise /wacek</title>
<link>http://csdb.dk/forums/?roomid=7&amp;topicid=177818&amp;rss#178015</link>
<description><![CDATA[<font color="#7c7c7c" size="1">Quoting El Jefe<blockquote><i>Every kind of involvement of sceners in such kind of &quot;commercial&quot; products context kills all the scene vibes for me. :(</i></blockquote></font><br />
How many demosceners in history were involved in creating commercially sold games in the past? Did they kill the scene? Weren't we all extremely proud that they did that? This is how I remember, X-Ample, Inflexion etc?<br />
Even Reflex did the Centric game, commercially sold, did we curse them out for doing that? I think no one stopped respecting Quiss since that happened, so explain to me why we are treated differently here.]]></description>
<author>wacek</author>
<authorID>1085</authorID>
<guid>http://csdb.dk/forums/?roomid=7&amp;topicid=177818#178015</guid>
<pubDate>Mon, 31 Aug 2026 11:28:27 +0200</pubDate>
</item>
<item><title>CSDb Discussions: Arise x Commodore x Cyberpunk franchise /wacek</title>
<link>http://csdb.dk/forums/?roomid=7&amp;topicid=177818&amp;rss#178014</link>
<description><![CDATA[<font color="#7c7c7c" size="1">Quoting Jetboy<blockquote><i>Making stuff for c64 is solving puzzles how to fit in memory and make it run fast enough. Both those problems are kinda fixed for free on u64.</i></blockquote></font><br />
Not fixed and not for free, it is still the same 64kB. Cartridges which are easily available for standard C64 solve better the memory problems then C64U, REU is also available for standard C64. You still have the same problems how to fit things in memory. The Hires Ultimate is a perfect example for this. The image in that mode takes 52kB of the memory, the rest is mostly taken by the code to display it. <br />
More SIDs are nice, but again you need to fit the player and the data in memory. The one I got player takes $1400 and SID data $3000. Stop calling it all &quot;solved for free&quot;, please.]]></description>
<author>wacek</author>
<authorID>1085</authorID>
<guid>http://csdb.dk/forums/?roomid=7&amp;topicid=177818#178014</guid>
<pubDate>Mon, 31 Aug 2026 11:25:22 +0200</pubDate>
</item>
<item><title>C64 Coding: Fast division /Mihai</title>
<link>http://csdb.dk/forums/?roomid=11&amp;topicid=177939&amp;rss#178013</link>
<description><![CDATA[I'll do so]]></description>
<author>Mihai</author>
<authorID>2914</authorID>
<guid>http://csdb.dk/forums/?roomid=11&amp;topicid=177939#178013</guid>
<pubDate>Mon, 31 Aug 2026 11:23:54 +0200</pubDate>
</item>
<item><title>C64 Coding: Fast large multiplies /Mihai</title>
<link>http://csdb.dk/forums/?roomid=11&amp;topicid=91766&amp;rss#178012</link>
<description><![CDATA[Inspired from your last post we have a new AI enhanced speed demon! :)<br />
<br />
Tech notes: <a href="https://notesh.ink/sh/sd4yhJ" target=_blank>https://notesh.ink/sh/sd4yhJ</a><br />
umul32_v4_fast_firemonger_enhanced 639,13 cycles/2772 bytes - <a href="https://pastebin.com/MK2j3mFv" target=_blank>https://pastebin.com/MK2j3mFv</a><br />
<br />
The man-machine co-production is kinda crazy!]]></description>
<author>Mihai</author>
<authorID>2914</authorID>
<guid>http://csdb.dk/forums/?roomid=11&amp;topicid=91766#178012</guid>
<pubDate>Mon, 31 Aug 2026 11:13:05 +0200</pubDate>
</item>
<item><title>C64 Coding: Fast large multiplies /firemonger</title>
<link>http://csdb.dk/forums/?roomid=11&amp;topicid=91766&amp;rss#178011</link>
<description><![CDATA[FWIW if I make a practical version of that 32x32-&gt;64 algorithm that runs out of main ram instead of using 198 bytes of zero page, it comes in at 732.75 cycles average. That's well below Repose's or Mihai's AI-assisted practical versions.]]></description>
<author>firemonger</author>
<authorID>41100</authorID>
<guid>http://csdb.dk/forums/?roomid=11&amp;topicid=91766#178011</guid>
<pubDate>Mon, 31 Aug 2026 10:35:35 +0200</pubDate>
</item>
<item><title>C64 Coding: Fast large multiplies /Mihai</title>
<link>http://csdb.dk/forums/?roomid=11&amp;topicid=91766&amp;rss#178010</link>
<description><![CDATA[Hi<br />
<br />
I hope you don't mind. I put the thread I ended up with on my ChatGpt optimization spree to analyse your code, and it came up with this analysis:<br />
<br />
<a href="https://notesh.ink/sh/2sEP5Q" target=_blank>https://notesh.ink/sh/2sEP5Q</a><br />
<br />
With the 2 fixes it came up with, your code takes 649,13 cycles now.<br />
<br />
Here is the updated source code: <a href="https://pastebin.com/Uyksqj2z" target=_blank>https://pastebin.com/Uyksqj2z</a><br />
<br />
<br />
| Routine              |  Avg cycles |         ZP | Total emitted footprint |<br />
| -------------------- | ----------: | ---------: | ----------------------: |<br />
| v4 Fast normal       |     ~642.89 |      254 B |                ~2,776 B |<br />
| **Firemonger tuned** | **~649.13** | **~198 B** |            **~2,315 B** |<br />
| v4 Practical         |     ~695.98 |       92 B |                ~2,596 B |<br />
<br />
This is actually an excellent new point on the curve.<br />
<br />
It gives up only about:<br />
<br />
6.24 cycles versus v4 Fast<br />
<br />
while recovering:<br />
<br />
56 bytes of zero page<br />
<br />
and around:<br />
<br />
460 bytes of total implementation footprint.<br />
<br />
At the same time it is roughly:<br />
<br />
47 cycles faster than v4 Practical<br />
<br />
although it consumes another ~106 ZP bytes.<br />
<br />
So we have: Fast &rarr; Mid/Fused32&times;8 &rarr; Practical &rarr; Compact]]></description>
<author>Mihai</author>
<authorID>2914</authorID>
<guid>http://csdb.dk/forums/?roomid=11&amp;topicid=91766#178010</guid>
<pubDate>Mon, 31 Aug 2026 10:10:37 +0200</pubDate>
</item>
<item><title>C64 Coding: Fast division /Mihai</title>
<link>http://csdb.dk/forums/?roomid=11&amp;topicid=177939&amp;rss#178009</link>
<description><![CDATA[Here you go:<br />
<br />
Tech explanation: <a href="https://notesh.ink/sh/9tcEZ1" target=_blank>https://notesh.ink/sh/9tcEZ1</a><br />
<br />
div_u16_128_fastest 96,34 cycles - <a href="https://pastebin.com/i6Yigd7i" target=_blank>https://pastebin.com/i6Yigd7i</a><br />
div_u16_256_fastest 87,08 cycles - <a href="https://pastebin.com/mw0VUfaZ" target=_blank>https://pastebin.com/mw0VUfaZ</a><br />
<br />
The complete size/speed curve now looks approximately like this:<br />
<br />
Code       Average cycles<br />
<br />
  64 B       748.91     Compact<br />
 103 B       131.67     Practical-small<br />
 127 B        96.35     DIV16/128<br />
 256 B        87.09     DIV16/256<br />
1135 B        69.45     Size Fast<br />
13874 B       63.09     Extreme Speed<br />
<br />
Two transitions are especially useful for a demo/game library.<br />
<br />
103 -&gt; 127 bytes<br />
<br />
+24 bytes<br />
131.67 -&gt; 96.35 cycles<br />
~26.8% lower average latency<br />
This is an exceptional return on code size.<br />
<br />
127 -&gt; 256 bytes<br />
<br />
+129 bytes<br />
96.35 -&gt; 87.09 cycles<br />
~9.6% lower average latency<br />
Still worthwhile for code that divides frequently.<br />
<br />
Beyond 256 bytes, the memory cost per additional cycle saved rises sharply.]]></description>
<author>Mihai</author>
<authorID>2914</authorID>
<guid>http://csdb.dk/forums/?roomid=11&amp;topicid=177939#178009</guid>
<pubDate>Mon, 31 Aug 2026 09:42:02 +0200</pubDate>
</item>
<item><title>C64 Coding: Fast large multiplies /firemonger</title>
<link>http://csdb.dk/forums/?roomid=11&amp;topicid=91766&amp;rss#178008</link>
<description><![CDATA[Wow Mihai: 642.9 IS fast. You don't know how hard these things are until you try them. So I tried doing the multiplication algorithm like from elementary school, and just make it fast. My best version doing that is 668.2 cycles average with the code running out of zp, and I feel like I was pretty clever in the &quot;make it fast&quot; tricks. <br />
<br />
The approach: use a 32x8-&gt;40 bit subroutine with the fast fused carry from the 16x16 routine, and make it store a strided output into $0,X, $06,X, etc to store directly into lda/adc immediate arguments for fast summation of the final result, with different offset in X register for multiplying by each of y0,y1,y2,y3.<br />
<br />
I'm using the parity bias trick suggested for the small extra win it gives.<br />
<br />
Mine has a timing breakdown of:<br />
139 cycles self-mod x0,x1,x2,x3 into multipliers and call subroutine with y0,y1,y2,y3;<br />
419 cycles multiply routines: 32x8-&gt;40 bit multiplies at about 105 cycles each <br />
110 cycles summation of the multiplication results<br />
<br />
The Kahan/Karatsuba 16x3 breakdown really does get you farther than that. <br />
<br />
Here's what that looks like. (Sorry Jackasser, I'm going to just paste it here :-/)<br />
<br />
<pre wrap="on">
; ---------------------------------------------------------------------------------------
; umult 32x32 zero page
; average 668.2 cycles
;
; summation plan:
;             . z04 z03 z02 z01 z00
;         + z14 z13 z12 z11 z10   :
;           -------------------   :
;         .  t3  t2  t1  t0   :   : 
;     + z24 z23 z22 z21 z20   :   : 
;       -------------------   :   :
;     .  s3  s2  s1  s0   :   :   :
; + z34 z33 z32 z31 z30   :   :   :
; ---------------------------------
; =  r7  r6  r5  r4  r3  r2  r1  r0       

; ---------------------------------------------------------------------------------------

*=$200
; tables with parity bias : even bias 0, odd bias 202

!align 255, 0, 0
sqr_lo: 
!for i,0,(511)-1 { !byte &lt;((i*i + 202*(i&amp;1))/4) }
!align 255, 0, 0
sqr_hi: 
!for i,0,(511)-1 { !byte &gt;((i*i + 202*(i&amp;1))/4) }
!align 255, 0, 0
neg_sqr_lo:
!for i,0,(511)-1 { !byte 255 - (&lt;(((255-i)*(255-i) + 202*((255-i)&amp;1))/4)) }
!align 255, 0, 0
neg_sqr_hi:
!for i,0,(511)-1 { !byte 255 - (&gt;(((255-i)*(255-i) + 202*((255-i)&amp;1))/4)) }

; ----------------------------------------------------------

; main entrypoint -- setup code can be in main memory
; in  : x0, x1, x2, x3 zp addresses, y0 in Y register, y1, y2, y3 in zp addresses
; out : 32 bit product of x*y in A r6 r5 r4 r3 r2 r1 r0 
umult32x32zeropage

; ============ setup for x
; x0 passed in zp location specified in _sqr_lo_0
		lda x0
		sta _sqr_hi_0 + 1
		eor #$FF
		sta _neg_lo_0 + 1
		sta _neg_hi_0 + 1
; x1 passed in zp location specified in _sqr_lo_1
		lda x1
		sta _sqr_hi_1 + 1
		eor #$FF
		sta _neg_lo_1 + 1
		sta _neg_hi_1 + 1
; x2 passed in zp location specified in _sqr_lo_2
		lda x2
		sta _sqr_hi_2 + 1
		eor #$FF
		sta _neg_lo_2 + 1
		sta _neg_hi_2 + 1
; z3 passed in zp location specified in _sqr_lo_3
		lda x3
		sta _sqr_hi_3 + 1
		eor #$FF
		sta _neg_lo_3 + 1
		sta _neg_hi_3 + 1

; ============= multiply x by y0,y1,y2,y3
		; y0 in Y register on input
		ldx #&lt;z00
		sec
		jsr umult32x8_same_x
y1 = *+1
		ldy #0
		ldx #&lt;z10
		jsr umult32x8_same_x
y2 = *+1	
		ldy #0
		ldx #&lt;z20
		jsr umult32x8_same_x
y3 = *+1
		ldy #0
		ldx #&lt;z30
		jsr umult32x8_same_x

		jmp summation

; ---------------------------------------------------------------------
; 32x8 bit unsigned multiply -- zero page version
; x0,x1,x2,x3 inputs inline below; must have setup routine called first for x
; y0 is passed in Y register
; results are stored at a stride of 6 in zero page addresses starting at X register:
; z0 at X; z1 at X+6; z2 at X+12; z3 at X+18; z4 at X+24
; requires carry set on entry

*=#$02 
umult32x8_same_x
; =========== P00 : calculate x0*y0  
x0 = *+1
_sqr_lo_0	lda sqr_lo,y
_neg_lo_0	adc neg_sqr_lo,y
		sta 0,x
_sqr_hi_0	lda sqr_hi,y
_neg_hi_0	adc neg_sqr_hi,y                     
; =========== P10
x1 = *+1
_sqr_lo_1	adc sqr_lo,y
		bcs _p10_carry
_neg_lo_1	adc neg_sqr_lo,y
		sta 6,x
_sqr_hi_1	lda sqr_hi,y
_p10_tail 
_neg_hi_1	adc neg_sqr_hi,y
; ============ P20
x2 = *+1
_sqr_lo_2	adc sqr_lo,y
		bcs _p20_carry
_neg_lo_2	adc neg_sqr_lo,y
		sta 12,x
_sqr_hi_2	lda sqr_hi,y
_p20_tail
_neg_hi_2	adc neg_sqr_hi,y
; ============ P30
x3 = *+1
_sqr_lo_3	adc sqr_lo,y
		bcs _p30_carry
_neg_lo_3	adc neg_sqr_lo,y
		sta 18,x
_sqr_hi_3	lda sqr_hi,y
_p30_tail	
_neg_hi_3	adc neg_sqr_hi,y
		sta 24,x
		rts
; ============ out-of-line carry paths 
_p10_carry
		clc
		adc (_neg_lo_1+1),y
		sta 6,x
		lda #1 ; carry 1 in A, 0 or 1 in C
		adc (_sqr_hi_1+1),y
		jmp _p10_tail 
_p20_carry
		clc
		adc (_neg_lo_2+1),y
		sta 12,x
		lda #1 ; carry 1 in A, 0 or 1 in C
		adc (_sqr_hi_2+1),y
		jmp _p20_tail
_p30_carry
		clc
		adc (_neg_lo_3+1),y
		sta 18,x
		lda #1 ; carry 1 in A, 0 or 1 in C
		adc (_sqr_hi_3+1),y
		jmp _p30_tail 

; ============= sum results -- code must by in zero page

r4 = *
.byte 0
r5 = *
.byte 0
r6 = *
.byte 0
; results stride of 6 from umult32x8 so z00 need to be exactly where it is relative to following code
z00 = *
r0 = *
.byte 0
r1 = *
.byte 0
r2 = *
.byte 0
r3 = *
.byte 0
summation
		clc
		lda #01
z10 = *+1
		adc #10
		sta r1 
		lda #02
		adc #11
		sta t0
		lda #03
		adc #12
		sta t0 + 6
		lda #04
		adc #13
		sta t0 + 12
		lda #$00
		adc #14
		sta t0 + 18   ; ____ t calculated
t0 = *+1
		lda #0
z20 = *+1
		adc #20
		sta r2 
		lda #1
		adc #21
		sta s0
		lda #2
		adc #22
		sta s0 + 6
		lda #3
		adc #23
		sta s0 + 12
		lda #$00
		adc #24
		sta s0 + 18  ; ____ s calculated
s0 = *+1
		lda #0
z30 = *+1
		adc #30
		sta r3 
		lda #1
		adc #31
		sta r4
		lda #2
		adc #32
		sta r5    
		lda #3
		adc #33 
		sta r6
		lda #$00
		adc #34    ; last strided store
		rts

</pre>]]></description>
<author>firemonger</author>
<authorID>41100</authorID>
<guid>http://csdb.dk/forums/?roomid=11&amp;topicid=91766#178008</guid>
<pubDate>Mon, 31 Aug 2026 08:50:11 +0200</pubDate>
</item>
<item><title>CSDb Discussions: Arise x Commodore x Cyberpunk franchise /Jetboy</title>
<link>http://csdb.dk/forums/?roomid=7&amp;topicid=177818&amp;rss#178007</link>
<description><![CDATA[<font color="#7c7c7c" size="1">Quoting Raistlin<blockquote><i>'j<br />
It's a little bit sad but, hey, if it brings new sceners to C64 and if it brings us some new (real) C64 games, it's all fine.</i></blockquote></font><br />
<br />
I wouldn&rsquo;t count on that. If new people owning u64 would do anything it would use new features - digital audio playback, faster cpu, more memory. It is so much easier to do stuff there, you can write 3d engine in c that would be working 50 fps on a u64 (just an example). Sure it has it quirks, but the speed makes it so much easier. And if they own u64 why would they not use it&rsquo;s power. Making stuff for c64 is solving puzzles how to fit in memory and make it run fast enough. Both those problems are kinda fixed for free on u64. Making games, especially good games is not easy feat, so it is still impressive, just doing them on u64 is so much easier than on c64.<br />
<br />
Btw. Why would new games for c64 change anything? Totally not get this argument.]]></description>
<author>Jetboy</author>
<authorID>630</authorID>
<guid>http://csdb.dk/forums/?roomid=7&amp;topicid=177818#178007</guid>
<pubDate>Mon, 31 Aug 2026 08:22:19 +0200</pubDate>
</item>
<item><title>CSDb Discussions: Arise x Commodore x Cyberpunk franchise /Raistlin</title>
<link>http://csdb.dk/forums/?roomid=7&amp;topicid=177818&amp;rss#178006</link>
<description><![CDATA['just because Commodore is &quot;back&quot;'<br />
<br />
Commodore isn't back. Zzap!64 isn't back either.<br />
<br />
But ... I just let the new kids enjoy their time. Commodore and Newsfield never would've hired these guys in the 80s.<br />
<br />
It's a little bit sad but, hey, if it brings new sceners to C64 and if it brings us some new (real) C64 games, it's all fine.]]></description>
<author>Raistlin</author>
<authorID>848</authorID>
<guid>http://csdb.dk/forums/?roomid=7&amp;topicid=177818#178006</guid>
<pubDate>Mon, 31 Aug 2026 06:25:40 +0200</pubDate>
</item>
<item><title>CSDb Discussions: Arise x Commodore x Cyberpunk franchise /El Jefe</title>
<link>http://csdb.dk/forums/?roomid=7&amp;topicid=177818&amp;rss#178005</link>
<description><![CDATA[Agree with Krill.<br />
<br />
Every kind of involvement of sceners in such kind of &quot;commercial&quot; products context kills all the scene vibes for me. :(<br />
<br />
Im not saying that involved sceners are making profit, but, having demoscene productions featured on the product package itself, helping to market it (e.g. Violators), with screenshots of the production on the package of a commercial product ... and now even a C64U special edition branded with a game theme that has NOTHING to do with the c64 at all ... not my cup of tea and feels totally off, it kinda hurts! <br />
<br />
I always thought scene is some kind of underground thing. Is the scene going commercial now, just because Commodore is &quot;back&quot;???]]></description>
<author>El Jefe</author>
<authorID>39084</authorID>
<guid>http://csdb.dk/forums/?roomid=7&amp;topicid=177818#178005</guid>
<pubDate>Mon, 31 Aug 2026 04:15:33 +0200</pubDate>
</item>
<item><title>CSDb Discussions: Arise x Commodore x Cyberpunk franchise /Krill</title>
<link>http://csdb.dk/forums/?roomid=7&amp;topicid=177818&amp;rss#178004</link>
<description><![CDATA[<font color="#7c7c7c" size="1">Quoting Oswald<blockquote><i>I think the best thing that could have happened to the c64 scene is Commmodore offical, officially releasing a new compatible c64. You cant make this up in your wettest dream.</i></blockquote></font>I wonder why the &quot;Commodore official&quot; bit means so much to some people.<br />
<br />
Why would that old logo on new hardware  mean anything to &quot;the scene&quot;, if by that you mean the people releasing demos and such?]]></description>
<author>Krill</author>
<authorID>8104</authorID>
<guid>http://csdb.dk/forums/?roomid=7&amp;topicid=177818#178004</guid>
<pubDate>Mon, 31 Aug 2026 02:55:25 +0200</pubDate>
</item>
<item><title>CSDb Discussions: Arise x Commodore x Cyberpunk franchise /chatGPZ</title>
<link>http://csdb.dk/forums/?roomid=7&amp;topicid=177818&amp;rss#178003</link>
<description><![CDATA[great arguments as usual. Thanks!]]></description>
<author>chatGPZ</author>
<authorID>572</authorID>
<guid>http://csdb.dk/forums/?roomid=7&amp;topicid=177818#178003</guid>
<pubDate>Mon, 31 Aug 2026 02:38:39 +0200</pubDate>
</item>
<item><title>CSDb Discussions: Arise x Commodore x Cyberpunk franchise /Jazzcat</title>
<link>http://csdb.dk/forums/?roomid=7&amp;topicid=177818&amp;rss#178002</link>
<description><![CDATA[Rubbish. Cheers.]]></description>
<author>Jazzcat</author>
<authorID>623</authorID>
<guid>http://csdb.dk/forums/?roomid=7&amp;topicid=177818#178002</guid>
<pubDate>Mon, 31 Aug 2026 02:37:53 +0200</pubDate>
</item>
<item><title>C64 Coding: Fast division /Oswald</title>
<link>http://csdb.dk/forums/?roomid=11&amp;topicid=177939&amp;rss#178001</link>
<description><![CDATA[nice!<br />
<br />
would be nice if you added these routines into here:<br />
<br />
<br />
<br />
<a href="https://codebase64.net/doku.php?id=base:6502_6510_maths#division" target=_blank>https://codebase64.net/doku.php?id=base:6502_6510_maths#division</a>]]></description>
<author>Oswald</author>
<authorID>8139</authorID>
<guid>http://csdb.dk/forums/?roomid=11&amp;topicid=177939#178001</guid>
<pubDate>Mon, 31 Aug 2026 02:33:53 +0200</pubDate>
</item>
<item><title>C64 Coding: Fast division /Mihai</title>
<link>http://csdb.dk/forums/?roomid=11&amp;topicid=177939&amp;rss#178000</link>
<description><![CDATA[Hi<br />
<br />
Here are 3 solutions which are now optimized for size.<br />
<br />
Tech explanation: <a href="https://notesh.ink/sh/j2Mo6Q" target=_blank>https://notesh.ink/sh/j2Mo6Q</a><br />
<br />
div_u16_size_fast 69,45 cycles at 1135 bytes - <a href="https://pastebin.com/B6hNjfgU" target=_blank>https://pastebin.com/B6hNjfgU</a><br />
div_u16_size_practical 131,67 cycles at 103 bytes - <a href="https://pastebin.com/hBK9PYkM" target=_blank>https://pastebin.com/hBK9PYkM</a><br />
div_u16_size_compact 748,91 cycles at 64 bytes - <a href="https://pastebin.com/1ets3Guj" target=_blank>https://pastebin.com/1ets3Guj</a><br />
<br />
Fast: inner-loop math in a demo/game where ~1.1 KB is acceptable and NMOS undocumented opcodes are fine.<br />
Practical: default drop-in. 103 bytes is negligible in most programs and ~132 average cycles remains very fast for a general 16/16 divide.<br />
Compact: intros, tiny loaders, resident utility code, or any place where every byte is more important than latency.<br />
<br />
So the particularly interesting discontinuity is:<br />
<br />
You can throw away roughly 12.7 KB and lose only ~6 cycles.<br />
That tells us something important about the old speed search: the final few cycles were extraordinarily expensive in memory.<br />
<br />
The second discontinuity is equally useful:<br />
Going from 1,135 bytes to 103 bytes costs ~62 cycles, but makes the routine almost irrelevant to the program's memory budget.<br />
<br />
And then Compact is the genuine size extreme.]]></description>
<author>Mihai</author>
<authorID>2914</authorID>
<guid>http://csdb.dk/forums/?roomid=11&amp;topicid=177939#178000</guid>
<pubDate>Mon, 31 Aug 2026 02:24:07 +0200</pubDate>
</item>
<item><title>C64 Coding: Fast division /Oswald</title>
<link>http://csdb.dk/forums/?roomid=11&amp;topicid=177939&amp;rss#177999</link>
<description><![CDATA[REU is horrible IMHO who the fuck came up with that, copying is not expanding.., it should have been banked in RAM.]]></description>
<author>Oswald</author>
<authorID>8139</authorID>
<guid>http://csdb.dk/forums/?roomid=11&amp;topicid=177939#177999</guid>
<pubDate>Mon, 31 Aug 2026 01:13:46 +0200</pubDate>
</item>
<item><title>C64 Coding: Fast division /chatGPZ</title>
<link>http://csdb.dk/forums/?roomid=11&amp;topicid=177939&amp;rss#177998</link>
<description><![CDATA[<font color="#7c7c7c" size="1">Quote:<blockquote><i>Actually, I've tried that, and it's not faster. It takes too long to setup the registers for REU. GeoRAM might have a chance.</i></blockquote></font><br />
Cartridge - ie 8kb Banks of ROM :) That is superfast (and its one of the reasons for why using those huge cartridges for games actually makes sense)]]></description>
<author>chatGPZ</author>
<authorID>572</authorID>
<guid>http://csdb.dk/forums/?roomid=11&amp;topicid=177939#177998</guid>
<pubDate>Mon, 31 Aug 2026 01:06:38 +0200</pubDate>
</item>
<item><title>C64 Coding: Fast division /Oswald</title>
<link>http://csdb.dk/forums/?roomid=11&amp;topicid=177939&amp;rss#177997</link>
<description><![CDATA[these routines would be best if optimized for size too, they should be drop ins into other code.]]></description>
<author>Oswald</author>
<authorID>8139</authorID>
<guid>http://csdb.dk/forums/?roomid=11&amp;topicid=177939#177997</guid>
<pubDate>Mon, 31 Aug 2026 01:03:11 +0200</pubDate>
</item>
</channel>
</rss>