HOME AUTOMATION Posted April 16, 2022 Share Posted April 16, 2022 Sorry, I meant to refer to how the clock is accessed programmatically from the TI's side. Come to think of it, I guess I never did get TIPIAC to work with Classic99's clock. I ran out of memory in TI BASIC. OT: Perhaps if I ever improve on TIPIAC, I'll move to XB-24K, and add that compatibility. 1 Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted April 16, 2022 Share Posted April 16, 2022 On 4/10/2022 at 2:36 AM, GDMike said: SNP 3.0 will require an 8K supercart, SAMs, F18A and a TIPI. This can be subsidized? 1 Quote Link to comment Share on other sites More sharing options...
GDMike Posted April 16, 2022 Author Share Posted April 16, 2022 (edited) This is about fun, hobby and killing time at work... and learning for me. It's just- fun. I'm having a blast pulling my hair over code. Edited April 16, 2022 by GDMike 1 Quote Link to comment Share on other sites More sharing options...
GDMike Posted April 16, 2022 Author Share Posted April 16, 2022 (edited) 2 of the 8K supercarts are done and ready for a home. 2 more of the 8K supercarts each need 1 capacitor for finishing. Another 2 of the 32K, (4 bank), supercarts each need 1 capacitor and 2 switches for finishing.. Waiting on parts . (2 finished carts went out last week and 2 are ready, let me know if you want one). You might already know, but.. Just FYI.. the battery is only needed to retain memory, otherwise, I don't put a battery in my own personal cart. VID_20220416_122501006.mp4 Edited April 17, 2022 by GDMike 3 Quote Link to comment Share on other sites More sharing options...
GDMike Posted April 18, 2022 Author Share Posted April 18, 2022 I'll have to adjust my "number of Fields" in my help document to 15 from 10, but I have almost finished the DB FORM editor... Here's what we know... When a user pages up/down - the current page is always saved in the proper SAMs bank. When a user USES, let's say, 10 pages of SNP pages and decides that this current page(11) is a good as ever place to setup a database form, in which only 1 DB form can exist, we don't have to worry about saving anything in order to prepare for the DB FORM, but we do have to increment the Bank# in use by 1, because the DB form will be saved to the next available bank # and a copy of the form will exist in page 2(odd page), of the bank. Since SNP pages always take 2 pages per 1 bank. Why a copy..well when I remember, I'll let you know... but that's my plan from last week.. I just have to figure why haha... it'll come to me after I read my history docs... But it's probably got something to do with the even and odd page per bank sequence that I've got, plus a backup never hurts.. VID_20220417_194537134.mp4 1 Quote Link to comment Share on other sites More sharing options...
+TheBF Posted April 18, 2022 Share Posted April 18, 2022 That's coming along. It's a big project. Have you made an overlay system or do you use SAMS pages for extra code? 1 Quote Link to comment Share on other sites More sharing options...
GDMike Posted April 18, 2022 Author Share Posted April 18, 2022 (edited) 1 hour ago, TheBF said: That's coming along. It's a big project. Have you made an overlay system or do you use SAMS pages for extra code? This is actually like a big circle of code, my ending is reaching my beginning.lol, what I mean is, I'm finding some routines I use in SNP (basic), are being used here in the DB portion, and so far my code has been relatively small to get where I'm at. Which is pleasing, but I'm having to fanangle things because the program would be large if I had to rewrite and use redundant code again. No sense in that.. Just a couple flags and things go that way.. I have figured the overlay. And it's pretty neat. I don't want to interrupt or change things that a user already entered in SNP. So let's say, for example, a user has text on pages 1-50. And then all of a sudden they say, I don't have any more text for this document (file), so hitting F10 on any blank SNP page prompts the user to create a dbf form. Right here. And what happens is I mark SNP text pages from 1 to the current page and incrementing my SAMs bank for database data only while leaving SNP text pages 1-50, let's say, alone and accessible,. Pages are flagged for SNP text or SNP DB.. That's the theory...so far I haven't gotten that far, but I have been able, am able, to write SNP text pages 1-??? And pressing F10, setup a DB form, I'm able to save the form in the next available bank,(as planned), I was able to save the whole thing as I normally save SNP files, read the file back and with some cheating, because my code stops here, but I was able to see SNP text as normal without any changes and then I saw my form followed as expected. Of course this is not how I plan on getting to the database, but it was a test .. My addressing are 15 EQu with steps of 30 bytes. You can probably now imagine blocks of 31, I've got a separator of 1 byte, so yeah, you can imagine a list of a field 1 every 15 fields being the 30 character block of data.. I don't have all the formula in front of me, but it's something like, each bank is 4096 bytes, I don't save any field labels to this, because the form is saved as a separate entity, so i just match the field 1 form to the 1st bank data ..etc....if that makes sense.. yikes!! Anyway, the layout is just raw data in banks of 4k up to EOSams.. There's field header information that also gets stored...that's the part that tells us the structure of the field..as in, cursor location on screen, field type, date, time, char, value.. and then, something else..I forgot, but it'll come to me..lol, maybe it's bank#..? Anyway...it's all coming along.. It takes time because I'm writing my separate history docs while writing the code, so I don't forget what I did and why . Even though, I'll be asking why...lol.. BTW...a little change to note... the Field structure info is held in the beginning of the field EQu address... like 6 bytes...so, yes.. adjusting my field addresses from 30 bytes to something like 36 bytes...my bad..... Edited April 18, 2022 by GDMike Quote Link to comment Share on other sites More sharing options...
+TheBF Posted April 18, 2022 Share Posted April 18, 2022 9 hours ago, GDMike said: ... I'm finding some routines I use in SNP (basic), are being used here in the DB portion Hmm.. now where have I heard of that approach before... TYPE MOVE FETCH STORE ACCEPT CR CFETCH CSTORE MIN MAX ERASE BLANK KEY -TRAILING ... Sounds like you are making a system of re-usable code for your project. With your documentation approach you will have a nice toolkit to make progress. 1 Quote Link to comment Share on other sites More sharing options...
GDMike Posted April 18, 2022 Author Share Posted April 18, 2022 (edited) Was able to make good progress.. 99.8 percent complete with the DB form Editor. 95 percent complete with the"division" of SNP text data detection vs SNP database work area boundary detector. I was able to save the combination, SNP text + SNP database form, load it into memory and then I was able to Page into SNP text screens one after another until I encountered my, "warning, there are no more SNP pages, a database has been detected. Would you like to Access the database at this time? Message. And I was able to layout the memory addresses for my 15 fields . Note, I've still gotta play with my pnum variable, right now a user cannot bump into the database form by simply paging up/down. But the call GOTO function has a little tweaking to do... because it'll allow it. I'm hoping to choke that through my pnum, available pages variable. Edited April 18, 2022 by GDMike 3 Quote Link to comment Share on other sites More sharing options...
GDMike Posted April 20, 2022 Author Share Posted April 20, 2022 I was reading up about interrupts and I saw mention of this, as the writer didn't elaborate any further.. The anti-virus bug Note that reseting the TI-99/4A clears the whole scratch-pad including >83C4, therefore a hook will not survive a reset. This was intentional from Texas Instruments, to prevent a virus from remaining active by just hooking the interrupt routine. BUT... the code that clears >83C4 is written in GPL... and the GPL-interpreter allows interrupts! Thus, it is possible that an interrupt occurs after a reset, before >83C4 has been cleared, which would leave the hooking program in control. This never occurs in case of a hardware reset (e.g. turn the TI-99/4A off, then on) since the VDP chip takes a long time to reset itself before it generates the first interrupt. However, a software reset, such as pressing the <quit> key does not reset the VDP, so an interrupt may occur in time for the hook to survive the reset... 2 Quote Link to comment Share on other sites More sharing options...
apersson850 Posted April 21, 2022 Share Posted April 21, 2022 In which case you do a power cycle and are fine and dandy. So it's an issue that's not an issue. 1 Quote Link to comment Share on other sites More sharing options...
GDMike Posted April 23, 2022 Author Share Posted April 23, 2022 (edited) I'm still working on the DB form Editor. I didn't include an auto repeat in this editor, and argued with myself on adding it or not to add it. Looks like Shadow lost, so I'll be adding it and working on that tomorrow and I think that's about it for the editor. Next will be adding the pieces of code that will have to be deciphered later by the program, this part deals with field type, length and whether or not there's a beep, etc... Edited April 23, 2022 by GDMike 2 Quote Link to comment Share on other sites More sharing options...
GDMike Posted April 24, 2022 Author Share Posted April 24, 2022 (edited) Another long night ahead, but at least SNP keeping me company. Working on whatever I messed up last week end. I've already found something... but no biggie, well straighten it out. That's why I review what I ended with.. ? Edited April 24, 2022 by GDMike Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted April 24, 2022 Share Posted April 24, 2022 That caffeine stuff makes you all uptight man... Personally, I prefer tea... ...P.S. Always put quality before quantity! Quote Link to comment Share on other sites More sharing options...
GDMike Posted April 24, 2022 Author Share Posted April 24, 2022 (edited) Yes, coffee begs for doughnuts, but maybe I just got old because I don't have that craving anymore. Plus, I ate the last one anyway a few years back. Tonight I'm bothered by putting together a raspberry pi 4 icepack heatsink and loading up a OS. SNP thinking time, I call it. Timeout of sorts, I do pretty well when I come out of this " pi state". Edited April 24, 2022 by GDMike 1 Quote Link to comment Share on other sites More sharing options...
GDMike Posted April 26, 2022 Author Share Posted April 26, 2022 2 ea 8K supercarts are finished and available for purchase. I've got 3 ea 32K versions in the works. It's been hectic around here lately, helping my son with a rack and pinion problem and power steering pump issue lately. Haven't had much time for anything this month.. I still need supercart labels made, I'd like to make something like a title of, 8K supercart and 32K supercart. Cyan on black font colors. 1 Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted April 26, 2022 Share Posted April 26, 2022 1 hour ago, GDMike said: I'd like to make something like a title of, 8K supercart and 32K supercart. Cyan on black font colors.I'd like to make something like a title of, 8K supercart and 32K supercart. Cyan on black font colors. Ah, yes. The incumbent combination. Sounds reasonable. 2 Quote Link to comment Share on other sites More sharing options...
GDMike Posted April 26, 2022 Author Share Posted April 26, 2022 (edited) Just noticed on my tipi enhanced system that my date in SNP is reporting incorrect date. I just ran a tipi update too, anyway It's always connected to the internet all these days, I don't see a way of setting it manually, I suppose it's supposed to always grab that from internet but I'm wondering how did the "time zone" get knocked off it's knees like that and I don't know a way to reset the time zone either without pulling my pi off the board and connecting to a monitor and doing a "raspi- config" on it. Looks like I'll be REimaging. Edited April 26, 2022 by GDMike Quote Link to comment Share on other sites More sharing options...
GDMike Posted April 27, 2022 Author Share Posted April 27, 2022 (edited) The time away from SNP this week has allowed me to think about an issue I was having where Part of my code was eating 3k up quickly. I just saved myself 3K just like that! This weekend should get interesting. Edited April 27, 2022 by GDMike Was tired and made a typo 2 Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted April 27, 2022 Share Posted April 27, 2022 You're coming outta!? 3 Quote Link to comment Share on other sites More sharing options...
GDMike Posted May 1, 2022 Author Share Posted May 1, 2022 (edited) Started working on the form interpreter tonight. <<Finally>> Yeah, it's coming along Edited May 1, 2022 by GDMike 1 Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted May 1, 2022 Share Posted May 1, 2022 On 4/26/2022 at 10:03 PM, GDMike said: Edited Wednesday at 10:26 AM by GDMike Was tired and made a typo That's O.K. ...I saved the page!? 1 Quote Link to comment Share on other sites More sharing options...
GDMike Posted May 1, 2022 Author Share Posted May 1, 2022 (edited) What I'm doing..so far, in my interpreter, is I start reading the screen when user said, hey I'm done making my DB form. So there's only a few key characters to look for, the first and main character is "##" once identified, we take that as a valid DB form value that tells us, hey, were here and this is valid for a DB form! We also want this position noted as an entry point to whatever text proceeds this including a blank. That's going to tell us, 1. That the user is giving us a valid value for making a DB FORM.. and we can continue processing until an error occurs or not. The first value, location for entry, will be saved in byte 1 of ram variable if it's the first occurrence, Field 1 cursor location. Edited May 1, 2022 by GDMike 1 Quote Link to comment Share on other sites More sharing options...
GDMike Posted May 1, 2022 Author Share Posted May 1, 2022 We have the first field being read into ram and set. This only sets data into ram before moving to field 2, 3,4... Here I'm showing Field 1 being set as indicated by the new location of the input line and the"##" characters removed. VID_20220501_041041589.mp4 2 Quote Link to comment Share on other sites More sharing options...
GDMike Posted May 4, 2022 Author Share Posted May 4, 2022 (edited) I've got things on eBay 8K supercarts If you buy from here, I'll let each go at $90 each instead of$100 - free shipping and only USA shipping. Edited May 4, 2022 by GDMike 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.