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: 45
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: 4051
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: 337
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: 877
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: 2
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: 601
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: 4051
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
pmprog
ptoing
Matt
Valsary/BD/ESM
Guests online: 55
Top Demos
1 Uncensored  (9.7)
2 Edge of Disgrace  (9.7)
3 The Shores of Reflec..  (9.6)
4 Coma Light 13  (9.6)
5 Lunatico  (9.6)
6 Comaland 100%  (9.5)
7 Incoherent Nightmare  (9.5)
8 Wonderland XII  (9.5)
9 Comaland  (9.5)
10 Wonderland XIII  (9.5)
Top onefile Demos
1 Dawnfall V1.1  (9.5)
2 Daah, Those Acid Pil..  (9.5)
3 Treu Love [reu]  (9.4)
4 Dawnfall  (9.3)
5 SidRok  (9.3)
6 Achtung 5 Years Mayd..  (9.3)
7 One-Der  (9.2)
8 Tunnel Vision  (9.2)
9 Globe 2016 [reu]  (9.1)
10 Safe VSP  (9.1)
Top Groups
1 Booze Design  (9.4)
2 Oxyron  (9.4)
3 Censor Design  (9.3)
4 Crest  (9.3)
5 Arsenic  (9.3)
Top Webmasters
1 Slaygon  (9.6)
2 Perff  (9.6)
3 Morpheus  (9.5)
4 Sabbi  (9.4)
5 CreaMD  (9.3)

Home - Disclaimer
Copyright © No Name 2001-2017
Page generated in: 0.26 sec.