[Coco] running BASIC in RAM (was "Coco Questions")
Gene Heskett
gene.heskett at verizon.net
Sat Jul 14 16:11:26 EDT 2007
On Saturday 14 July 2007, Jim Cox wrote:
>Gene:
>
>Is this applicable for only CoCo 1 and 2 systems due to
>their limited memory? Also, when you say PIC, what do you
>mean? PIC to me is a microcontroller. Life was so much
>simpler when acronyms only had 3 different meanings :)
>
Chuckle... In this case PIC=Program counter Independent Code, meaning all
jumps and branches are relative to the program counter and the code can be
loaded and run anyplace in the address map. All os9 programs feature that
FWIW.
Actually, I think I miss-wrote that and it should have been PCI, not PIC. But
then PCI is a bus architecture, common on x86 machines. So we can't win. :)
It didn't work on the coco3's because that memory area was already used by the
coco3 extensions. However, there was no reason it wouldn't have worked when
loaded into the top kilobyte of basics ram area that ended at $7FFF, as Jake
originally wrote it to do. But even then for coco2's and coco3's it needs a
one byte (or was it 2) patch cuz Jake wasn't listening to the shacks own
coding rules. It would run on the 2's, but very very very slowly. Did I
mention its slow on (D)ECB1.1?
The coding mistake was that when his extra wedge made the jump into the basic
rom to scan the keyboard, he used the entry address of that routine as it
existed in ECB1.0. when what he should have done is jumped to [$A002] which
contains the correct address in case it got moved, which it did with ECB1.1.
That BTW, was my intro to debugging OP code and I felt pretty good that I'd
actually found a mistake the Great Jake Commander made. Over 20 years ago, &
now I'm just another O.F. that asks for his Senior Discount.
--
Cheers, Gene
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
I also never expected Intel to dispose of themselves in such
a cute way.
- Rik van Riel on linux-kernel
More information about the Coco
mailing list