Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
 Welcome to our latest new user juanjosescg ! (Registered 2024-04-16) You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > 24 bit hex value to decimal 8 digit screen output ?
2016-03-03 23:39
lA-sTYLe

Registered: Sep 2003
Posts: 63
24 bit hex value to decimal 8 digit screen output ?

I am looking for a solution that converts a 24 bit hex Value to 8 Digit decimal for displaying on Screen.

Anybody who saw something that might be usefull which i didnt notice yet ?
2016-03-04 00:03
Oswald

Registered: Apr 2002
Posts: 5017
each hex digit is 4 bit. each byte is made of 2x4bits. 24 bit is made up of 3 8 bit bytes. thus the problem is reductable to a table lookup of 16 elements.


lda byte
and #%00001111 ;converting low 4 bits to screen
tax
lda table_nr_to_hex_digits,x
sta screen

lda byte
lsr
lsr
lsr ;converting high 4 bits to screen
lsr
tax
lda table_nr_to_hex_digits,x
sta screen+1

now you take the 2nd byte and repeat above + change screen location.

now you take the 3rd byte and repeat above.


work out the table and screen locations for yourself.
2016-03-04 06:39
Hoogo

Registered: Jun 2002
Posts: 102
Oswald, it seems you've forgotten the conversion to decimal.

Does something match from the codebase? https://codebase64.org/doku.php?id=base:io_programming#text_man..
2016-03-04 07:17
soci

Registered: Sep 2003
Posts: 473
You may try to convert it to a 32 bit BCD number with the shift+add method. Or use the table of powers of ten method. And of course the repeated division/modulo by 10 works too.
2016-03-04 07:34
MagerValp

Registered: Dec 2001
Posts: 1055
6502.org is great for this kind of stuff;

http://6502.org/source/integers/hex2dec.htm

But the general idea is to repeatedly divide by 10 and print the modulo.
2016-03-04 07:34
YPS

Registered: Oct 2012
Posts: 5
I like this solution:

http://codebase64.org/doku.php?id=base:32_bit_hexadecimal_to_de..
2016-03-04 08:08
ChristopherJam

Registered: Aug 2004
Posts: 1370
Hah! I really should have checked codebase before running all those decruncher speed tests, would have meant I could just type the decimal into my results instead of having hex in my json and decimal only in the reports..
2016-03-04 20:26
Oswald

Registered: Apr 2002
Posts: 5017
Quote: Oswald, it seems you've forgotten the conversion to decimal.

Does something match from the codebase? https://codebase64.org/doku.php?id=base:io_programming#text_man..


ofcourse...

note to self: dont give code advice at 01:00 am just woken up in the nightshift.
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
Frostbyte/Artline De..
TheRyk/MYD!
csabanw
anonym/padua
Didi/Laxity
Guests online: 217
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 The Ghost  (9.6)
10 Bromance  (9.6)
Top onefile Demos
1 It's More Fun to Com..  (9.9)
2 Party Elk 2  (9.7)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.5)
5 Rainbow Connection  (9.5)
6 TRSAC, Gabber & Pebe..  (9.5)
7 Onscreen 5k  (9.5)
8 Dawnfall V1.1  (9.5)
9 Quadrants  (9.5)
10 Daah, Those Acid Pil..  (9.5)
Top Groups
1 Oxyron  (9.3)
2 Nostalgia  (9.3)
3 Booze Design  (9.3)
4 Censor Design  (9.3)
5 Crest  (9.3)
Top Swappers
1 Derbyshire Ram  (10)
2 Jerry  (9.8)
3 Violator  (9.8)
4 Acidchild  (9.7)
5 Starlight  (9.6)

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