Image Map Image Map
Results 1 to 8 of 8

Thread: Epson PX-8 - confused about TPA discrepency

  1. #1

    Default Epson PX-8 - confused about TPA discrepency

    When it boots it calls itself a 63.5K CP/M and I have the internal RAM drive set to 0K.

    When I look at address 6 and 7 they contain 00 DA which I take as 0xDA00 which is 55808 or 54.5K, not 63.5K.

    If I increase the ram drive by 9K, it will decrease this value appropriately.

    I am thinking perhaps it really only has 54.5K TPA.

    But... the manual here shows something different:

    Page 3-3 ( 38 ) shows a 100h BDOS and a 100h BIOS plus some unspecified work area, but essentially it has bank switching and then calls BDOS/BIOS from ROM. If they are 512 bytes, then the 63.5K would make sense, but why is the FBASE showing 0xDA00.

  2. #2


    You should have about 63K IFF you have no RAM disk (ie you have an external RAM disk unit present), and you have no user bios space set in the configuration. If you changed the settings then after a reset button press you should see the expected sizes. 54.5K TPA is right for the default initial 9K RAM disk.

    II cannot remember however if you can set it to a zero size RAM disk or whether it ignores that if no external expansion unit is present.

  3. #3


    User bios is 0, I tried to set the ram disk to its smallest amount, 2K, and it went from 54.5K to 52.5K. The ram disk size definitely changes, stat shows it to be the correct size after chaning it in config. Any more ideas to the mystery?

  4. #4


    I loaded DDT and did a dump of 0000 and got this

    0000 C3 03 EB A9 01 C3 00 DA FF 00 00 FF FF 00 00 FF
    0010 FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF

    So the jump instruction at 0000 is EB03, but the call for BDOS at 5 is DA00. Shouldn't then DA00 be the top of TPA?

    The if I run SURVEY.COM, it says:

    BIOS EB03
    BDOS EA06
    59910 TPA

  5. #5


    DDT relocates itself to the bottom (start) of the BDOS. so, from DDT looking at the JMP at 0005h you are looking at the start of DDT, not BDOS. Your TPA has been temporarily reduced while running DDT. You can thread your way through DDT to get to the BDOS, but it's not real scientific. If you "list" DA00, you will see it quickly jumps to a location further into the DDT, then you list that location and you'll see it next jump to the BDOS, which will be an address like xx06. So, the "xx06" will be your TPA end when not running DDT.
    - Doug

  6. #6


    Also, many versions of CP/M label themselves by their last address of the BIOS, not TPA. This is the value used by MOVCPM and is the "top of available memory". I suspect this "63.5K" version is for a machine that requires the top 0.5K of the address space for something else, like MMIO or ROM.
    - Doug

  7. #7


    It sounds like my use of DDT was not a wise one!

  8. #8


    There are many programs written for CP/M that will display the TPA value - avoiding use of things like DDT. Here is one such.tpa.asm.txt
    - Doug


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts