Jump to content
IGNORED

Supernotes


GDMike

Recommended Posts

10 hours ago, GDMike said:

MOV @NSF,R5

LI R3,>7FEF

MOV R5,*R3

This whole thing is the same as MOV  @NSF,@>7FEF. After all, it is a memory-to-memory architecture, you know. Take advantage of that.

Which in turn is the same as MOV  @NSF,@>7FEE, because >7FEF is an odd number (32751). MOV will always send data to an even address, so it will be changed to >7FEE.

 

But reading your other text, aren't you intending to store the value in >7FFE instead of >7FEF? A simple typo?

Link to comment
Share on other sites

2 hours ago, apersson850 said:

This whole thing is the same as MOV  @NSF,@>7FEF. After all, it is a memory-to-memory architecture, you know. Take advantage of that.

Which in turn is the same as MOV  @NSF,@>7FEE, because >7FEF is an odd number (32751). MOV will always send data to an even address, so it will be changed to >7FEE.

 

But reading your other text, aren't you intending to store the value in >7FFE instead of >7FEF? A simple typo?

The intent is to move NSF's value to >3008 and>7D94. But after a SAMs bank change.

 

I did figure out my problem when I was reminded about the odd address I was experimenting with as I was in a loop and didn't recognize it.

Ill make the change here though regarding how I treat @NFS.  I figured that was a valid expression but didn't know for sure and I wanted to be safe. I'm starting to understand the debugger now and I'll be making more use of that also.

ty

 

Edited by GDMike
Link to comment
Share on other sites

9 minutes ago, GDMike said:

The intent is to move NSF's value to >3008 and>7D94. But after a SAMs bank change.

None of these addresses are even mentioned in the code snippet you wrote above.

 

But the point I tried to show was this:

  • First you move a value from memory location X to register 5.
  • Then you load an address to memory location Y to register 3.
  • Finally you move the content of register 5 to the address pointed to by register 3.

 

When you code have moved the content of X to Y with a single instruction. MOV @X,@Y

 

If you move it to the wrong place is something else.

Edited by apersson850
  • Like 1
Link to comment
Share on other sites

Right. The addresses are different now because of a change I needed to make once I saw that NFS wasn't being saved to SAMs.

But anyway, the problem was two-fold, trying to write a to an odd address and not using the mov @address value to @address value inside my loop. But I've got the picture.

and my loop counter was started too early.. anyway... yeah 

 

 

Edited by GDMike
Link to comment
Share on other sites

Trying to track down why field data after loop 1 shows valid, then after loop 2 it's still valid with an additional field added that has good data like normal.(looking at the debugger)

But when I answer my message regarding save form Y/N?  the original data at >7D94 first field position number has changed to an invalid value, but the second Field is still intact. I'll have to wait until this Evening to continue..

 

But the good news is that after each field processing through the loop, everything showed correct information.

 

Edited by GDMike
  • Like 2
Link to comment
Share on other sites

Corrected. I was not incrementing DBF0 on WORD moves. I thought I had corrected this once already... anyway, it's ok now. Next I'm needing to save field count to>7D9A as a WORD value, and once that is completed I'll be able to push everything to SAMs.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

Field count = got it!

Everything ready to push to SAMs.

This concludes the database framework for the form a user would create and what is needed to create a new record.

Edit: I did have a typo in field 1 with a "C" showing. It's noted.

 

IMG_20220618_212907254.jpg

Edited by GDMike
  • Like 1
Link to comment
Share on other sites

Field count = got it!

Everything ready to push to SAMs.

This concludes the database framework for the form a user would create and what is needed to create a new record.

-----------------------

Success. Was able to move the table from>7D98 into SAMs bank >FE and store it there, and branch over to the routine that basically moves the table from SAM'S and into>7D98. (Even though I just did the reverse)

Moving from SAMs to>7D98 is needed to create a new record.

Anyway, everything is working so far.

I can save the 2 forms.

I can save the data entry form structure to high ram for calling if needed, but it's also a way I save the framework to disk.

And I can retrieve the frame (form), table..structure when needed.

Great ??

 

IMG_20220618_221712633.jpg

Edited by GDMike
  • Like 3
Link to comment
Share on other sites

Tonight's programming task for SNP 3 will be deciding how to handle what happens after a form is created.

 

As I'll need a menu for the user that once a form has been made by the user to now give them a choice of,

1. Adding records or

2. Not wanting to add records and basically to bail out and go back to SNP, or

3. Edit the form.

 

I've also decided to have the program memorize which SNP page contains the form. So that if a user is paging thorough SNP and gets to within 1 page of the form, that this menu also arises, BUT only after a form has been created.

 

Menu and Option 3 completed.

That's a quick 12 hour shift gone.

Zzzzzz

 

 

Edited by GDMike
Link to comment
Share on other sites

