Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in 
CSDb User Forums


Forums > C64 Coding > 24 bit hex value to decimal 8 digit screen output ?
2016-03-04 00:39
la-style

Registered: Sep 2003
Posts: 36
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 01:03
Oswald

Registered: Apr 2002
Posts: 3834
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 07:39
Hoogo

Registered: Jun 2002
Posts: 76
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 08:17
soci

Registered: Sep 2003
Posts: 253
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 08:34
MagerValp

Registered: Dec 2001
Posts: 832
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 08:34
YPS

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

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

Registered: Aug 2004
Posts: 399
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 21:26
Oswald

Registered: Apr 2002
Posts: 3834
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
Didi/Laxity
fenz/SCC
Mr. Mouse/XeNTaX
bugjam
Biz Kid/Camelot - Ox..
Romppainen/ΤRIΛD
ZeSmasher/F4CG/ATL
Oswald/Resource
Røly/MYD^STHD^TSA
Miller
Guests online: 26
Top Demos
1 Uncensored  (9.7)
2 Coma Light 13  (9.7)
3 Edge of Disgrace  (9.7)
4 Comaland  (9.6)
5 Comaland 100%  (9.6)
6 Wonderland XII  (9.5)
7 Fantasmolytic  (9.5)
8 Rocketry  (9.5)
9 We Are Demo  (9.4)
10 +H2K  (9.4)
Top onefile Demos
1 Treu Love [reu]  (9.5)
2 Daah, Those Acid Pil..  (9.4)
3 Dawnfall  (9.3)
4 One-Der  (9.2)
5 Hardware Accelerated..  (9.2)
6 MD201605  (9.1)
7 Safe VSP  (9.1)
8 Black Magic  (9.0)
9 Goatbeard  (9.0)
10 Te-Te-Te-TechTech It..  (9.0)
Top Groups
1 Censor Design  (9.4)
2 Booze Design  (9.4)
3 Crest  (9.4)
4 Oxyron  (9.4)
5 Nostalgia  (9.2)
Top Webmasters
1 Slaygon  (9.6)
2 Perff  (9.5)
3 Morpheus  (9.4)
4 CreaMD  (9.4)
5 Sabbi  (9.4)

Home - Disclaimer
Copyright © No Name 2001-2016
Page generated in: 0.5 sec.