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 > LDA (ZP,x)
2016-05-16 14:31
oziphantom

Registered: Oct 2014
Posts: 490
LDA (ZP,x)

Has anybody ever used this opcode and if so what for?
2016-05-16 15:13
JackAsser

Registered: Jun 2002
Posts: 2014
Rare. But for pointers on ZP f.e.
2016-05-16 15:44
Hein

Registered: Apr 2004
Posts: 954
I used it for my music editor to call functions in and outside IRQ, so that IRQ can call the same subroutine when it's allready running outside IRQ. Else the ZP values are trashed when IRQ is done and returning to the original function.

X=0 out IRQ, X=2 in IRQ

snippet:
	lda zp_ed_scr_nybble_hi,x
	sta (zp_ed_scr_to_lo,x)
	inc zp_ed_scr_to_lo,x
	bne +
	inc zp_ed_scr_to_hi,x
+

	lda zp_ed_scr_nybble_lo,x
	sta (zp_ed_scr_to_lo,x)
	inc zp_ed_scr_to_lo,x
	bne +
	inc zp_ed_scr_to_hi,x
+
...
2016-05-16 16:21
Oswald

Registered: Apr 2002
Posts: 5094
never.
2016-05-16 16:28
MagerValp

Registered: Dec 2001
Posts: 1078
It's one of those "seemed like a good idea at the time" opcodes. Everyone would have been happier if we got (ZP),x instead.
2016-05-16 17:10
Peiselulli

Registered: Oct 2006
Posts: 81
(zp) is also missing
2016-05-16 17:19
Oswald

Registered: Apr 2002
Posts: 5094
another opcode would have been more useful, fex sty abs,x stx abs,y. or the mentioned (),x
2016-05-16 17:31
Jammer

Registered: Nov 2002
Posts: 1335
Or txy/tyx ;)
2016-05-16 18:43
tlr

Registered: Sep 2003
Posts: 1790
It's useful for channelized implementations like a music player. If you have your voice structures in zp you can address your data pointers using the regular 0,7,14 index for instance. I've used this method in Breakage.

The fact that the 6502 instruction set is so asymmetric is a large part of making it fun to code for IMO.
2016-05-16 18:46
cadaver

Registered: Feb 2002
Posts: 1160
tlr: That's a cool usage. Though you'll have the downside of having to manipulate the ZP pointer every time you want to access successive bytes (for example note, instrument, duration) from music data, instead of just incrementing Y.
2016-05-16 18:54
Slammer

Registered: Feb 2004
Posts: 416
I really miss add. (adc without carry)
 
... 33 posts hidden. Click here to view all posts....
 
Previous - 1 | 2 | 3 | 4 | 5 - 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
csabanw
Flex/Artline Designs
Magic/Nah-Kolor
psych
Guests online: 110
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 Triad  (9.3)
5 Censor Design  (9.3)
Top Logo Graphicians
1 t0m3000  (10)
2 Sander  (9.8)
3 Mermaid  (9.5)
4 Facet  (9.4)
5 Shine  (9.4)

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