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 > cursor-control.
2003-04-04 07:16
Testicle
Account closed

Registered: Sep 2002
Posts: 131
cursor-control.

well, for a diskmag-system i want the user to be able to use both joystick and/or cursor-keys to choose chapters.

joystick is no problem, but then i tried to implement the cursor-function:

.keyboard lda $c5
cmp #7
beq .leftright
cmp #2
beq .updown
cmp #1
beq .jfire
rts
.leftright lda $028d
and #1
bne .jleft
jmp .jright
.updown lda $028d
and #1
bne .jup
jmp .jdown


first i used this function during the irq, but it didn't work. now i use this function beside my irq-routines, but nothing happens.

do i have to set special registers to get access to the cursor-keys or something like that?!?
 
... 20 posts hidden. Click here to view all posts....
 
2020-04-27 17:34
chatGPZ

Registered: Dec 2001
Posts: 11130
You can also do more fun stuff by scanning the keyboard in different ways than the standard way - see https://sourceforge.net/p/vice-emu/code/HEAD/tree/testprogs/CIA.. (this doesnt work very well in any emulator)
2020-04-27 20:26
Fresh

Registered: Jan 2005
Posts: 101
Quoting Krill
If simultaneous JOY1 and keyboard input isn't required, then i guess this can be done.

$DC00 (output) selects keyboard matrix column, then $DC01 (input, also JOY1) reflects pressed keys in the bits corresponding with the keybard matrix row.

Now, if no column is selected ($DC00 set to $ff) and $DC01 reads $ff, then JOY1 isn't active.
Do the required keyboard scans, then re-check if JOY1 still isn't active. Use the scanned keys if so, discard if JOY1 was active.

That's exactly the approach I used in the code I linked in my previous post: I read CIA 1 port B before and after checking keyboard, if both reads are $ff I can consider reliable the keyboard data.
This indeed works but if you use both keyboard and joystick simultaneously, only the status of the latter will be read.
Yes, you can scan a limited number of rows but again, it won't be the 100% I mentioned before either.
2020-04-27 23:28
Krill

Registered: Apr 2002
Posts: 2850
Yes yes, the disclaimers remain valid.

Quoting Fresh
That's exactly the approach I used in the code I linked in my previous post
Which... wasn't quite so obvious from the barely-commented code, to be honest. =) So apologies for stating in prose what your code does in... code. :D
2020-04-28 13:45
Fresh

Registered: Jan 2005
Posts: 101
Quoting Krill
Which... wasn't quite so obvious from the barely-commented code, to be honest.

Ehm... Touchez :D
2020-04-28 14:39
Frantic

Registered: Mar 2003
Posts: 1627
Quote: @digger: necro-poster of the year! Congrats! :)

For custom keyscan I recommend Codebase and TLR’s routine.


@Jackasser: What article do you refer to here?
2020-04-28 14:51
JackAsser

Registered: Jun 2002
Posts: 1989
Quote: @Jackasser: What article do you refer to here?

TWW/CTR ffs. Sorry. :D https://codebase64.org/doku.php?id=base:scanning_the_keyboard_t..
2020-04-28 15:40
Oswald

Registered: Apr 2002
Posts: 5022
3 key rollover is an overkill in most cases. usually you need this for menus or simple navigation, not for a text editor for fast typers :)
2020-04-28 18:25
JackAsser

Registered: Jun 2002
Posts: 1989
Quote: 3 key rollover is an overkill in most cases. usually you need this for menus or simple navigation, not for a text editor for fast typers :)

Indeed. I use that routine in EotB but extended to support c128 keyboard also.
Previous - 1 | 2 | 3 - 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
Mythus/Delysid
Guests online: 130
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 Crackers
1 Mr. Z  (9.9)
2 Antitrack  (9.8)
3 OTD  (9.8)
4 S!R  (9.7)
5 Faayd  (9.7)

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