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 > Wanted: Source codes (for badass)
2020-10-17 08:22
Sasq

Registered: Apr 2004
Posts: 155
Wanted: Source codes (for badass)

In order to improve my assembler it would be great to try it on existing projects.

So if you have sources for demos/intros/games that you don't mind sharing it would be kind if you could send them my way, and I'll try to get them working in bass.

They need to be buildable the normal way (Kickass, Acme or whatever) so I can compare the output binaries...

(this also means that if your type of demos requires special tools there is a greater chance I will include such functionality in bass).

-- sasq64@gmail.com
 
... 65 posts hidden. Click here to view all posts....
 
2020-10-23 12:51
Golara
Account closed

Registered: Jan 2018
Posts: 212
https://gitlab.com/pseregiet/samar-ghost-in-the-sydney-c64
https://gitlab.com/pseregiet/desire-fastline-c64-intro
https://gitlab.com/pseregiet/samar-watcher-of-time-and-space-c64
https://gitlab.com/pseregiet/desire-4k-for-moonshine
https://gitlab.com/pseregiet/one-year-a-scener
2020-10-23 13:30
TheRyk

Registered: Mar 2009
Posts: 2076
contact ACME creator Mac Bacon normally he's eager to help
2020-10-26 23:26
Walt

Registered: May 2004
Posts: 47
REUTools 1.0 also contains source code...
2020-11-01 06:23
Krill

Registered: Apr 2002
Posts: 2850
One thing i just came across again:

It would be nice to have the assembler emit an actual 16-bit operand with things like "lda $0000" and "sta $0000,x" as opposed to "lda $00" etc.

They seem to consistently insist on knowing better and "optimise" the code for zeropage access.

To counter this, all kinds of syntax (one fuglier than the next) to force specific address sizes were invented. Ugh. =)
2020-11-01 09:15
tlr

Registered: Sep 2003
Posts: 1717
Quoting Krill
One thing i just came across again:

It would be nice to have the assembler emit an actual 16-bit operand with things like "lda $0000" and "sta $0000,x" as opposed to "lda $00" etc.

They seem to consistently insist on knowing better and "optimise" the code for zeropage access.

To counter this, all kinds of syntax (one fuglier than the next) to force specific address sizes were invented. Ugh. =)

Tricky case. Do you have a suggestion for a good rule for this except in the trivial case with a constant?
I suppose a bit string concept like in 64tass might be sufficient. Not sure if 64tass uses it in that way though.
2020-11-01 11:32
Krill

Registered: Apr 2002
Posts: 2850
Quoting tlr
Tricky case. Do you have a suggestion for a good rule for this except in the trivial case with a constant?
I'm mostly interested in the trivial case where there are 16-bit values with a zero high-byte as literal operands (to be used with self-modifying and unrolled code).

When going via indirections (labels, symbols, expressions), explicitly marking 16-bit access the traditional way is okay.
2020-11-01 12:42
tlr

Registered: Sep 2003
Posts: 1717
Quote: Quoting tlr
Tricky case. Do you have a suggestion for a good rule for this except in the trivial case with a constant?
I'm mostly interested in the trivial case where there are 16-bit values with a zero high-byte as literal operands (to be used with self-modifying and unrolled code).

When going via indirections (labels, symbols, expressions), explicitly marking 16-bit access the traditional way is okay.


Recording the number of bits a constant was defined with, but maybe not propagating it through expressions would solve your use case. Might be annoying that it behaves differently if used in expression though.

I'd look a 64tass and see if and how that solves it first though.
2020-11-01 12:43
soci

Registered: Sep 2003
Posts: 474
Technically possible even with labels and expressions but it'd be too fragile to rely on it. Also some people tend to write out excess zeros to line up columns nicely(?).

The suggested "trivial" case for "mnemonic $00xx" would be not okay as it results in an inconsistent special case.

Personally what I tend to do is:

lda $abcd,x ; random address as it'll be overwritten anyway

lda @w 0,x ; traditionally

Further alternatives:

lda 0,b,x ; ask for address in data bank (not restricted to 65816)

selfmod = 0,b
lda selfmod,x ; same but self descriptive

.dpage ? ; direct page independent code
lda 0,x ; therefore this won't result in B5 00
2020-11-01 13:24
Krill

Registered: Apr 2002
Posts: 2850
Yes, i don't like any of those workarounds. :)

What about annotating the opcode, such as "lda.w $0000"?
And if that's ambiguous because it could imply reading a 16-bit value, not reading from a 16-bit address, something like "lda.m $0000"?
2020-11-01 14:28
tlr

Registered: Sep 2003
Posts: 1717
Quote: Yes, i don't like any of those workarounds. :)

What about annotating the opcode, such as "lda.w $0000"?
And if that's ambiguous because it could imply reading a 16-bit value, not reading from a 16-bit address, something like "lda.m $0000"?


This is how it works in dasm, at least my fork. This is also how chose to handle it in my own assembler. .a/.w for forcing 16-bit and .z/.b for forcing 8-bit.

I thought you didn't like it being explicitly annotated? Maybe I assumed wrong?
Previous - 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 - 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
Dr. Doom/RAD
Guests online: 124
Top Demos
1 Next Level  (9.8)
2 Mojo  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Comaland 100%  (9.6)
6 No Bounds  (9.6)
7 Uncensored  (9.6)
8 Wonderland XIV  (9.6)
9 Memento Mori  (9.6)
10 Bromance  (9.5)
Top onefile Demos
1 It's More Fun to Com..  (9.7)
2 Party Elk 2  (9.7)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.5)
5 TRSAC, Gabber & Pebe..  (9.5)
6 Rainbow Connection  (9.5)
7 Dawnfall V1.1  (9.5)
8 Quadrants  (9.5)
9 Daah, Those Acid Pil..  (9.5)
10 Birth of a Flower  (9.5)
Top Groups
1 Nostalgia  (9.3)
2 Oxyron  (9.3)
3 Booze Design  (9.3)
4 Censor Design  (9.3)
5 Crest  (9.3)
Top NTSC-Fixers
1 Pudwerx  (10)
2 Booze  (9.7)
3 Stormbringer  (9.7)
4 Fungus  (9.6)
5 Grim Reaper  (9.3)

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