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 > C64 Assembly Tutorial
2007-03-17 18:29
lan64+
Account closed

Registered: Mar 2007
Posts: 10
C64 Assembly Tutorial

Hi

Which the best tutorial for learn Assembly language???

And I want to make a multipart demo with some screens,sinus and rasters,but I have a little problem....

1 - I have a "Delta screen with rasters + some chars,etc"...but I need a routine for "Space Key and Load the Next part"


Please,help me!

Thanx
 
... 3 posts hidden. Click here to view all posts....
 
2007-03-17 22:30
iAN CooG

Registered: May 2002
Posts: 3197
LOL
2007-03-18 00:23
hollowman

Registered: Dec 2001
Posts: 474
Quote: Violator

Thanks for your tips.


But help me with my "Demo Question"....send me some routine for my "Trackmo"




download Loaders , assemble firqinit.seq and firqload.seq
and use the loader like this

demostart
	sei
	jsr firqinit

demopart
	inc $d020
checkspace
	lda $dc01
	cmp #239
	bne demopart


	lda #$3b
	sta $d011
	lda #$18
	sta $d018
	lda #$00
	sta $dc00
	lda #$80
	sta $d012
	lda #<loaderpart
	sta $0314
	lda #>loaderpart
	sta $0315
	lda #$01
	sta $d01a
	lda #$7f
	sta $dc0d
	bit $dc0d
	dec $d019
	cli
	
	ldx #"s" ;first character of filename
	ldy #"h" ;second character of filename
	lda #$00 ;load unpacked file by filename
	jsr firqload

	jmp nextdemopart
loaderpart
	inc $d019
	inc $d020
	jmp $ea7e
2007-03-31 03:59
lan64+
Account closed

Registered: Mar 2007
Posts: 10
Hollowman

Please send me a "Commodore Monitor" version from this code.


Thankx
2007-03-31 06:03
Nightlord
Account closed

Registered: Jan 2003
Posts: 131
@lan64: use a cross-assembler or if you are dying to code on c64 then substitute every name you see with a $cxxx address

2007-03-31 13:42
Scout

Registered: Dec 2002
Posts: 1570
Quote: @lan64: use a cross-assembler or if you are dying to code on c64 then substitute every name you see with a $cxxx address



Personally I think it's not smart to learn coding assembler in a cross-dev. environment.
First try it in a monitor (every popular cart has one and some emulators have spartan versions) to learn about memory-addresses, registers, carry-flag behaviour etc.

Just my 2 euro-cents.
2007-03-31 14:19
lan64+
Account closed

Registered: Mar 2007
Posts: 10
Nightlord and Scout


I need a "little routine" for "load the nextpart",please help me.

I have build some simple intro using the "Demo Demon",but when I press space,nothing happens!!!!!

Then,I have found a simple routine for "Press Space",but I need anot
her

2007-03-31 14:23
Scout

Registered: Dec 2002
Posts: 1570
Quote: Nightlord and Scout


I need a "little routine" for "load the nextpart",please help me.

I have build some simple intro using the "Demo Demon",but when I press space,nothing happens!!!!!

Then,I have found a simple routine for "Press Space",but I need anot
her



A simple press space example (monitor example) and the same Hollowman gave you already:

.C:c000   AD 01 DC   LDA $DC01
.C:c003   C9 EF      CMP #$EF
.C:c005   D0 F9      BNE $C000
.C:c007   60         RTS


2007-03-31 18:20
lan64+
Account closed

Registered: Mar 2007
Posts: 10
Yes Scout...that's right.

But my post has failed.

The "Press Space" routine I have here.

But I need the "Load Next Part" routine....only this

Please help me again

Thanks a lot.
2007-03-31 19:05
Conrad

Registered: Nov 2006
Posts: 849
Quote:
I need the "Load Next Part" routine....only this


Open monitor (I use AR6 cartridge) and enter this in:

.a c000

LDA #$08
TAX
TAY
JSR $FFBA
LDA #$0F (*)
LDX #$00
LDY #$C1
JSR $FFBD
LDA #$00
TAX
TAY
JSR $FFD5
JMP $(next part address)


.a c100

00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00

^
|
|
filename data


(*) #$0F is the number of characters in the file to load.


Probably not the fastest loader as it uses the standard kernal routines, but it is a good start.
2007-04-06 16:08
Richard

Registered: Dec 2001
Posts: 621
Here's an interesting one for anyone who wants to display a Vidcom paint bitmap while loading something with a flashing border :)

;Loader

* = $c000
sei
ldx #$00
setpic lda $5800,x
sta $d800,x
lda $5900,x
sta $d900,x
lda $5a00,x
sta $da00,x
lda $5ae8,x
sta $dae8,x
inx
bne setpic
lda #$00
sta $d020
sta $d021
lda #$3b
sta $d011
lda #$02
sta $dd00
lda #$18
sta $d016
lda #$78
sta $d018
lda #<flashload
ldx #>flashload
sta $0328
stx $0329
cli
lda #$08
ldx $ba
tay
jsr $ffba
lda #$06
ldx #<loadname
ldy #>loadname
jsr $ffbd
lda #$00
jsr $ffd5
ldx #$08
jsr $ffc3
jsr $ffcc

jsr $ff81
lda #$03
sta $dd00
lda #$1b
sta $d011
lda #$14
sta $d018
lda #$08
sta $d016
lda #$37
sta $01
jmp $080c

flashload stx $d020
stx $d418
jmp $f6fe


loadname .text"FLNAME*"
Previous - 1 | 2 - 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
deetsay
heavymett
Peacemaker/CENSOR/Hi..
Acidchild/Padua
HCL/Booze Design
MightyAxle
Guests online: 124
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 No Listen  (9.6)
2 Layers  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.6)
6 Dawnfall V1.1  (9.5)
7 Rainbow Connection  (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 Censor Design  (9.3)
5 Triad  (9.3)
Top Crackers
1 Mr. Z  (9.9)
2 Antitrack  (9.8)
3 OTD  (9.8)
4 Fungus  (9.8)
5 S!R  (9.8)

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