HOME AUTOMATION Posted January 3, 2022 Share Posted January 3, 2022 Here... reassembled.rar 1 Quote Link to comment Share on other sites More sharing options...
GDMike Posted January 3, 2022 Author Share Posted January 3, 2022 12 minutes ago, HOME AUTOMATION said: Yes, when I discovered that the new object code was radically different from the original source, whilst in the middle of stepping through the program... I nearly blew a fuse.? So, after changing byte 1 of PDATA to >04, and then adding bytes 6,7, and using the uncompressed DF80 ULOAD, from DISK 4... This appears to work! No debugging needed... ...not so bad after all. We're bytes 6,7 still 0 1 Quote Link to comment Share on other sites More sharing options...
GDMike Posted January 3, 2022 Author Share Posted January 3, 2022 Ok.. great!! Thank you...I just couldn't figure it...ttyl..gotta run. But I'll talk to you tomorrow..thx so much Quote Link to comment Share on other sites More sharing options...
GDMike Posted January 3, 2022 Author Share Posted January 3, 2022 (edited) 34 minutes ago, GDMike said: We're bytes 6,7 still 0 I checked it out and...it's great! I'm still trying to figure what was wrong... because I had >04 for Byte 1 and I had added 0000 for 5,6 but I used >A instead of 10 like you did...so hmm.. Edited January 3, 2022 by GDMike Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted January 3, 2022 Share Posted January 3, 2022 Well, what are you doin' 'rong? 1 Quote Link to comment Share on other sites More sharing options...
GDMike Posted January 3, 2022 Author Share Posted January 3, 2022 I'm sooooooo lost...I gotta find a warm room.. Quote Link to comment Share on other sites More sharing options...
GDMike Posted January 3, 2022 Author Share Posted January 3, 2022 4 minutes ago, HOME AUTOMATION said: Well, what are you doin' 'rong? I think I see it ..I think I was considering byte 0 and leaving>0000 as byte zero Quote Link to comment Share on other sites More sharing options...
GDMike Posted January 3, 2022 Author Share Posted January 3, 2022 (edited) I was thinking it's supposed to stay 0000 instead of being part of byte 1...>0004 for bytes 0 & 1. I was doing >0000,0004....and on. Byte me Edited January 3, 2022 by GDMike Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted January 3, 2022 Share Posted January 3, 2022 1 Quote Link to comment Share on other sites More sharing options...
GDMike Posted January 3, 2022 Author Share Posted January 3, 2022 You should have stuck, "any fool could see" dooobies Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted January 3, 2022 Share Posted January 3, 2022 What I believe ...I see!? 1 Quote Link to comment Share on other sites More sharing options...
GDMike Posted January 3, 2022 Author Share Posted January 3, 2022 (edited) 4 minutes ago, HOME AUTOMATION said: What I believe ...I see!? So I'll have to try harder at this Edited January 3, 2022 by GDMike 1 Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted January 3, 2022 Share Posted January 3, 2022 ahh ..try, takin' it light...? 1 Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted January 3, 2022 Share Posted January 3, 2022 40 minutes ago, GDMike said: I checked it out and...it's great! I'm still trying to figure what was wrong... because I had >04 for Byte 1 and I had added 0000 for 5,6 but I used >A instead of 10 like you did...so hmm.. It shouldn't make a difference(>A/10). ...I just left it the way you had it. Haha, you changed this post too ...almost missed it. 1 Quote Link to comment Share on other sites More sharing options...
GDMike Posted January 3, 2022 Author Share Posted January 3, 2022 (edited) Well..I'm thrilled I can proceed to cram, no pun intended, compiled code to SAMs in Foxit at boot up. You da man again! Now go fix da van. Edited January 3, 2022 by GDMike 1 Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted January 3, 2022 Share Posted January 3, 2022 I never did run the original source ...maybe it would have worked as it was ...your computer could have just been lonely. 1 Quote Link to comment Share on other sites More sharing options...
GDMike Posted January 3, 2022 Author Share Posted January 3, 2022 I was seeing double bytes.. I kept thinking, I Know byte 0 is for open. So I don't want to mess with it .. but I forgot byte 1 sits next door and I created a fake duplicate bytes 0&1..in front of the real bytes 0&1. I'll never party again Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted January 3, 2022 Share Posted January 3, 2022 O.k. what's going on here? Back to work! ...I can't be seen associating with slackers. 1 Quote Link to comment Share on other sites More sharing options...
GDMike Posted January 3, 2022 Author Share Posted January 3, 2022 (edited) 1 hour ago, HOME AUTOMATION said: O.k. what's going on here? Back to work! ...I can't be seen associating with slackers. Ok. Thx again, I'll put this to work. I'll recant on what happened and why I need this. I was writing Foxit and I started writing the screen form, which is the interface between the user and the data to be entered. And after getting so much other Foxit code in and working up to this point I ran outta ram space for more coding. (We can always review why that is, but otherwise I have SAMs as a backup plan), Now because the Foxit program has to be compiled and actually at a RUN state before you can access SAMs banks other than the basic 32K I just couldn't push my code into banks. and I had to totally rely on that upper space from>A000->FF00 because that is the safe place since the EA routines use low ram from>2000- to around >2FFF or around there then my HELP routine would sit after>F000 and take up a large amount at the end of upper ram. I'll have to reserve >3000->3FFF for SAMs banking swapping since I'll be using>3000->3FFF for routines that don't fit in normal space. And I didn't want to use a supercart for a solution like I did for SNE. But this latest read using a file routine will allow me to pull in pre compiled standalone routines and push them to their own banks AT BOOT startup. Then I can map to a bank that needs to run and branch to it and bounce back out. I only need bank space for program use and not for user space since the filing system that the user will work with is similar,(or will be expected), to work as a Block file does in forth, that is, when user data is needed then it's pulled from a file, and when changes happen then it's pushed to a file. So that relieves the use of SAMs for user space. Unfortunately, I ran short on program space. But not any More. Edited January 3, 2022 by GDMike Quote Link to comment Share on other sites More sharing options...
+dhe Posted January 3, 2022 Share Posted January 3, 2022 What was the reason, you decided to write this app in assembler, instead of Forth? 1 Quote Link to comment Share on other sites More sharing options...
GDMike Posted January 3, 2022 Author Share Posted January 3, 2022 (edited) Good question. We were discussing early on on wether or not to do this in Forth, and since I already had SAMs function understood in assy. and I already had an understanding of the TIpi clock routine in assy. And not having that part in forth was was my turning point. BUT...I agreed that if I ran into a road block that I would turn to Forth. The funny part is I had promised myself one more assy. program before going back to Forth again. I mean I could probably, maybe, as I can't say, but mos likely would have figured it out in Forth. As I'll have to in the future. But the good news is I'll be heading into forth as soon as Foxit is done. But mostly just to pick up those tools I described. Now Foxit definitely doesn't need speed as it's not relying on that to perform, so it's definitely something I may convert or rewrite in forth. At least I get a feel for it this way. Now I'll put this out there, as far as Forth and SAMs use, I personally think forth uses SAMs banks up faster than assy does. But that is from my experience and there's a good chance my words in forth may have a weight problem. But, yeah. That's basically why. Edited January 3, 2022 by GDMike Fixed a word 1 Quote Link to comment Share on other sites More sharing options...
GDMike Posted January 9, 2022 Author Share Posted January 9, 2022 (edited) Foxit is on hold.- I'm dabbling in TurboForth now. I've got SAMs loaded and I'm sitting at a blank screen... but I probably need to also include the assembler.. I've seen Marks SCREENS for that..I'll have to add it to my screens. I may also include SOUNDS too.. Edited January 9, 2022 by GDMike Quote Link to comment Share on other sites More sharing options...
Willsy Posted January 9, 2022 Share Posted January 9, 2022 Load the modules you need, then use BSAVE to save them. You can instantly reload them later, as they are pre-complied. 1 Quote Link to comment Share on other sites More sharing options...
GDMike Posted January 9, 2022 Author Share Posted January 9, 2022 (edited) 4 hours ago, Willsy said: Load the modules you need, then use BSAVE to save them. You can instantly reload them later, as they are pre-complied. Thank you, yes. I have played with, hmm.. maybe it was gees.. I've forgotten the word... C save, F save, I can't remember what the heck it was now in FB forth...it's been a couple 3 years now... But good to know what to be looking for.. with that fast load. I'm still compiling, "can I use that word," the assembler, I'm getting typos.. where"0" and "O"s happen.. and last check, some error... I had to type it in since I don't have internet where I was last night, but I had the booklet I made a few years back and just killing time, typed it in, Also HELPS to understand some things.. I'll grab the block image of it while I'm home and before heading out tonight on another long shift.. and I'll just forthit tonight. Ok, what happened to Foxit.. I ran out of program space, Unless I included the supercart space, which I haven't, and I'm not sure that would satisfy my needs. I have SAMs running and in order to drop in or to get standalone routines into SAMS banks well SAMs has to be running and the mapper running, it's just I wanted to be able to read a DF 80 file and push thatbto a SAMs bank, but it's not working out and that procedure has gotten over my head.. Now, im able to pull in at boot up, a help file of 192 bytes, and push it to SAMs bank >E0, and since the help file is self executing, and self exiting, it was all painless, but my temporary vram for doing that is only good for a 1 time process and it's not something I can do after Foxit is further in process. So I was thinking I could just read a DF80 and push it directly to SAMs, but I guess the file needs to be a program image type file and not a DF 80 type. I'm guessing here, but otherwise I think it's just ASCII code. But I've given it a break, and maybe I need Forth because SAMs is already set immediately rt off the bat and maybe I can avoid that situation through Forth. Plus, I wanted to finish Foxit and get back into forth and my time was expiring in assembly... if this, pulling in assembly code to SAMs, was More straight forward, I might have been done.. No love lost, it's a learning curve anyway. I don't mind the problems, but not finding a work around isn't fun . Edited January 9, 2022 by GDMike Quote Link to comment Share on other sites More sharing options...
+TheBF Posted January 9, 2022 Share Posted January 9, 2022 8 minutes ago, GDMike said: Thank you, yes. I have played with, hmm.. maybe it was gees.. I've forgotten the word... C save, F save, I can't remember what the heck it was now in FB forth...it's been a couple 3 years now... But good to know what to be looking for.. with that fast load. I'm still compiling, "can I use that word," the assembler, I'm getting typos.. where"0" and "O"s happen.. and last check, some error... I had to type it in since I don't have internet where I was last night, but I had the booklet I made a few years back and just killing time, typed it in, Also HELPS to understand some things.. I'll grab the block image of it while I'm home and before heading out tonight on another long shift.. and I'll just forthit tonight. Ok, what happened to Foxit.. I ran out of program space, Unless I included the supercart space, which I haven't, and I'm not sure that would satisfy my needs. I have SAMs running and in order to drop in or to get standalone routines into SAMS banks well SAMs has to be running and the mapper running, it's just I wanted to be able to read a DF 80 file and push thatbto a SAMs bank, but it's not working out and that procedure has gotten over my head.. Now, im able to pull in at boot up, a help file of 192 bytes, and push it to SAMs bank >E0, and since the help file is self executing, and self exiting, it was all painless, but my temporary vram for doing that is only good for a 1 time process and it's not something I can do after Foxit is further in process. So I was thinking I could just read a DF80 and push it directly to SAMs, but I guess the file needs to be a program image type file and not a DF 80 type. I'm guessing here, but otherwise I think it's just ASCII code. But I've given it a break, and maybe I need Forth because SAMs is already set immediately rt off the bat and maybe I can avoid that situation through Forth. Plus, I wanted to finish Foxit and get back into forth and my time was expiring in assembly... if this, pulling in assembly code to SAMs, was More straight forward, I might have been done.. No love lost, it's a learning curve anyway. I don't mind the problems, but not finding a work around isn't fun . Can't say that I understand all of that in detail, but if you have a bunch of Assembler code that you want to put in SAMS memory as pull-in modules here is how I think it could work. Put a bunch of sub-routines together as one project that will fit as binary code in a 4K code block. Assemble them all together at AORG >3000 with a printed listing so you know the entry address of each sub-routine. Convert the Object code to binary code and save it as a program image You can do this now with the Camel Forth Linker. There is a SAVE utility too I think. To use the code blocks: You need code in your program to pull a SAMS page into memory at >3000. You need a short routine that calls DSR program LOAD on the binary program file saved before. The program file will load into >3000 in .5 seconds and is now in SAMS page #xx . To call them you pull in the SAMS page, BL@<address of your choice in the listing> If you wanted to get fancy you could make a stack. By pushing both the SAMS page and R11 you could make a nestable routines across multiple SAMS blocks. 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.