00:00:00 --- log: started forth/12.03.15 00:00:18 ok 00:00:31 for example. create a deferred word, make the deferred word point to blue 00:00:44 make red's cfa point to the deferred word instead of docol 00:00:51 except its slightly more complex than that 00:01:08 you need a new primative 00:01:22 its a little bit complicated to try to explain heh 00:01:45 the best way to revector a word is to create a deferred wrapper for it 00:01:54 i'm going to dig back into the 6502 forth source code 00:02:03 defer newRED ' BLUE is newRED 00:02:17 problem is, the particular forth i am using has already been target compiled 00:02:19 i think my father used that forth 00:02:26 to automate a factory he worked for 00:02:30 TOTALLY automate it 00:02:33 and there is no source for the particular version i am using 00:02:49 yea would be trivial to RE that code tho 00:03:06 but it is very close to the original code... just the main routines for input and output have been changed to use the Atari OS CIO routines 00:03:32 and a few words added, namely SAVE to save a new bootable forth to disk 00:03:49 hmm 00:03:51 but save literally just saves the forth image as it is... there is no provision for revectoring ABORT 00:04:08 at least not what I can see, I'm disassembling it to be sure. 00:04:20 i know it may seem insane that I am doing this, 00:04:27 well, if i were sane i wouldn't be using forth 00:04:29 but anyway 00:04:52 the reason i am using THIS forth is precisely because it is tiny. it doesn't have 50 billion prefab words 00:05:16 i know the hardware well enough that I will write the words i need for the problem at hand. 00:05:35 no point in using forth on a 48K system, if only 8K is left after loading it :P 00:05:36 :) 00:05:42 it should be easy to create sources from the binary 00:05:57 ya true lol 00:06:04 yeah, i'll have to put on my reverse engineering thinking cap 00:06:13 however. with forth you can put ALOT in that 8k ":)) 00:06:18 oh don't i know it 00:06:32 the full screen editor that you saw in the vid, was about 800 bytes 00:06:35 it has been a long time since i did anything with 6502 00:06:59 i really am amazed at forth 00:07:09 I didn't have ANY experience in it before last month 00:07:13 cool! 00:07:14 and i've gone to where i am now. 00:07:26 that's.. insane. 00:07:49 once you understand the internal workings of every primative in taht system you will have ZERO problems doign what you want to do 00:07:50 but 00:07:52 erm. 00:08:01 yeah, I'll figure it out 00:08:20 as it happens, this particular forth was distributed by Atari as part of the Atari Program Exchange 00:08:21 if you generate the asm /forth sources you still need a 6502 target compiler/assembler 00:08:33 they used it internally at Atari (in a few versions) to write games and in house utilities 00:08:45 it would be trivial to write a 6502 assembler in isforth and have isforth target compile your atari executable 00:08:56 i didnt know that 00:08:59 i've got plenty of 6502 stuff :) 00:09:09 you got a disassembler? 00:09:14 yeah a few of them 00:09:18 im a registered owner of an older version of IDA pro 00:09:27 i want to upgrade to a newer version but thats 1k 00:09:31 $1000 usd 00:09:32 i can disassemble directly from disk sectors 00:09:55 right but does the disassembler know how to disassemble colon definitions? 00:10:00 the thing about this fig forth is that all the documentation has disappeared... 00:10:20 nah, but... from what i see in the source code I DO have... 00:10:26 it shouldn't be hard for me to pick them out 00:10:39 even if i have to do it by hand 00:10:48 it's just strings of words 00:10:53 all linked together 00:10:58 well. it would be trivial for IDA pro because you look at the disassembly and tell it err no thats a pointer. no thats a string etc etc etc 00:11:14 *nod* 00:11:22 if it gets to that point, i'll grab a copy :) 00:11:26 if u understand the return stack, the interprative pointer etc etc its trivial 00:11:35 i'm learning 00:11:38 :) 00:11:57 my goal here is to provide a forth for myself, but i will also give it to the resident community atari forth guru 00:12:01 i just did a new release of isforth today 00:12:19 as the disk that the atari community had... had quite a few corrupted screens 00:12:22 i have an AVR forth i wrote in isforth that i need to complete so i can release that too 00:12:28 i had to go through, bootstrap a fig forth editor, and fix them all 00:12:42 how did u fix them? was the data corrupted bad? 00:12:43 took about 3 days 00:13:20 the forth was able to boot... I then took the fig-forth editor code from the ragsdale fig forth installation manual, typed that into the interpreter, and used that, to fix the errors i saw on the screens. 00:13:53 i actually youtubed it, typing in the code heheheh. 00:13:58 so they were just small errors like "DUP" showing up as "DUZ" or something you could fix based on context? 00:14:18 yes, and some errors caused by stupid file transfer protocol smudges 00:14:31 where sector boundaries were padded with the same character 00:14:45 heh 00:14:49 but very few people ever used this, so nobody ever caughti t 00:15:04 have you published the fixes for the rest of the world? 00:15:05 they were like OK IT BOOTS, IT'S OKAY! 00:15:22 yes, I've given it to Carsten Strotmann, the Atari 8-bit forth guru 00:15:31 he will put it on his wiki 00:15:38 cool :) 00:15:50 but what I'm doing now, is basically assembling a manual 00:15:55 and tutorials for it 00:16:01 ok well i need to catch some Z's now, its 2am and i werk eep 00:16:08 yea thats cool 00:16:10 heh, i work remotely, make my own hours 00:16:14 later. thanks for the hel. 00:16:16 help. 00:16:20 if you could RE those sources and publish those too :) 00:16:28 will try 00:16:29 actually 00:16:32 when it's all said and done 00:16:38 i may just take the ragsdale source 00:16:40 and roll my own :P 00:16:43 i learned 6502 by doing a HAND reverse engineer of a program published in a mag 00:16:52 nice. 00:17:01 i learned the 6502 on the Atari 800, literally 00:17:06 10 data a9 01 85 02 20 4c 00 00:17:22 ok hmm a9... whats an a9 oh thats an LDA.... wtf is an lda? who cares write it down 00:17:23 lol 00:17:26 LDA # 01 00:17:32 ;) 00:17:36 yup sta 02 jsr 4c00 00:17:41 yup 00:17:57 took me 2 weeks to re an 8k program 00:18:00 4c00...what system is _THAT_? 00:18:04 whcih in the end turned out to be a DISASSEMBLER 00:18:07 * tschak_ doesn't recognize that vector. 00:18:09 c64 00:18:14 oh yes 00:18:18 *smack-forehead* 00:18:27 tho that should have been 20 c000 00:18:44 where c000 was 49172 which was the block of ram in between the basic and kernel roms 00:18:48 yup 00:18:54 available for machine code stuff but basic couldnt touch it 00:19:05 ii have all that shit stuffed back in the back of my brain 00:19:08 too much shit back ther 00:19:08 e 00:19:11 heh 00:19:21 go to bed. 00:19:22 :) 00:19:26 it pokes its ugly head above water every now and then tho :)) 00:19:27 yea i gotta 00:19:31 nite :) 00:19:33 later. 00:19:46 --- quit: I440r (Quit: nite) 01:19:49 --- quit: tschak_ (Read error: Connection reset by peer) 01:23:23 --- join: unixcourse (~unixcours@210.32.34.137) joined #forth 01:23:24 --- mode: ChanServ set +v unixcourse 01:23:29 --- part: unixcourse left #forth 01:31:56 --- quit: ncv (Ping timeout: 246 seconds) 01:35:28 --- join: ASau (~user@128-68-14-203.broadband.corbina.ru) joined #forth 01:35:29 --- mode: ChanServ set +v ASau 01:56:45 --- quit: newcup (Remote host closed the connection) 02:52:11 --- join: newcup (newcup@peruna.fi) joined #forth 02:52:11 --- mode: ChanServ set +v newcup 03:06:25 --- quit: MrBusiness (Quit: Leaving) 03:53:42 --- quit: Nisstyre (Ping timeout: 265 seconds) 03:57:54 --- join: ncv (~quassel@89.123.7.245) joined #forth 03:57:54 --- quit: ncv (Remote host closed the connection) 04:10:15 --- quit: DGASAU (Remote host closed the connection) 04:18:22 --- join: DGASAU (~user@91.218.144.129) joined #forth 04:18:22 --- mode: ChanServ set +v DGASAU 06:38:32 --- join: nighty_- (~nighty@static-68-179-124-161.ptr.terago.net) joined #forth 06:38:32 --- mode: ChanServ set +v nighty_- 07:09:02 --- join: Kumul (~Kumul@66-50-178-117.prtc.net) joined #forth 07:09:02 --- mode: ChanServ set +v Kumul 07:27:05 --- join: Nisstyre (~yours@c-208-90-102-250.netflash.net) joined #forth 07:27:05 --- mode: ChanServ set +v Nisstyre 08:42:34 --- quit: nighty_- (Ping timeout: 244 seconds) 08:42:41 --- join: n0idx80 (c09c1922@gentoo/contributor/n0idx80) joined #forth 08:42:41 --- mode: ChanServ set +v n0idx80 08:44:52 --- join: nighty_- (~nighty@static-68-179-124-161.ptr.terago.net) joined #forth 08:44:52 --- mode: ChanServ set +v nighty_- 08:51:22 --- quit: ttmrichter (Quit: Leaving) 09:03:18 --- quit: n0idx80 (Ping timeout: 245 seconds) 09:18:18 --- quit: DGASAU (Remote host closed the connection) 09:18:31 --- join: DGASAU (~user@91.218.144.129) joined #forth 09:18:31 --- mode: ChanServ set +v DGASAU 09:35:06 --- part: DocPlatypus left #forth 10:16:26 --- quit: Kumul (Quit: gone) 10:27:50 --- join: MayDaniel (~MayDaniel@unaffiliated/maydaniel) joined #forth 10:28:01 --- mode: ChanServ set +v MayDaniel 10:53:15 --- quit: nighty_- (Read error: Operation timed out) 11:10:47 --- join: nighty_- (~nighty@static-68-179-124-161.ptr.terago.net) joined #forth 11:10:47 --- mode: ChanServ set +v nighty_- 11:11:05 --- join: DocPlatypus (~skquinn@108-75-59-67.lightspeed.hstntx.sbcglobal.net) joined #forth 11:11:05 --- mode: ChanServ set +v DocPlatypus 11:55:17 --- quit: crc (Ping timeout: 272 seconds) 11:56:30 --- join: crc (~crc@li125-93.members.linode.com) joined #forth 11:56:30 --- mode: ChanServ set +v crc 13:31:00 --- quit: DocPlatypus (Quit: Leaving) 14:22:47 --- join: Raystm2 (Raystm2@c-71-196-164-161.hsd1.co.comcast.net) joined #forth 14:22:47 --- mode: ChanServ set +v Raystm2 14:29:53 --- quit: nighty_- (Ping timeout: 264 seconds) 14:31:54 --- part: Raystm2 left #forth 14:31:59 --- join: Kumul (~Kumul@adsl-207-204-177-61.prtc.net) joined #forth 14:31:59 --- mode: ChanServ set +v Kumul 14:32:39 --- join: tathi (~josh@dsl-216-227-97-239.fairpoint.net) joined #forth 14:32:39 --- mode: ChanServ set +v tathi 14:33:12 --- join: nighty_- (~nighty@static-68-179-124-161.ptr.terago.net) joined #forth 14:33:12 --- mode: ChanServ set +v nighty_- 14:36:03 --- quit: tathi (Client Quit) 14:37:37 --- quit: MayDaniel () 15:26:46 --- quit: nighty_- (Ping timeout: 245 seconds) 15:39:53 --- join: nighty_- (~nighty@static-68-179-124-161.ptr.terago.net) joined #forth 15:39:53 --- mode: ChanServ set +v nighty_- 16:05:42 --- join: MrBusiness (~MrBusines@184.99.7.19) joined #forth 16:05:43 --- mode: ChanServ set +v MrBusiness 16:23:39 --- join: tathi (~josh@dsl-216-227-97-239.fairpoint.net) joined #forth 16:23:39 --- mode: ChanServ set +v tathi 16:37:35 --- join: DocPlatypus (~skquinn@108-75-59-67.lightspeed.hstntx.sbcglobal.net) joined #forth 16:37:35 --- mode: ChanServ set +v DocPlatypus 17:13:55 --- join: I440r (~zhiming@173-167-173-233-illinois.hfc.comcastbusiness.net) joined #forth 17:13:56 --- mode: ChanServ set +v I440r 17:14:06 tathi. fixed it 17:19:40 --- quit: nighty_- (Remote host closed the connection) 17:44:31 --- join: ttmrichter (~ttmrichte@61.184.206.85) joined #forth 17:44:32 --- mode: ChanServ set +v ttmrichter 18:41:29 Ah. 18:49:58 --- quit: ttmrichter (Excess Flood) 18:50:44 --- join: ttmrichter (~ttmrichte@61.184.206.85) joined #forth 18:50:44 --- mode: ChanServ set +v ttmrichter 18:55:00 --- quit: ttmrichter (Excess Flood) 19:11:19 --- join: ttmrichter (~ttmrichte@61.184.206.85) joined #forth 19:11:20 --- mode: ChanServ set +v ttmrichter 19:38:32 --- quit: ttmrichter (Ping timeout: 255 seconds) 19:43:54 --- join: ttmrichter (~ttmrichte@61.184.206.85) joined #forth 19:43:54 --- mode: ChanServ set +v ttmrichter 20:00:11 --- quit: ttmrichter (Ping timeout: 276 seconds) 21:00:42 --- join: ttmrichter (~ttmrichte@58.55.124.248) joined #forth 21:00:43 --- mode: ChanServ set +v ttmrichter 21:17:39 --- quit: segher (Quit: Reactor leak) 21:21:41 --- join: segher (~segher@5ED3C8DF.cm-7-4d.dynamic.ziggo.nl) joined #forth 21:21:42 --- mode: ChanServ set +v segher 22:19:06 --- quit: I440r (Quit: Leaving) 22:40:46 --- quit: ttmrichter (Quit: Leaving) 22:44:00 --- quit: nighty^ (Read error: Operation timed out) 22:47:42 --- quit: nighty (Remote host closed the connection) 22:47:58 --- join: nighty (~nighty@69-165-220-105.dsl.teksavvy.com) joined #forth 22:48:03 --- mode: ChanServ set +v nighty 22:48:26 --- join: nighty^ (~nighty@69-165-220-105.dsl.teksavvy.com) joined #forth 22:48:26 --- mode: ChanServ set +v nighty^ 22:55:57 --- quit: Kumul (Quit: gone) 23:18:24 --- join: ttmrichter (~ttmrichte@61.184.206.85) joined #forth 23:18:24 --- mode: ChanServ set +v ttmrichter 23:59:59 --- log: ended forth/12.03.15