Post Reply 
50g sd card funciton
09-30-2018, 02:24 PM
Post: #1
50g sd card funciton
wherer to find the detials.
the instruction
"accesssd" in hp advance user's reference manual.
how to use it ?
Find all posts by this user
Quote this message in a reply
09-30-2018, 09:38 PM
Post: #2
RE: 50g sd card funciton
Not sure what your question is. There is no such instruction in the HP 50g.
Find all posts by this user
Quote this message in a reply
10-01-2018, 03:02 AM
Post: #3
RE: 50g sd card funciton
... maybe this https://support.hp.com/us-en/product/hp-.../c01974483 from the learning modules.

Joerg
Find all posts by this user
Quote this message in a reply
10-01-2018, 04:34 AM
Post: #4
RE: 50g sd card funciton
(09-30-2018 02:24 PM)BlackMi Wrote:  wherer to find the detials.
the instruction
"accesssd" in hp advance user's reference manual.
how to use it ?

ACCESSSD is one of the additional "Saturnator" opcodes that are available to Saturn assembly language programmers when targeting one of the ARM-based RPL calculators.

IIRC, a selector needs to be loaded into the P register before issuing that opcode, but I've never seen any official documentation for the various options it recognizes.

There's a couple of references to it in the 50g AUR, and several posts in the comp.sys.hp48 newsgroup, but I'm afraid none of that really shows what all the options are.

If there's any published documentation for it, I've never been able to find it in the usual places. If Claudio L. happens to see this post, perhaps he can share what he knows about the various parameters for ACCESSSD since I'm pretty sure he spent some time digging around to uncover some of its secrets in the past.
Find all posts by this user
Quote this message in a reply
10-01-2018, 06:56 AM
Post: #5
RE: 50g sd card funciton
(10-01-2018 04:34 AM)DavidM Wrote:  
(09-30-2018 02:24 PM)BlackMi Wrote:  wherer to find the detials.
the instruction
"accesssd" in hp advance user's reference manual.
how to use it ?

ACCESSSD is one of the additional "Saturnator" opcodes that are available to Saturn assembly language programmers when targeting one of the ARM-based RPL calculators.

IIRC, a selector needs to be loaded into the P register before issuing that opcode, but I've never seen any official documentation for the various options it recognizes.

There's a couple of references to it in the 50g AUR, and several posts in the comp.sys.hp48 newsgroup, but I'm afraid none of that really shows what all the options are.

If there's any published documentation for it, I've never been able to find it in the usual places. If Claudio L. happens to see this post, perhaps he can share what he knows about the various parameters for ACCESSSD since I'm pretty sure he spent some time digging around to uncover some of its secrets in the past.
Thank you very much for your kindness!
There are much more new Saturn instrctions for ARM-based Calculators without details.
Hope someone can offer documents for those instructions.
Find all posts by this user
Quote this message in a reply
10-01-2018, 07:21 PM
Post: #6
RE: 50g sd card funciton
"Intro to Saturn Assembly Language" chapter 53 only says this:

   

-road
Find all posts by this user
Quote this message in a reply
10-02-2018, 05:13 AM
Post: #7
RE: 50g sd card funciton
Hello,

