Тёмный

HP 71B - FORTH/Assembler ROM from 1984 

Calculator Culture
Подписаться 7 тыс.
Просмотров 5 тыс.
50% 1

This is video is about the HP 71B FORTH/Assembler ROM from 1984 which added the FORTH programming language and a Saturn code assembler to the 71B.
In the video I talk about some of the history of FORTH, its basic usage, HP's FORTH extensions and how FORTH relates to RPL. I also talk about using the assembler to create FORTH primitives, LEX and BIN files.
In the video I use Mark Fleming's MultiMod ROM emulator. For more information about the MultiMod check out the following article:
- www.hpmuseum.org/forum/thread...
Sections of this video:
0:00 - Intro
1:05 - MultiMod ROM Emulator
1:25 - History of FORTH
2:29 FORTH on the 71B
5:54 - Word definitions
7:04 - Text editor
8:02 - N-Queens example
12:02 - Assembler
13:10 - Summary
For more calculator videos check out my channel / calculatorculture

Наука

Опубликовано:

 

13 июл 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 17   
@tsatziq
@tsatziq Год назад
Forth and ed on a portable calculator? That's a dream come true!
@sloanroyal
@sloanroyal Год назад
So cool! I never knew a calculator existed that could run forth code. I need one of these.
@TheGrantourismo
@TheGrantourismo Год назад
There are a lot of them, actually.
@davidg1830
@davidg1830 Год назад
This is not a calculator but a personal pocket computer. Same fact for HP 48 although it was sold as advanced scientific calculator. If there is a way, without hacking, to run machine code it is a personal computer. In a programmable calculator you can't scape of its limitting environment, you are limited in tat way. In a personal computer you are limited only by its hardware. So if in a calculator you can access machine code, for example from BASIC with POKE and CALL/SYS commands, you are not limited to calculator environment and you can do what want with hardware as only limitation.
@runrin_
@runrin_ Год назад
always appreciate your videos. thanks! 🙏
@clangerbasher
@clangerbasher 8 месяцев назад
1970 not 1979. Super channel!!!!!!!!!!!
@aldwenbarte3021
@aldwenbarte3021 Год назад
Bold Move
@john_hind
@john_hind Год назад
The only program harder to read and understand than a poorly factored Forth program is a well factored Forth program!
@CalculatorCulture
@CalculatorCulture Год назад
😂
@davidg1830
@davidg1830 Год назад
True: if you want it to be readable it needs abundant and good comments on code. we en with that problem it was ideal for small computers: an 8 KB Forth implementation had editor, development environment, structured programming and tons of useful words (commands and functions) while an 8 KB BASIC interpreter was a joke, much more limited and slower. The problem with Forth was people: most of them were unable to use it or to work to learn it.
@john_hind
@john_hind Год назад
@@davidg1830 "The problem with Forth was people". First off, glad you use the past tense! The other problem with Forth is the damn horror keeps crawling out of its coffin to haunt a new generation! Surely the whole point of a computer language is to be easier for people to write and understand than machine language? Machine language has a zero byte overhead, so an 8KB runtime is only worth its bytes if it makes things easier than machine language. 'Abundant comments' either negates the space saving of the runtime or necessitates some sort of cross-development tooling and in that case you may as well use a cross-compiler system such as Arduino with a language that is actually readable!
@davidg1830
@davidg1830 Год назад
@@john_hind Most people are not good at maths abstraction: Is math wrong or is most people fault? People using HP RPN cacls or HP RPL clacs doesn't trade them for an algebraic or BASIC-language calc even if you pay them to do so, as RPN or RPL are more productive. The problem with them is thinking is different and a lot of people is lazy or their brains are hard as a rock. «Surely the whole point of a computer language is to be easier for people to write and understand than machine language?»: And Forth is much easier to understand and use than ML, it is portable, and light-years more productive. «... an 8KB runtime is only worth its bytes if it makes things easier than machine language.»: I have programmed in assembly language and even some very small programs directly in ML, and they are light-years bellow Forth in productivy and easy of use. With Forth you define words (equivalent of procedures and functions from other higher level programming languages) and you do that on the fly, i.e. you can use or test new words as soon as you define them. In assembly it is a nightmare of edit, assembly, etc, you don't define words you can immediately use like in Forth. With assembly/ML you have to deal with tons of peculiarity of chosen CPU, you have to deal with limited registers, you can do same things on one, tipically but not on others. In Forth you get free from all that. assembly/ML is dependant on each type/family of CPU. For example if you learn Saturn CPU assembly/ML you can it on HP-71b and some old HP calcs (for example on wonderful HP 48 series) now dead; you can't use it on other CPU. On the other side if you learn Forth you can use Forth where you want. If we look at HOME COMPUTERS from '80 we can see how good Forth is. Near all home computers came with an integrated BASIC language. The only good BASIC form home computers I know about is BBC BASIC on BBC Micro because it supports commands/function definitions for structured programming (like on C or Pascal languages), it needed 16 KB ROM (for BASIC, without O/S). All other BASIC languages included with all other home computers I know about are SIMPLY TRASH as you can't define new commands/functions for structured programming. For example Commodore 64/128 BASIC (BASIC v2.0 on C64 and BASIC v7.0 on C128) or ZX Spectrum BASIC are rubbish because that reason. On Forth the natural way is structured programming: you define new words and they get/take back arguments from stack. It is simple, elegant and efficient. On most 8-bit BASIC you can't do that, you only can do GOSUB line-number and without arguments, really horrible. And you say Forth is not easier? Really? «Abundant comments' either negates the space saving of the runtime or necessitates some sort of cross-development tooling»: 1/ That is the same for assembly and a lot of other languages. You need comments because when you take back even a week later, it can be you don't know what was going on that code. 2/ You can keep comments on soruce code and/or documentation and they can be eliminated from words. For example in RPL (RPL is like a Forth with objects and some LIPS capabilities) on HP cacls comments are automatically stripped down when you enter it on machine. You can keep comments on source code or documentation. For example imagine we doesn't have a command/function to calculate remainder on an integer division. On Forth we can define one and we call it MOD, we can note on doc it takes two arguments and take back one result, we don't need to waste memory on computer if we don't want. The same for inner comments on code. And the best point with Forth is we can test than new word (command/function) immediately an interactively: we can push numbers on stack and test it. With assembly it would be a mess: assemble source code, prepare test code, assemble, test it, possibly crash computer, etc. Is it easier? Really? And worst: on near all 8-bit BASIC you can't define that command/function. Are they easier to use? They aren't.
@davidg1830
@davidg1830 Год назад
@@john_hind HP 71b had a good BASIC, at least compared with near all 8-bit home computers (HP 71b was a professional minded pocket computer), as user can define procedures (called sub programs on documentation) with names and parameters. For example let's imagine we need a proceduree with 3 arguments. On HP 71b BASIC it would be: SUB Name (arg1, arg2, arg3) ... code ... END SUB to use that procedure you need to code: CALL Name(arg1, arg2, arg3) On Forth it would be: : Name ...code... ; to use it it would be: arg1 arg2 arg3 Name Obviously Forth requires less elements/code. Why HP created a Forth ROM cartridge for HP 71b if it had a good BASIC? Because Forth is much faster and more frugal than BASIC. The latter was a critical point in machines with little memory.
@cosicave5179
@cosicave5179 Год назад
I'm afraid I'm struggling to decipher what's being said!
@CalculatorCulture
@CalculatorCulture Год назад
Yeah a lot of people have problems with my Kiwi accent. Turning on Closed Captions might help.
@gcolombelli
@gcolombelli 9 месяцев назад
Closed captions do help indeed, I learned to comprehend spoken english thanks to CC/subtitles, my auditory processing disorder didn't do me any favors in that regard, but after quite a bit of practice, I can understand English pretty well despite of some thick accents, as long as background noise isn't too high. What I'm not as used to is a low voice register, but your pacing is very nice and is helping me a lot getting used to low register. I find it easier to understand your english than a professor's almost perfect portuguese (my native language) due to his very distinctive Italian cadence (I'm not sure I'm using the right word, Italian almost sounds like it's being sung rather than spoken).
@fhaaj66
@fhaaj66 Год назад
lmao XDDD
Далее
HP 46 Desktop Calculator from 1973
10:58
Просмотров 2,1 тыс.
HP 71B Pocket Computer from 1984
19:25
Просмотров 9 тыс.
FORTH - Better than BASIC?
14:30
Просмотров 37 тыс.
HP 42S Scientific Calculator from 1988
16:29
Просмотров 10 тыс.
EEVblog #1159 - World's Most Precise Pocket Calculator
17:57
My4TH - A discrete CPU Forth computer
13:12
Просмотров 9 тыс.
Installing Linux Like It's 1992
17:47
Просмотров 87 тыс.
Why Forth? (programming language)
11:09
Просмотров 22 тыс.
Simulating the Evolution of Rock, Paper, Scissors
15:00
TI-74 Basicalc Pocket Computer from 1985
11:06
Просмотров 4,6 тыс.
😮Новый ДИРЕКТОР Apple🍏
0:29
Просмотров 9 тыс.
Я УКРАЛ ТЕЛЕФОН В МИЛАНЕ
9:18
Просмотров 93 тыс.