00:00:00 --- log: started forth/21.06.17 00:04:45 --- quit: snape (Quit: the lounge - https://webirc.envs.net) 00:27:57 --- quit: crab (Quit: WeeChat 3.0.1) 00:31:13 --- join: iv4nshm4k-v joined #forth 00:38:41 mark4: (int16_t)0xFFFF is (as a signed value) -1, a negative value is converted to unsigned by taking it away from 1+MAX i.e. becomes 0xFFFFFFFF. Converting to larger signed it retains its signed value i.e. -1 00:38:53 --- join: rain3 joined #forth 00:38:59 So if you want to not have weird stuff cast to uint16_t first 00:39:29 In C really every use of signed numbers should be justified, there are many caveats and complications 00:41:11 In C, when an integer argument shorter than int is passed, it gets promoted to int automatically. So printf (..., (int16_t)x) ends up being the same as printf (..., (int)x). 00:43:17 --- quit: cbridge_ (Quit: bye) 00:43:26 --- join: cbridge_ joined #forth 00:54:56 --- quit: rain3 (Connection closed) 01:31:26 Is REFILL meant to read one line into TIB every time it's called? 01:37:03 --- join: wineroots joined #forth 01:49:21 Yes 01:50:00 And it's worth pointing out most words don't use REFILL, if they parse something it needs to be on the same line 01:50:17 If a word uses REFILL it should really be documented 02:01:12 --- join: snape joined #forth 02:05:56 --- part: snape left #forth 02:41:37 --- part: xek left #forth 04:24:11 Yeah; the way I've always done it is INTERPRET just goes until it parses and executes NULL from the input buffer. I usually make TIB 256 bytes, but LOAD will use a block buffer instead, which is 4096 bytes. I've arranged for both to always have null termination, so that I get that NULL at the end. 04:25:28 I use QUERY (which uses EXPECT) to refill TIB. 04:30:53 Eventually I'll integrate a command history functionality into Query - I had that on my last one but haven't done it yet on this one. 04:32:41 Last time I had a fixed size buffer for that, but this time I think I want to let prior command lines accrue on disk, so the history will just grow until I reset it. I've found command history to be one of bash's nicest features - I use it in conjunction with ctrl-r history lookup all the time to "accelerate" work. 04:35:52 Unrelated, but I find myself thinking about an ability to inline any word definition (either as marking that definition as inline, or only when compiling that word in), and also ability to compile to a code-only dictionry (and produce an executable file from that). 04:40:47 I think the best way to do inlining in a very simple forth is just using POSTPONE or whatever equivalent in the word and make it IMMEDIATE 04:52:43 --- join: Glider_IRC__ joined #forth 04:55:32 --- quit: Glider_IRC_ (Ping timeout: 120 seconds) 06:35:41 --- quit: X-Scale (Ping timeout: 120 seconds) 06:41:58 --- join: X-Scale` joined #forth 07:15:08 --- quit: Glider_IRC__ (Ping timeout: 120 seconds) 07:15:16 --- join: Glider_IRC joined #forth 07:41:05 --- join: Glider_IRC_ joined #forth 07:42:08 --- quit: Glider_IRC (Ping timeout: 120 seconds) 07:48:34 --- join: kec58q2 joined #forth 07:48:46 --- quit: kec58q2 (Connection closed) 08:06:39 --- quit: Glider_IRC_ (Connection closed) 08:07:15 --- join: Glider_IRC_ joined #forth 08:18:09 --- quit: Glider_IRC_ (Connection closed) 08:18:45 --- join: Glider_IRC_ joined #forth 09:45:33 --- quit: mark4 (Ping timeout: 120 seconds) 09:54:03 Hey, calculator guys. I've had my TI-84 sitting here for a while, and a month or two ago I downloaded the Forth app we discussed here. It looks like it runs "as an app" on the calculator so to speak. Has anyone looked into just completely replacing the calculator firmware with a Forth based OS? One that does the whole job of running the calculator? That's kind of what I interested in. 09:54:28 It would provide the primary keystroke processing and so forth, and have algorithms for the various functions, etc. etc. 09:55:12 --- quit: ChanServ (*.net *.split) 09:57:57 --- join: mark4 joined #forth 10:03:30 KipIngram, is that the one siraben made? I thought that replaced everything 10:03:37 KipIngram: yes I have 10:03:45 https://github.com/siraben/zkeme80 10:04:07 however I never did complete the shell 10:04:10 it boots, runs tests and has a simple menu at the home screen 10:04:37 KipIngram, i was thinking this week about converting the HP-42 firmware to run on a TI-83 10:05:07 i wont live to be 200 years old though so you could tackle that one since ill never have enough time :) 10:07:27 --- join: ChanServ joined #forth 10:07:33 --- mode: ChanServ set +o :ChanServ 10:08:00 --- quit: ChanServ (Shutting down) 10:09:00 --- join: ChanServ joined #forth 10:09:07 --- mode: ChanServ set +o :ChanServ 10:09:12 --- nick: X-Scale` -> X-Scale 10:10:40 (not that it would take you that long, i just have other stuff i wanna try to do first) 10:28:52 --- quit: ChanServ (Shutting down) 10:28:59 --- join: ChanServ joined #forth 10:29:04 --- mode: ChanServ set +o :ChanServ 10:33:25 siraben, how do you get the really basic stuff like writing characters or reading buttons? 10:36:53 without the ROM in place 10:37:18 Oh, you've got the HP-42 firmware? 10:37:30 You mean the 42S, or was there also a 42? 10:37:33 I had a 42S for a while. 10:37:57 I regarded it as a more powerful calculator than my 41 CV, but I "enjoyed" my 41 CV more. 10:38:04 MrMobius: I can link to the asm source 10:38:27 It's just interrupts 10:38:48 or poll loops 10:38:51 https://github.com/siraben/zkeme80/blob/master/src/keyboard.scm 10:39:06 warning: mix of lisp and asm lol 10:39:58 display routines: https://github.com/siraben/zkeme80/blob/master/src/display.scm 10:44:12 The project is in maintenance mode". I still build it almost monthly to check everything still works, but I haven't written Z80 asm like I did two years ago 11:09:23 siraben, right i just meant what was your strategy. i was wondering myself how to figure it out in a kosher way without copy and pasting any of the ROM 11:09:28 KipIngram, only 42S 11:10:03 MrMobius: what do you mean without copy pasting any of the ROM? 11:10:16 this completely overwrites the flash chip with my OS 11:10:42 there might be microcode in other modules but I wouldn't know about it, the calculator's boot process is dependent on flash contents 11:10:42 siraben, if your firmware completely replaces the ROM, you cant jump into the ROM to read keys or write to the screen, so you have to figure out how to do it in your own code. how did you figure that out? 11:11:12 MrMobius: yeah, you have to send raw bytes to the I/O ports 11:11:22 I copied it from other open source projects: 11:11:36 KipIngram, good point. i dont have the 42S ROM and I dont think it's online though I havent looked hard since I dont think im allowed to have it. the 48 ROM and a bunch of others are freeware now but HP didnt release the 42 ROM afaik 11:11:44 https://www.ticalc.org/archives/files/fileinfo/442/44227.html (an OS that boots to a smiley face) 11:11:47 siraben, gotcha 11:12:00 and some numerical routines from https://github.com/KnightOS/kernel 11:12:36 KipIngram, there are instructions for having your 42 beam out its own rom to a 48 if you still have the 42 11:13:11 that being said, TI-OS is OK in places but garbage in others 11:13:30 e.g. their BASIC dialect is comically slow and inexpressive 11:15:35 interesting 11:15:58 ive wondered about how i would make my own BASIC for my calculator using a 6502 11:16:14 i think you could do some small amount of opitmizing and speed things up some 11:16:28 apparently the 68k TI calcs do some smart things 11:16:53 yeah, I don't know if/when I'll need another scientific calculator other than the 84 11:17:01 fun times while I had it 11:18:10 Oh, I loved my 41CV. Fun times indeed. It's really where I first learned to program. 11:19:13 So it's no wonder Forth appealed to me immediately - being as steeped in RPN as I was. 11:21:13 --- quit: cbridge_ (Connection closed) 12:03:33 --- quit: Glider_IRC_ (*.net *.split) 12:03:33 --- quit: wineroots (*.net *.split) 12:03:33 --- quit: cp- (*.net *.split) 12:03:33 --- quit: pareidolia (*.net *.split) 12:03:33 --- quit: iv4nshm4k-v (*.net *.split) 12:03:33 --- quit: proteusguy (*.net *.split) 12:03:33 --- quit: klys (*.net *.split) 12:03:33 --- quit: mark4 (*.net *.split) 12:03:45 --- join: Glider_IRC__ joined #forth 12:04:58 --- join: pareidolia joined #forth 12:05:37 --- join: mark4 joined #forth 12:06:33 --- join: proteusguy joined #forth 12:06:33 --- mode: ChanServ set +o :proteusguy 12:06:33 --- join: klys joined #forth 12:07:25 --- join: cp- joined #forth 13:26:39 --- quit: Glider_IRC__ (Connection closed) 14:07:16 --- join: Glider_IRC joined #forth 15:31:07 --- join: Vaelatern joined #forth 18:00:09 if someone called creel comes in here tell him to private message me, he is a australian youtuber 18:00:19 and i think his clock is upside down :) 18:47:36 --- mode: ChanServ set +o :mark4 19:38:15 --- join: Glider_IRC_ joined #forth 19:41:08 --- quit: Glider_IRC (Ping timeout: 120 seconds) 20:38:06 uhmmm 20:41:54 Why is this channel still on abusenode? 20:45:50 moving to libera 20:45:52 --- part: cp- left #forth 22:43:02 --- quit: ChanServ (Shutting down) 22:43:08 --- join: ChanServ joined #forth 22:43:16 --- mode: ChanServ set +o :ChanServ 23:59:59 --- log: ended forth/21.06.17