I tried to have a look in the emulator, but the data is spread out in a lot of places :-(

I however found this of interest...
And emu48 might be better commented and organized. But at least this should give you a head start to dig deeper.

const NativeCodeFunctionPointer NativeCodeFunctions[MAX_NATIVE_CODES] =
{
// 0x00
native_loop, // 80B 00
native_flagprep, // 80B 10
native_testflag, // 80B 20
native_false, // 80B 30
native_dofalse, // 80B 40
native_makebeep, // 80B 50
native_movedown, // 80B 60
native_moveup, // 80B 70
native_createtemp, // 80B 80
native_RCKBp, // 80B 90
native_keydn, // 80B A0
native_goslow, // 80B B0
DN,DN,DN,DN,

// 0x10
native_poweroff, // 80B 01
native_gettime, // 80B 11
native_settime, // 80B 21
native_reset, // 80B 31
native_selftest, // 80B 41
native_isnative, // 80B 51
DN, // 80B 61
native_getserial, // 80B 71
DN, // 80B 81
DN,DN,DN,DN,DN,DN,DN,

// 0x20
DN,DN,DN,DN,DN,DN,DN,DN,
native_hst1, // 80B 82
native_Hscreensize, // 80B 92
native_Wscreensize, // 80B A2
native_IsMidApple, // 80B B2
native_IsBigApple, // 80B C2
native_SetKeyboardBufferService, // 80B D2
native_IsAppleV2, // 80B E2
native_SetKeyTime, // 80B F2

// 0x30
native_config_disp0, // 80B 03
native_unconfig_disp0, // 80B 13
native_refresh_disp0, // 80B 23
native_set_lines_disp0, // 80B 33
native_set_offset_disp0, // 80B 43
native_get_lines_disp0, // 80B 53
DN,DN,
native_testhst1, // 80B 83x
DN,DN,DN,DN,DN,DN,DN,

// 0x40
native_BBReconfModules, // 80B 04
native_FREraseBank, // 80B 14
native_FRWriteBytes, // 80B 24
native_FRFormatBank, // 80B 34
DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,

// 0x50
native_remoteon, // 80B 05
native_remoteoff,// 80B 15
DN, // 80B 25
DN, // 80B 35
DN, // 80B 45
DN, // 80B 55
native_outbyt, // 80B 65
DN,DN,DN,DN,DN,DN,DN,DN,DN,

// 0x60
native_access_sd, // 80B 06
native_valid_port_tag, // 80B 16
native_RclAssembly, // 80B 26
native_ScanEveryObject, // 80B 36
native_CheckSD, // 80B 46
native_CheckSDProtect, // 80B 56
native_FormatSD, // 80B 66
DN,DN,DN,DN,DN,DN,DN,DN,DN,

// 0x70
DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,
native_setfield,

// 0x80
native_mov, // 80B 08
native_add, // 80B 18
native_sub, // 80B 28
native_mult, // 80B 38
native_div, // 80B 48
native_mod, // 80B 58
native_not, // 80B 68
native_neg, // 80B 78
native_left, // 80B 88
native_right,// 80B 98
native_xor, // 80B A8
DN,DN,DN,DN,DN,

// 0x90
native_SaltireCode,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,

// 0xA0
DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,

// 0xB0
DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,

// 0xC0
DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,

// 0xD0
DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,

// 0xE0
DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,
native_cacheflush, // 80B EE
native_armcallsys, // 80B FE

// 0xF0
DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,
native_armcall // 80B FF
};

Although I work for the HP calculator group, the views and opinions I post here are my own. I do not speak for HP.
Find all posts by this user
Quote this message in a reply
10-02-2018, 01:27 PM
Post: #8
RE: 50g sd card funciton
(10-02-2018 05:13 AM)cyrille de brĂ©bisson Wrote:  Hello,

I tried to have a look in the emulator, but the data is spread out in a lot of places :-(

I however found this of interest...
And emu48 might be better commented and organized. But at least this should give you a head start to dig deeper.

const NativeCodeFunctionPointer NativeCodeFunctions[MAX_NATIVE_CODES] =
{
// 0x00
native_loop, // 80B 00
native_flagprep, // 80B 10
native_testflag, // 80B 20
native_false, // 80B 30
native_dofalse, // 80B 40
native_makebeep, // 80B 50
native_movedown, // 80B 60
native_moveup, // 80B 70
native_createtemp, // 80B 80
native_RCKBp, // 80B 90
native_keydn, // 80B A0
native_goslow, // 80B B0
DN,DN,DN,DN,

// 0x10
native_poweroff, // 80B 01
native_gettime, // 80B 11
native_settime, // 80B 21
native_reset, // 80B 31
native_selftest, // 80B 41
native_isnative, // 80B 51
DN, // 80B 61
native_getserial, // 80B 71
DN, // 80B 81
DN,DN,DN,DN,DN,DN,DN,

// 0x20
DN,DN,DN,DN,DN,DN,DN,DN,
native_hst1, // 80B 82
native_Hscreensize, // 80B 92
native_Wscreensize, // 80B A2
native_IsMidApple, // 80B B2
native_IsBigApple, // 80B C2
native_SetKeyboardBufferService, // 80B D2
native_IsAppleV2, // 80B E2
native_SetKeyTime, // 80B F2

// 0x30
native_config_disp0, // 80B 03
native_unconfig_disp0, // 80B 13
native_refresh_disp0, // 80B 23
native_set_lines_disp0, // 80B 33
native_set_offset_disp0, // 80B 43
native_get_lines_disp0, // 80B 53
DN,DN,
native_testhst1, // 80B 83x
DN,DN,DN,DN,DN,DN,DN,

// 0x40
native_BBReconfModules, // 80B 04
native_FREraseBank, // 80B 14
native_FRWriteBytes, // 80B 24
native_FRFormatBank, // 80B 34
DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,

// 0x50
native_remoteon, // 80B 05
native_remoteoff,// 80B 15
DN, // 80B 25
DN, // 80B 35
DN, // 80B 45
DN, // 80B 55
native_outbyt, // 80B 65
DN,DN,DN,DN,DN,DN,DN,DN,DN,

// 0x60
native_access_sd, // 80B 06
native_valid_port_tag, // 80B 16
native_RclAssembly, // 80B 26
native_ScanEveryObject, // 80B 36
native_CheckSD, // 80B 46
native_CheckSDProtect, // 80B 56
native_FormatSD, // 80B 66
DN,DN,DN,DN,DN,DN,DN,DN,DN,

// 0x70
DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,
native_setfield,

// 0x80
native_mov, // 80B 08
native_add, // 80B 18
native_sub, // 80B 28
native_mult, // 80B 38
native_div, // 80B 48
native_mod, // 80B 58
native_not, // 80B 68
native_neg, // 80B 78
native_left, // 80B 88
native_right,// 80B 98
native_xor, // 80B A8
DN,DN,DN,DN,DN,

// 0x90
native_SaltireCode,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,

// 0xA0
DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,

// 0xB0
DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,

// 0xC0
DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,

// 0xD0
DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,

// 0xE0
DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,
native_cacheflush, // 80B EE
native_armcallsys, // 80B FE

// 0xF0
DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,DN,
native_armcall // 80B FF
};

Thank you for giving me a head. When I read the head my head became biger. I don't know how to dig deeper, just want to sleep deeper. Smile
Find all posts by this user
Quote this message in a reply
10-02-2018, 03:30 PM
Post: #9
RE: 50g sd card funciton
(10-01-2018 04:34 AM)DavidM Wrote:  If there's any published documentation for it, I've never been able to find it in the usual places. If Claudio L. happens to see this post, perhaps he can share what he knows about the various parameters for ACCESSSD since I'm pretty sure he spent some time digging around to uncover some of its secrets in the past.

I'll look in the only place I could've kept hand-written notes about it: My copy of the James Donelly book which has some notes in it from my Saturn coding days. I remember the P register would select a sub-function, but they were nothing particularly useful.
If you need access to the SD card from RPL, I'd say use the SDLIB that comes with the SD Filer. It has more complete SD card access than the virtual saturn opcode.
Find all posts by this user
Quote this message in a reply
10-02-2018, 03:50 PM
Post: #10
RE: 50g sd card funciton
(10-02-2018 03:30 PM)Claudio L. Wrote:  I'll look in the only place I could've kept hand-written notes about it: My copy of the James Donelly book which has some notes in it from my Saturn coding days. I remember the P register would select a sub-function, but they were nothing particularly useful.
If you need access to the SD card from RPL, I'd say use the SDLIB that comes with the SD Filer. It has more complete SD card access than the virtual saturn opcode.

P=8 seems to be the one that others have discussed, but I'm sure there are others. Thanks in advance for anything you're able to share.

I'm also particularly looking forward to experimenting with some of the previously-unknown (to me) opcodes listed in Cyrille's header file above. Unfortunately I have little bandwidth for calculator experiments right now...
Find all posts by this user
Quote this message in a reply
10-02-2018, 04:27 PM
Post: #11
RE: 50g sd card funciton
(10-02-2018 03:50 PM)DavidM Wrote:  P=8 seems to be the one that others have discussed, but I'm sure there are others. Thanks in advance for anything you're able to share.

I'm also particularly looking forward to experimenting with some of the previously-unknown (to me) opcodes listed in Cyrille's header file above. Unfortunately I have little bandwidth for calculator experiments right now...

Found an old post with more info.
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 3 Guest(s)