So impressed with what you're doing. This would have been a killer app back in the day. I'm not joking when I say if you'd written this for the Apple II, C64 and early PCs you would be a millionaire today.

 

It's similar to a program for the PC called Ability+. Ability+ was a word processor, spreadsheet, and database all in one application. For example, you could enter data into a database, and that data could be queried to populate a spreadsheet - change the data in the data in the database, and the spreadsheet changes. You could then include that spreadsheet in a document, and again, if you change the data in the database, the spreadsheets updates itself, and so does the document. It was an early form of object embedding I suppose. Worked a treat. Ran on a 640K PC IIRC!

  • Like 3
Link to comment
Share on other sites

I'm getting there. Busting my butt on this mess. Reimaged tipi SD Because the power strip starting spitting up, and corrupted it, but that's always simple, getting the rest of this is horrible..  

My desktop space is pretty much clean after I just threw it all in the cabinets below!! Yay

IMG_20220624_081704112_HDR.jpg

IMG_20220624_081650983_HDR.jpg

IMG_20220624_081613056_HDR.jpg

  • Like 2
Link to comment
Share on other sites

Today things are better. But it looks like the raspberry pi  power connector has lost it's tight grip on the power cable and isn't seating, I've got it set at an angle and I'm afraid that if I try connecting the printer up to the rs232 that I'll lose connection. So I've got to be careful around that PEB until I can fix that.

On the other side of the world, in the house, I've got everything back together. I'll be back on SNP tomorrow night for the dreaded 12 hour work weekend in the heat. But maybe we can get something done on SNP.

 

Edited by GDMike
  • Like 2
Link to comment
Share on other sites

  • 2 weeks later...

What's done, so far.

 

Using SNP, a user can land on Any page and place database tags and create a DB source form.

 

The DB source form must adhere to rules for the database Form, a press of function F will find any errors and report them, allowing the user to correct the form or exit OR, if the form is proper, then process the form and create a second Form, following the original source on the next Page that will be used for data entry. This second form is NOT accessible via paging up and down, but is accessible thru The Menu.

 Once the second Form is created, a Menu is presented, press 1 for edit source, press 2 to input data, press 3 to exit.

Pressing 3 takes the user to page 1 of SNP pages.

Pressing 2 puts the user back into the source form.

And pressing 1 has not been created yet.

 

Note: after a DB source Form has been created and the user selected exit to SNP, the user is placed into page 1 and the GOTO command is halted and gives an error if used.

Paging up in SNP pages works properly, but when the user lands on the previously created Source form page, the menu is brought back up.

That is what is working.

 

 

 

 

 

 

 

Edited by GDMike
Link to comment
Share on other sites

3 minutes ago, GDMike said:

What's done, so far.

 

Using SNP, a user can land on Any page and place database tags and create a DB source form.

 

The DB source form must adhere to rules for the database Form, a press of function F will find any errors and report them, allowing the user to correct the form or exit OR, if the form is proper, then process the form and create a second Form, following the original source on the next Page that will be used for data entry. This second form is NOT accessible via paging up and down, but is accessible thru The Menu.

 Once the second Form is created, a Menu is presented, press 1 for edit source, press 2 to input data, press 3 to exit.

Pressing 3 takes the user to page 1 of SNP pages.

Pressing 2 puts the user back into the source form.

And pressing 1 has not been created yet.

 

Note: after a DB source Form has been created and the user selected exit to SNP, the user is placed into page 1 and the GOTO command is halted and gives an error if used.

Paging up in SNP pages works properly, but when the user lands on the previous Source form page, the menu is brought back up.

That is what is working.

How many DB source forms can it make max?

 

  • Like 1
Link to comment
Share on other sites

1 source form and input starts on the following page from the source, then input is stored in high SAMs working to lower banks as it grows. User cannot access any pages after Source form page by ones self.

1 source Form but can be saved as a file and user can start another file if needed.

Note. My storage hasn't been created, and that can change up a bit, ill see, either high to low or low to high. I can't remember rt now why I chose high to low, but there's a reason..

Rt now it's cleaning carpets after the dog peed ..I had to do a 22 hour shift at work when someone called off,  and one kid was visiting friends, and another was working as well. Can't win.

Edited by GDMike
Link to comment
Share on other sites

15 minutes ago, GDMike said:

1 source form and input starts on the following page from the source, then input is stored in high SAMs working to lower banks as it grows. User cannot access any pages after Source form page by ones self.

1 source Form but can be saved as a file and user can start another file if needed.

Note. My storage hasn't been created, and that can change up a bit, ill see, either high to low or low to high. I can't remember rt now why I chose high to low, but there's a reason..

Rt now it's cleaning carpets after the dog peed ..I had to do a 22 hour shift at work when someone called off,  and one kid was visiting friends, and another was working as well. Can't win.

OK. So the source form is the data field sizes and names descriptions? Then other SAMS pages are used for the Database?

 

I hope there was a little overtime on that shift.

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...