|Re: Variable/Interger Pointers QUESTON; [message #93078]
||Sat, 11 October 2003 20:24
Registered: December 2011
Are you using Kernel file routines to output your characters? IIRC, for file|
numbers > 128 (> $80 hex, ie., MSB set) the Kernel automatically adds a
line feed to carriage returns.
"Steve Bell" <email@example.com> wrote in message
> I'll be downloading Jim Butterfields book very soon. I would like to
> learn arrays in ML, so i can write even more ML routines. Im
> developing a Bulletin Board System, and hav run into 1 "bug/error" so
> far. granted it is a "cosmetic" error, ,its is just frustrating me.
> Maybe you might have an idea on what the cause could be, without me
> sending/postinig thousands of lines of source code. I will try to
> describe the bug the best I can.
> My "data output" routine prints 1 character from a string to the
> screen then the modem and returns. I then have another routine that
> starts at the beginning of the string grabs one character at a time,
> and JSRs them to the first rotine, untill the strings length is met,
> then the second routine returns to basic. When i first start my
> program, the text is outputed exactly like a BASIC print"Hello";
> statement would work. I also have a SysOp window, which needed a
> special "scroll" routine, to keep the window at the top of the screen
> "there" all the time. here is how i can make the bug expose itself. if
> i output data plus a string at the end. Ex. a$="1]Current Baud Rate:
> "+br$(1):sys49152 it will print fine. Keep in mind everything is
> printing fine as of now. If i change the br$(1) to another variable,
> etc.. 300, 1200, 14.4 it will print everything ok, but once it priints
> the "1]Current Baud Rate: 300:" like it should, after that line is
> processed, it will print a double carriage return, when there was
> only one programmed to be sent. And then, once this bug "Starts" it
> starts getting worse, and priinting double carriage returns EVERYWHERe
> there is a need for print a return after a line of text. Which makes
> devvelopng the BBS's BETA Cosmetic scheme very hard. I do use a
> routine similar to C-Net BBS, where while in quotes, in the BASIC, if
> an F6 is entered, the output interpreter will print a carriage return.
> But iive tried using a chr$(13) instead, and it still errors. ANY
> help, will encourage me to develop this BBS system further, and most
> of all, will be appreciated. Thanks, and sorry for thhe novel..
> -steve bell
> firstname.lastname@example.org (Paul Rosenzweig) wrote in message
>> email@example.com (Steve Bell) wrote in message
>>> To make that sound les complicated. How would i locate aa%
>>> and print it to the screen? Or, locate aa and print it to the
>>> screen. Im trying to write a BBS program, and due to a small
>>> cosmetic bug, thats frustrating me to death, im working on
>>> new features. Any help will be remembered, and appreciated.
>> You probably want to read the stuff on your topic in Jim
>> Butterfield's book MACHINE LANGUAGE for THE C64, C128
>> and OTHER COMMODORE COMPUTERS. I THINK Butterfield's
>> Commodore ML book is in the file ML4C64.ZIP here:
>> You may want to start on page 102.
>> Both floating point and integer scalar variables occupy 7 bytes.
>> The first 2 bytes of a scalar memory entry contain its name and its
>> variable type. The Butterield book shows you how to figure out the
>> variable type. Once you are able to find a variable in memory, you
>> will need to look at the 5 bytes that follow the numerical variable
>> name for the variable value. Locating variables in memory on C128's
>> is a snap with the BASIC 7 POINTER function. You will need to
>> write your own code for locating variables in C64 BASIC programs.
>> I was unable to find any stuff in Buttefield's book on array
>> manipulation but I don't think you need that kind of thing right now.