00:00:00 --- log: started forth/20.09.27 00:05:23 --- quit: pointfree (Read error: Connection reset by peer) 00:06:15 --- join: pointfree joined #forth 00:17:28 --- join: X-Scale` joined #forth 00:17:56 --- quit: Zarutian_HTC (Ping timeout: 258 seconds) 00:18:17 --- quit: X-Scale (Ping timeout: 240 seconds) 00:18:40 --- nick: X-Scale` -> X-Scale 03:08:39 --- join: jsoft joined #forth 03:11:38 --- quit: guan (Read error: Connection reset by peer) 03:11:53 --- join: guan joined #forth 03:15:01 --- quit: crc (Read error: Connection reset by peer) 03:15:10 --- join: crc joined #forth 03:21:08 --- quit: gravicappa (Ping timeout: 240 seconds) 04:01:08 --- quit: boru (Read error: Connection reset by peer) 04:01:35 --- join: boru joined #forth 04:14:42 --- quit: jsoft (Quit: Leaving) 04:17:30 --- join: dave0 joined #forth 04:21:06 --- join: gravicappa joined #forth 05:05:37 --- quit: dave0 (Quit: dave's not here) 05:24:56 --- join: Zarutian_HTC joined #forth 05:36:08 --- quit: Zarutian_HTC (Ping timeout: 240 seconds) 05:46:31 --- join: Zarutian_HTC joined #forth 07:27:15 --- join: john_cephalopoda joined #forth 07:27:17 Hi 07:56:58 --- join: f-a joined #forth 07:58:26 --- quit: irsol (Ping timeout: 240 seconds) 08:20:45 --- join: mark4 joined #forth 08:49:55 --- quit: f-a (Ping timeout: 260 seconds) 08:51:31 --- join: f-a joined #forth 08:53:08 --- quit: f-a (Client Quit) 09:07:03 --- quit: Zarutian_HTC (Remote host closed the connection) 09:26:32 --- quit: proteus-person (Ping timeout: 240 seconds) 09:26:47 --- quit: proteus-guy (Ping timeout: 260 seconds) 09:50:43 --- join: proteus-guy joined #forth 09:50:52 --- join: proteus-person joined #forth 09:53:39 --- quit: tabemann (Remote host closed the connection) 09:55:37 --- join: tabemann joined #forth 09:56:26 --- join: irsol joined #forth 09:59:52 --- join: Zarutian_HTC joined #forth 10:03:11 --- quit: tabemann (Ping timeout: 260 seconds) 10:22:23 --- quit: gravicappa (Ping timeout: 272 seconds) 10:22:52 --- join: gravicappa joined #forth 10:59:45 --- quit: Zarutian_HTC (Ping timeout: 272 seconds) 11:12:36 --- join: tabemann joined #forth 11:16:12 --- join: f-a joined #forth 11:24:41 --- join: Zarutian_HTC joined #forth 11:27:28 --- quit: gravicappa (Ping timeout: 240 seconds) 11:56:23 --- quit: Zarutian_HTC (Remote host closed the connection) 12:10:11 --- quit: f-a (Quit: leaving) 12:21:23 --- quit: _whitelogger (Remote host closed the connection) 12:23:48 --- quit: john_cephalopoda (Ping timeout: 240 seconds) 12:24:24 --- join: _whitelogger joined #forth 12:52:17 --- join: xek joined #forth 13:28:55 --- join: cheater joined #forth 13:28:58 hi forths 13:29:21 i was wondering if anyone had thoughts on this: https://www.reddit.com/r/c64/comments/j0y1rv/is_forth_a_good_match_for_6502/ 13:29:29 "Is Forth a good match for 6502?" 13:29:42 basically it's about the fairly underpowered cpu in the C64/C128 13:29:56 and whether forth is a good fit for it, performance-wise 13:30:07 and if there are any hacks that are required to make it run real good 13:30:19 * cheater looks at the topic 13:30:33 why does forth need two stacks? i thought one was enough. 14:01:03 one for return addrs, one for data? 14:04:08 --- quit: xek (Ping timeout: 240 seconds) 14:09:24 --- quit: _whitelogger (Remote host closed the connection) 14:12:25 --- join: _whitelogger joined #forth 14:23:04 yes, keeping data and addresses separate 14:24:21 mixing both complices things as you have to work around the return addresses, and maybe other things (locals, if you have them, loop indices, and such) 14:24:29 *complicates 15:12:15 --- join: TCZ joined #forth 15:55:04 cheater, tom zimmer wrote a forth for the vic20 and the c64 (both cartridge based) 15:55:23 forth works good on almost any processor 15:55:33 except the low end PICs :) 16:13:58 hey guys 16:18:19 --- part: TCZ left #forth 16:19:19 cheater: I imagine the zero page would be well suited for many of the things traditionally kept in registers, including the data stack pointer 16:45:52 --- join: dave0 joined #forth 17:32:22 --- quit: mark4 (Ping timeout: 264 seconds) 18:24:42 --- quit: dave0 (Quit: dave's not here) 18:51:07 --- join: boru` joined #forth 18:51:10 --- quit: boru (Disconnected by services) 18:51:12 --- nick: boru` -> boru 20:01:40 cheater, it depends on what you're trying to accomplish. if you need good performance, forth on the 6502 is an especially bad match 20:02:41 but if youre drawn to forth for other reaons like playing around for fun or being able to compile it on the machine rather than cross compiling it could be good 20:04:01 cheater, I did this comparison of assembly, C, and forth for the 6502 and forth was 10-20x slower than assembly http://calc6502.com/RobotGame/summary.html 20:04:13 ymmv if youre not going for raw performance though 20:05:28 MrMobius: why is it so bad for 6502? 20:05:38 and yeah i was thinking about performance 20:07:55 for one, cells are 16 bits in size and the 6502 is an 8 bit processor so 8 bit computations are automatically more than twice as slow 20:08:13 as opposed to a 16 bit processor where 8 and 16 bit calculations make take the same amount of time 20:08:49 another is that to get good performance on the 6502 when looping through data, you need to use the X or Y registers to index into memory 20:09:14 keeping a 16 bit pointer on the stack and incrementing it like you do in forth is many times slower than indexing 20:10:12 also you take a big speed hit using stack addressing on the 6502 compared to using static zero page addresses 20:11:25 these are all performance issues though. you may not care about any of that if you dont need max performance 20:13:32 other reaons too. you can also use index registers as counters. storing loop counters on the return stack as forth does is several times slower 20:23:04 cheater, thinking of doing forth on a 6502? 20:30:47 --- join: jsoft joined #forth 20:53:35 --- join: gravicappa joined #forth 22:12:39 MrMobius: i'm thinking what a good higher level language would be for a 6502 based computer 22:12:56 MrMobius: how do you think forth compares to basic? 22:13:02 in terms of speed 22:14:32 MrMobius: also, why do cells have to be 16 bit? 22:29:17 MrMobius: oh, I recall your article on comparing assembly, C and Forth. 22:29:51 the performance hit seems very high 22:51:59 --- join: xek joined #forth 22:58:46 --- quit: xek (Ping timeout: 240 seconds) 23:10:18 would be incredibly rare for a basic to outperform a decent implementation of forth. basic is usually implemented as a token interpreter. lots of runtime overhead to keep its space small. 23:59:59 --- log: ended forth/20.09.27