I gifted myself with a second HP-71B (ROM version 1BBBB). I’ve posted on this great machine in the past here: https://goo.gl/yDp3Ab. This pocket computer from 1984 is really a nice machine. Among the many cool features, it has one of the best BASIC I’ve seen up to now. Although I’ve used the SHARP PC-1500 extensively when I was a teenager (the HP-71B was out of reach financially), I do consider the HP BASIC to be way superior to the SHARP implementation. As a little test, I’ve ported the running man graphic animation of the PC-1500 (https://goo.gl/Rd2Ftj) to the HP-71B (see video & pics). The systems are pretty equivalent with few noticeable differences beside the different commands’ syntaxe. The HP memory / variable management is interesting in the sense that you can manage precisely the amount of memory used by each variables, program and file. For example, you can adapt the type of a variables (or array) to match your values’ range and shave off few precious bytes. Most interestingly, you have to explicitly retire your variable (DESTROY instruction). This is a great feature I wish the PC-1500 had back then. But the SHARP is better at assigning HEX values to a string array, and way more flexible when it comes to do bitmap graphics, thanks to the GCURSOR instruction. Indeed, to advance the running man, on the PC-1500, it suffices to set the graphic cursor to the next column, when with the HP-71B, I had to build a filler string (with as many 0 characters as the column to display the bitmap) and concatenate them while using the GDISP instruction. Surprisingly, form a performance point of view, both versions of the program are comparable.

SHARP PC-1500 -> HP-71B
"0000207f0000" -> CHR$(0)&CHR$(0)&CHR$(32)&CHR$(127)&CHR$(0)&CHR$(0)
"0000663f1800" -> CHR$(0)&CHR$(0)&CHR$(102)&CHR$(63)&CHR$(24)&CHR$(0)
"0044221f3400" -> CHR$(0)&CHR$(68)&CHR$(34)&CHR$(31)&CHR$(52)&CHR$(0)
"0024221f1224" -> CHR$(0)&CHR$(36)&CHR$(34)&CHR$(31)&CHR$(18)&CHR$(36)
"0014221f2440" -> CHR$(0)&CHR$(20)&CHR$(34)&CHR$(31)&CHR$(36)&CHR$(64)
"0000163f6400" -> CHR$(0)&CHR$(0)&CHR$(22)&CHR$(63)&CHR$(100)&CHR$(0)

If you want to know more about BASIC, I recommend you the following link: https://youtu.be/WYPNjSoDrqw