GDMike Posted November 29, 2021 Author Share Posted November 29, 2021 (edited) What I had in mind was this... Step 1. Gather my routines and get them altogether to assemble using AORG >3000 as Lee suggested and save them out as dF80. I can load this at program boot, START Step 2. And find each routine's beginning address. Easy enough. (Each routine ENDS with a KSCAN and Branch out to my mapper procedure at a high address, somewhere around >E000). And my program can call any routine address with a B @ >3456 or whatever and already mapped and ready to load the routine from the bank which is already predetermined. as Lee also suggested, try cramming as many routines as possible into that 4K space, and maybe I can get by with a low load Time. but, in my case, TIpi loads fast enough and I don't forsee a long wait for the ONE time load(Even in steps of records). ???? Edited November 29, 2021 by GDMike Quote Link to comment Share on other sites More sharing options...
+TheBF Posted November 29, 2021 Share Posted November 29, 2021 6 minutes ago, GDMike said: What I had in mind was this... Step 1. Gather my routines and get them altogether to assemble using AORG >3000 as Lee suggested and save them out as dF80. I can load this at program boot, START Step 2. And find each routine's beginning address. Easy enough. (Each routine ENDS with a KSCAN and Branch out to my mapper procedure at a high address, somewhere around >E000). And my program can call any routine address with a B @ >3456 or whatever and already mapped and ready to load the routine from the bank which is already predetermined. as Lee also suggested, try cramming as many routines as possible into that 4K space, and maybe I can get by with a low load Time. but, in my case, TIpi loads fast enough and I don't forsee a long wait for the ONE time load(Even in steps of records). ???? So the E/A loader would load the code block as object code? If you have the way to do it, saving the data as a binary program, or converting the object to a binary program, would mean FOXIT could load the 4K block itself when it starts in about .5 seconds. Wouldn't that be BL @ >3456 ? 1 Quote Link to comment Share on other sites More sharing options...
GDMike Posted November 29, 2021 Author Share Posted November 29, 2021 2 minutes ago, TheBF said: Wouldn't that be BL @ >3456 Sure, if I wanted, but I've just been mapping then B@ to my address and then taking care of the mapping again before calling my kscan. But, that is only because I have one of these running, that's my help routine. But, yes I'd prefer to BL out and back. Here's a video on a field add to it's max. VID_20211128_194550041.mp4 Quote Link to comment Share on other sites More sharing options...
GDMike Posted November 29, 2021 Author Share Posted November 29, 2021 (edited) 38 minutes ago, TheBF said: So the E/A loader would load the code block as object code? Naaa. I'd have to build a loader, like a DF80 reader, and then setup the map and place the file read into SAMS manually at boot. Edited November 29, 2021 by GDMike Quote Link to comment Share on other sites More sharing options...
+TheBF Posted November 29, 2021 Share Posted November 29, 2021 2 hours ago, GDMike said: Naaa. I'd have to build a loader, like a DF80 reader, and then setup the map and place the file read into SAMS manually at boot. Don't know if this helps but I love disk functions 5 and 6 for this kind of thing. They just blast in and out as long as you don't need more than 8K which you don't. Here it is Forth. I can answer any questions. But really you just set up the PAB and hit 6 to save and 5 to load. Differences from TF below: VC! writes one byte. V! writes 2bytes (one CELL) ior means I/O response (error number) HEX \ PRE-FAB file access mode selectors for default file binary type 0B CONSTANT W/O100 \ WRITE ONLY, binary, relative, fixed 100 0D CONSTANT R/O100 \ READ ONLY, binary, relative, fixed 100 \ 13 CONSTANT PROG : NEWPAB ( file$ len VDPaddr #bytes mode -- ) -30 ^PAB +! \ create new pab in VDP RAM with NO buffer [PAB 30 0 VFILL \ erase PAB and file name 0 [PAB RECLEN] VC! \ set reclen (0 means >100 (256) bytes) \ pulls params from the stack to init the PAB [PAB FLG] VC! \ set file access mode byte [PAB REC#] V! \ set #bytes to save (integer) [PAB FBUFF] V! \ set where the file will load VDP Ram [PAB FNAME] VPLACE \ set file name ; : SAVE-FILE ( file$ len VDPaddr #bytes -- ior) W/O100 NEWPAB 6 FILEOP 30 ^PAB +! ; : LOAD-FILE ( file$ len VDPaddr size -- ior) R/O100 NEWPAB 5 FILEOP 30 ^PAB +! ; 2 Quote Link to comment Share on other sites More sharing options...
GDMike Posted November 29, 2021 Author Share Posted November 29, 2021 1 minute ago, TheBF said: Don't know if this helps but I love disk functions 5 and 6 for this kind of thing. They just blast in and out as long as you don't need more than 8K which you don't. Here it is Forth. I can answer any questions. But really you just set up the PAB and hit 6 to save and 5 to load. Differences from TF below: VC! writes one byte. V! writes 2bytes (one CELL) ior means I/O response (error number) HEX \ PRE-FAB file access mode selectors for default file binary type 0B CONSTANT W/O100 \ WRITE ONLY, binary, relative, fixed 100 0D CONSTANT R/O100 \ READ ONLY, binary, relative, fixed 100 \ 13 CONSTANT PROG : NEWPAB ( file$ len VDPaddr #bytes mode -- ) -30 ^PAB +! \ create new pab in VDP RAM with NO buffer [PAB 30 0 VFILL \ erase PAB and file name 0 [PAB RECLEN] VC! \ set reclen (0 means >100 (256) bytes) \ pulls params from the stack to init the PAB [PAB FLG] VC! \ set file access mode byte [PAB REC#] V! \ set #bytes to save (integer) [PAB FBUFF] V! \ set where the file will load VDP Ram [PAB FNAME] VPLACE \ set file name ; : SAVE-FILE ( file$ len VDPaddr #bytes -- ior) W/O100 NEWPAB 6 FILEOP 30 ^PAB +! ; : LOAD-FILE ( file$ len VDPaddr size -- ior) R/O100 NEWPAB 5 FILEOP 30 ^PAB +! ; I just glanced it over, but I'm only needing to load 4K. Not sure if I need to do it twice (as maybe I don't need the code), but I've got to seperate out into 4K chunkies. 1 Quote Link to comment Share on other sites More sharing options...
GDMike Posted November 29, 2021 Author Share Posted November 29, 2021 Finished with "revise" field list. It took quite awhile, but it's working nicely! I have to work on memos and how there handled next weekend, but a lot of things got working this weekend. Yeahhooo Ill look for a video capture and do a video next week while I'm at home and have internet ?☺️ 1 Quote Link to comment Share on other sites More sharing options...
+TheBF Posted November 29, 2021 Share Posted November 29, 2021 8 hours ago, GDMike said: I just glanced it over, but I'm only needing to load 4K. Not sure if I need to do it twice (as maybe I don't need the code), but I've got to seperate out into 4K chunkies. See the #bytes parameter. That's controls how many bytes to read or write. With functions 5 & 6 the # of bytes goes into what is normally the record# field of the PAB. Max size is 8K. (>2000) These things are so fast you could have 3 or 4 code blocks and load them as needed. 1 1 Quote Link to comment Share on other sites More sharing options...
GDMike Posted November 29, 2021 Author Share Posted November 29, 2021 (edited) 10 hours ago, TheBF said: These things are so fast you could have 3 or 4 code blocks and load them as needed. Yup, but since this program would just need it at boot and just store it. But, I Know what you mean, and it's very cool. I was thinking about just using my supercart to push code since it can hold a good 7K+ but, not everyone has access to >6000 so I'll just pass on that attempt. I've screwed up classic 99 now, I don't know wth I hit, but now at boot of Foxit I get a garbled screen. WTH. I deleted the.ini file but it still happens. I think this has happened before and I'm not sure how I fixed it. Anyway, I called it a day and will look at it on Saturday night. I got a lot done this past weekend. And I can't believe that field maintenance form is almost completed including revising field list with full editing. I'll upload a runable version soon. After I verify it runs in Classic9 again. Oh...it looks like maybe I hit Ctrl equal or something in a sequence on the laptop keyboard apparently it turns off or on some registers in vdp? I'm still looking for a fix.. Edited November 29, 2021 by GDMike 1 Quote Link to comment Share on other sites More sharing options...
+Lee Stewart Posted November 30, 2021 Share Posted November 30, 2021 On 11/29/2021 at 8:34 AM, TheBF said: See the #bytes parameter. That's controls how many bytes to read or write. With functions 5 & 6 the # of bytes goes into what is normally the record# field of the PAB. Max size is 8K. (>2000) These things are so fast you could have 3 or 4 code blocks and load them as needed. The reason I suggested Level-2 Subprograms >014 and >015 is that all the necessary 4KiB blocks of binary code can be loaded/saved at will, one 4-KiB block at a time from/to the same file. ...lee 1 1 Quote Link to comment Share on other sites More sharing options...
+TheBF Posted November 30, 2021 Share Posted November 30, 2021 20 minutes ago, Lee Stewart said: The reason I suggested Level-2 Subprograms >014 and >015 is that all the necessary 4KiB blocks of binary code can be loaded/saved at will, one 4-KiB block at a time from/to the same file. ...lee Ah! I need to learn about those. I have never pressed my DSR into service on the Level-2 Subprograms. Thanks for the reminder. 1 Quote Link to comment Share on other sites More sharing options...
GDMike Posted December 4, 2021 Author Share Posted December 4, 2021 (edited) Will be back on Foxit in a couple hours. Hopefully I can figure out how to get my Classic99 back in 80 col text mode again. Lol .it's probably just a key press or something. Edited December 4, 2021 by GDMike Quote Link to comment Share on other sites More sharing options...
GDMike Posted December 5, 2021 Author Share Posted December 5, 2021 Yup..I hit a couple keys, played with some video settings and wholla, my screen is normal for me again... 1 Quote Link to comment Share on other sites More sharing options...
+TheBF Posted December 5, 2021 Share Posted December 5, 2021 So classic99 boots up in 80 columns or do you poke some registers in your code? 1 Quote Link to comment Share on other sites More sharing options...
GDMike Posted December 5, 2021 Author Share Posted December 5, 2021 I initialized all my registers at boot up to set my display to 80 col two colors, but I hit like Ctrl enter or Alt enter or something crazy like that and it put me into 40 col mode, that was last Monday morning at like 6am, so I fooled around with it for about 10 minutes and gave up, being so tired after 13 hours, so today I just figured I'd play around with hitting those keys again and making sure in options that everything was pretty much the same as I thought it should be, I mean I know I never fooled with settings at all, so it has to be a key Combo thingy... anyway I got 80 Columns back but the display was distorted, so I hit some more something+ enter and it came around to my normal display... Quote Link to comment Share on other sites More sharing options...
GDMike Posted December 5, 2021 Author Share Posted December 5, 2021 I'll try to duplicate it...I need to know so I don't do that again .hmmm ..ever thought about reading the manual... nope. Never did..well, there ya go 2 Quote Link to comment Share on other sites More sharing options...
GDMike Posted December 5, 2021 Author Share Posted December 5, 2021 I can only make the screen larger, not altering my 80 col data.? Oh, well.. maybe the laptop needed rebooting, it's working again...so yeah. Quote Link to comment Share on other sites More sharing options...
GDMike Posted December 5, 2021 Author Share Posted December 5, 2021 (edited) I've got one issue in the"revise" fields options that I have to resolve and I'll be able to upload a try out version of what is working. In my revision routine, I have an error where if I go to edit a field and the field happens to be a memo and since only 1 memo is allowed and trying to revise that memo field to something else, I get the proper error message telling me that only one memo is allowed, but then it the program deletes the current Field altogether. So, I'm working my way through that and that should be all that I need in order to start work on the "modify screen" routine. Edited December 5, 2021 by GDMike 1 Quote Link to comment Share on other sites More sharing options...
GDMike Posted December 5, 2021 Author Share Posted December 5, 2021 I didn't get far Tonight. This one bug has me bugged.. I'll try again tomorrow night. That's how things go sometime. Quote Link to comment Share on other sites More sharing options...
GDMike Posted December 5, 2021 Author Share Posted December 5, 2021 Another night, I sure hope to resolve this issue tonight. Quote Link to comment Share on other sites More sharing options...
GDMike Posted December 6, 2021 Author Share Posted December 6, 2021 (edited) Making some progress tonight. Sheeeez..nice. Seems I'm able to change a memo Field to something else no matter what field numbers,1-9, and I can add a memo field but it places the new memo field as the last numbered field instead of replacing the field I selected.. !*✓% arghhhh... But this is progress. Sometimes I think these programs think and just do what they think is best?? All my fields act the same during editing and they don't go out of phase, but when it comes to my memo field it always wants to add itself to the bottom of the list...crazeeeeee Looks like I did that intentionally and totally forgot it..I lost some traction over the holidays and time off. I'll get it together soon. Edited December 6, 2021 by GDMike Quote Link to comment Share on other sites More sharing options...
GDMike Posted December 6, 2021 Author Share Posted December 6, 2021 (edited) I'll try to upload what I have... DF 80 program name FOX start name is FOXIT TO USE. MUST have F18A AND SAMS card (or choose in classic99) F9 escape out of help menu at boot up CREA file works (changes likely later) Used as, CREA DSK#.MINE as example CALL VER works CALL CLEAR works QUIT works SELE DSK#.FILE - example file I have been using in in DISK #4 so if you get an error try moving the file to dsk4. MODI STRU allows creation of fields - If you REVISE a field and select its number to the left then change your mind and hit ESCAPE F9, that field will be deleted, but you can add it back of course. THESE are the ONLY commands that work at this time. to access the help menu, press F4 to close the command window and press F9, if you want to close HELP, then press F9 and F8 to make the command window appear again. NOTE: i made a simple change ---here is the latest FOX program..but its a small change so no worries UP.rar FOX Edited December 6, 2021 by GDMike usage 1 Quote Link to comment Share on other sites More sharing options...
GDMike Posted December 6, 2021 Author Share Posted December 6, 2021 (edited) Keys and commands that work in the command box. Left arrow, right arrow, space bar, characters, F3 delete Line, enter, F4 hide, F8 Show CALL CLEAR, QUIT, CALL VER CREA DSK#.FILE MODI STRU SELE DSK#.Name DISP STRU is functioning, but unfortunately it's not in this upload. Sorry bout that... More work to do next Saturday night! Edited December 6, 2021 by GDMike 1 Quote Link to comment Share on other sites More sharing options...
GDMike Posted December 12, 2021 Author Share Posted December 12, 2021 Back at it tonight. Working on a bug I found in the command window last week.. Quote Link to comment Share on other sites More sharing options...
GDMike Posted December 12, 2021 Author Share Posted December 12, 2021 (edited) Fixed my bug.. what it was, - whenever I would just press enter on a command line the cursor would drop to the line below like expected, but if the cursor was already on the last row and I pressed enter, then my cursor would drop into no mans land, a row down, then it would correct itself and jump back up to the previous row. -- so now it just scrolls the screen up in the command window like it's supposed to...geez... I had been testing with command words and everything has always been normal... never thought about just hitting enter over and over... Just documenting since my last weekend update... VID_20211211_203854922.mp4 Edited December 12, 2021 by GDMike 2 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.