[comp.sys.handhelds] 'New' Functions for hp42s

harlow@plains.UUCP (Jay B. Harlow) (03/23/90)

Hello,
   With the advent of the hp48sx, i got looking on my 42s, boy guess what
i found!

the memory scanner..... (gee why not on the hp28?

'debugging' features:

	key		function
	on-sqrt(x)	reset 
	on-log		single tests (see below)
	on-ln		continuous tests
	on-sum+-xeq	memory  clear!

Single tests:
	key		test
	sum+		SPD ??
	1/x		BEEP
	sqrt(x)		DISPLAY, 7 'steps' of any key
	log		ROM
	ln		DRAM
	xeq		URAM
	sto		KeyBoard, need to press from upper-left to lower-right
			sum+, 1/x, sqrt(x)...... . r/s, +
	rcl		ESD ??
	rdn(pi)		ok message
	backspace(clear)	MEMORY SCANNER!!!!!! ;-)))

Memory Scanner:
	key		function
	up-arrow	+1000h nybbles
	dn-arrow	-1000h nybbles
	div-key		-100h
	mul-key		+100h
	-		-1h
	+		+1h
	cos		+16h, xmit on infrared??? (no printer to check)
	0-9,a-b		enter a digit into memory, +1h (like base app)
	.		execute address in ROM???
	backspace	refresh

Addresses:

	40000-4020c	display
	4020c-40xxx	status line
	50000		memory
	503f6, 2	len alpha reg
	502f8		alpha reg
	50082		last key ??
	50084		key buffer head, tail 
	50086		16 byte key buffer
; table of 5 nybble ptrs
	500b8		ptr to top of stack, 
			this is indirect, & points to last byte of stack,
			go left or lower in memory
			CAN HAVE MORE THAN ST X, ST Y, ST Z, ST T, ST L
	500d6		ptr to program end?
	500db		ptr to REGS var, & rest of var list

; inst table?  
;	nybble len
;	str	name
;	addr	address?	; 5 nybble address????

	1db62		ABS
	1e8a8		XFCN
	1e9fa		[MIN]
	1ea2d		'TED4ME' ??? looks like a function but no work....
	1ea3f		'DDST X'

;	i have a whole list of em, but to lazy to type em in.....

'New' instuctions.....

	XFCN str	wants a program label?, needs something else
			always says 'Nonexistent'

	[FIND]		find a value in an array.
			01 INDEX "REGS"		; look in this array
			02 2			; number to look for
			03 [FIND]		; look for a 2 (ST X)
			04 RCLIJ		; where found

	[MIN]		find the minimum in array
	[MAX]		find the maximum in array
			this two look in a single column
			returns: ST Y - row where found
				 ST X - value 

			01 3
			02 ENTER
			03 DIM "AA"		; a sqauare 3x3
			04 1			; starting row
			05 3			; column
			06 STOIJ		; look in third column
			07 [MIN]		; or [MAX]

Well for now thats enough?

	Hope you enjoy these new findings,
	
		Jay B. Harlow
			
-- 
		Jay B. Harlow	<harlow@plains.nodak.edu>
	uunet!plains!harlow (UUCP)	harlow@plains (Bitnet)

Of course the above is personal opinion, And has no bearing on reality...

umapd51@sunb.cc.ic.ac.uk (W.A.C. Mier-Jedrzejowicz) (03/24/90)

Many thanks to Jay B. Harlow for posting his discoveries on the HP-42S.
Most of what Jay describes has already been covered on
comp.sys.handhelds, on the HPHH echo in FidoNet, and in user club
magazines, but there are always new readers who have not seen the
earlier postings, so there is no harm in posting again.  My point in
writing this is to tell keen HP-42S users that the most recent issue of
the journal of the Danish user club has an article IN ENGLISH on just
these HP-42S topics.  XFCN is explained there as a command to execute a
machine language function which the user can enter direct into RAM with
the debugger.  I submit a list of user club addresses to this area from
time to time, maybe the arrival of the HP 48SX and the subsequent
increase in interest in all HP handhelds means I should submit an
updated address list again.  Might I ask anyone who knows of new clubs
or of address changes to send information to me personally, and I shall
post an updated list on comp.sys.handhelds in about a week?  Some users
of electronic mail and bulletin boards feel that the Guthenberg
technology is best left to die - but I feel that both technologies have
their uses - a club journal is much more useful on a plane flight or a
train ride than is attempting to download and read a bulletin board
article under those circumstances.
Wlodek Mier-Jedrzejowicz,
Space Physics, Imperial College, London UK,
Disclaimer: my opinions, if they are opinions, are not the opinions of
my employer, if my employer has opinions.

bruce@hpcvra.CV.HP.COM (Bruce Stephens) (03/28/90)

Let me dispell any misconceptions about the use of XFCN on the HP-42S.
It is totally useless in any machine covered under HP's warranty.  It
could possibly be used if some machine happened to have a static RAM
or an EPROM accidently stuck onto its circuit board and a trace or two
broken or solder-bridged on the circuit board.

If such a calculator happened to have this configuration, it would
have memory at address 20000 (hex).  In a really bizzare twist of
fate, if the first five nibbles at that address happen to be F3CA5,
the HP-42S will not give the usual "Nonexistent" error.  Instead, the
CPU will do a subroutine jump to address 20005 (hex) and execute
whatever assembly level code happens to be there.  It is possible that
this code could even look at the value of the mysterious parameter to
XFCN and do different things based on its value.

All of this would be fairly difficult given that this is a "closed"
machine, whose internals are not documented or supported by HP.

Bruce Stephens