Jump to content
IGNORED

Assembly language bug in source code


9640News

Recommended Posts

I've been going over this XMD source file in the attachment for quite some time. The source file is for the Geneve, but for any assembly language programmers, the fact it is a Geneve file does not matter if you are familiar with assembly language.

 

The attached file (XMD) in the DSK image is an XMODEM transfer routine.

 

I recall years ago, Mike Maksimik informed me there was a bug and I found it once before. I thought it was on the Receive portion of the file transfer, but it could be on Send side. I just do not see it in either section. It's possible I had to correct it on both sides, just not 100% sure.

What I do remember was the bug was specifically related to an issue of a bad block during one of the 128/1024 block transfers. The error was with one of the following registers for the send and/or receive routine:

 

R6 Buffer Pointer

R7 Record Number

 

I believe the code was incrementing the Buffer Pointer too soon, and with an error, it offset the buffer pointer by either the 128/1024 block transfer. The solution was in the error responding code to decrement either the Buffer Pointer or the Record Number (or both).

 

In 2003, I left a comment in the source code after I setup the Geneve emulator pointing to where I thought the error was. Then, and now, I can not see the issue.

 

If someone else can take a look at it, I would appreciate it. I have attached a DSK image, as well as TXT file so anyone can view it under whatever means they desire.

 

Thanks for any help.

 

Beery

 

 

Disk0005.dsk

XMD.txt

Link to comment
Share on other sites

I've been going over this XMD source file in the attachment for quite some time. The source file is for the Geneve, but for any assembly language programmers, the fact it is a Geneve file does not matter if you are familiar with assembly language.



The attached file (XMD) in the DSK image is an XMODEM transfer routine.



I recall years ago, Mike Maksimik informed me there was a bug and I found it once before. I thought it was on the Receive portion of the file transfer, but it could be on Send side. I just do not see it in either section. It's possible I had to correct it on both sides, just not 100% sure.


What I do remember was the bug was specifically related to an issue of a bad block during one of the 128/1024 block transfers. The error was with one of the following registers for the send and/or receive routine:



R6 Buffer Pointer


R7 Record Number



I believe the code was incrementing the Buffer Pointer too soon, and with an error, it offset the buffer pointer by either the 128/1024 block transfer. The solution was in the error responding code to decrement either the Buffer Pointer or the Record Number (or both).



In 2003, I left a comment in the source code after I setup the Geneve emulator pointing to where I thought the error was. Then, and now, I can not see the issue.



If someone else can take a look at it, I would appreciate it. I have attached a DSK image, as well as TXT file so anyone can view it under whatever means they desire.



Thanks for any help.



Beery


XMD.txt

Disk0005.dsk

Link to comment
Share on other sites

If you are interested for a MDOS-based XMODEM, I can offer you my tool, natively writting in assembly language for MDOS.

 

http://atariage.com/forums/topic/255547-xmodem-utility-for-geneve/

 

I grabbed the DSK image, however, I actually have more grander plans in mind and I was wanting to start with the source I had from My-Term that ran under MDOS.

 

I knew there was that one bug in the original My-Term source code I received from Riccio. I spent more time today going over both routines and it is not obvious and I am fairly certain this was the original source code Riccio sent me years ago and not source I went back through and fixed in the 90's. If nobody else is able to see the issue, I may need to go back and compare the distributed program with the image of late to see where those lines of code were.

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...