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: 3135
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

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: 1568
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: 1568
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: 833
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: 619
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
Chico/Civitas
Mike
Magic/Nah-Kolor
Twilight/Excess/Arcade
Oswald/Resource
Acidchild/Padua
zscs
Bieno/Commodore Plus
Guests online: 122
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 Wafer Demo  (9.5)
8 Dawnfall V1.1  (9.5)
9 Quadrants  (9.5)
10 Daah, Those Acid Pil..  (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 Diskmag Editors
1 Jazzcat  (9.4)
2 Magic  (9.4)
3 hedning  (9.2)
4 Elwix  (9.1)
5 A Life in Hell  (9.1)

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