JeeK wrote:Whatever you expecting, I doubt that $8C37 does it in this way. A $942D it can be seen that A is loaded from $50 (destroys D) and B is stored as exponent ...??? I can't imagine this is a usable entry point... (referring to the disassembly you provided in the corresponding forums thread).
If compare it to the D64 ROM this entry point looks more like that you are expecting. Maybe some information has been intermixed between various ROM versions (D32 ROM and D64 ROM in D32 mode)?
Maybe there is a other ROM entry point which can be used?
I collect all interesting parts from Stew's D64ROM.txt, see:
viewtopic.php?f=5&t=4370&p=11388#p11378
$92DA ;load FPA2 from varptr X
$93BF ;load variable into FPA1 (X is varptr)
$9FD0 ;assign D to FPA1
$9C3E ;assign contents of $52 / $53 to FPA1
also interesting:
$9587 ;convert FPA1 to string at $3DA
$93DA ;assign FPA1 to variable store $40 - $44
$93D5 ;assign FPA1 to variable store $45 - $49
Maybe i should do something with VARPTR ?
The used $8C37 ROM code:
Code: Select all
*** assign D to FPA1 (signed)
8C37 0F06 CLR <$06 ;numeric / string flag
8C39 DD50 STD <$50
8C3B C690 LDB #$90
8C3D 7E942D JMP $942D ;signed assign!
The "$9FD0 ;assign D to FPA1" part:
Code: Select all
9FD0 0F06 CLR <$06 ;numeric / string flag
9FD2 DD52 STD <$52
9FD4 C690 LDB #$90 ;meaningless
9FD6 7E9C3E JMP $9C3E ;assign contents of $52 / $53 to FPA1
D would be stored at $52 / $53 and then call $9C3E insert in FPA1...
I will not try to store my value with POKE at $52 / $53 and call $9C3E
EDIT: Doesn't work, code:
https://gist.github.com/jedie/22dba94f5 ... 0fac864dbf diffs:
https://gist.github.com/jedie/22dba94f5 ... /revisions
Next idea: POKE to $1052 / $1053 and move it in machine code part to $52 / $53
EDIT2: Done with:
https://gist.github.com/jedie/22dba94f5 ... 4fda40945a diff:
https://gist.github.com/jedie/22dba94f5 ... /revisions
Also not work as expected