Troubles running Tiny Basic on KIM-1

Let's talk about anything related to the 6502 microprocessor.
User avatar
BillO
Posts: 1038
Joined: 12 Dec 2008
Location: Canada

Post by BillO »

Code sent.

I initially had troubles with the memory test code too. I put some I/O immediately after ram (doh!). Interesting effects ensued.

Now I try make sure that there is unprogrammed ROM right at the end of RAM so that it works properly. This actually fits nicely with my usual scheme of having IO shadow the first little bit of ROM. Makes decoding simpler.

With the code I just gave you you should be able to modify the memory test any way you like. Maybe just take it out and hard-code your RAM size into it. BTW, this was created out of the KIM version, but you probably already guessed that.
Bill
User avatar
BigEd
Posts: 11464
Joined: 11 Dec 2008
Location: England
Contact:

Post by BigEd »

Got my copy - thanks Bill! I notice you've identified the helper functions for PEEK and POKE, two features which seemed otherwise missing.

I just might try to get this Basic running on the 65Org16 CPU. (If I succeed, it should magically get 32-bit integers because bytes have 16 bits.) However, I won't get a chance to start for a couple of days.

I nobbled the memory check to run in lib6502's run6502, which has 64K of RAM. Without this change, it all seems to work but puts the top of RAM at $809b which will presumably cause trouble.

Code: Select all

         INC $23                    ; Increment $23 (for next memory page)
         
         BPL SKP_PI ; don't allow memcheck to go above $8000
         PLP
         LDA #1 ; push a not-equal result
         PHP
         
SKP_PI   plp                        ; Now look at the result of the memory test
(A check against location $0 being found again at the start of some higher page might be a nice enhancement)

I've also found that I can do without the 'cryptic perl' mentioned in an earlier message if I use control-J at the end of each line, before hitting 'enter' (the ^J is echoed as ^M)

Cheers
Ed
User avatar
BillO
Posts: 1038
Joined: 12 Dec 2008
Location: Canada

Post by BillO »

You're welcome.

Yeah, I had to identify PEEK and POKE as they are called thru the USR function and I desperately needed to know where they resided (lol). It would be a useful exercise to add a PEEK command and a POKE function to the TBIL. Of course, the goal of fitting it into 2K would likely go out the window....but what is 2K today.
Bill
Post Reply