A92: Update on Fargo / 92+


[Prev][Next][Index][Thread]

A92: Update on Fargo / 92+




I received my 92 Plus module yesterday (the 29th).

Here are some highlights of what I have found.

ROM layout
----------
* The first 64k sector of ROM is locked. It is used during boot only. If
the ROM has been corrupted somehow, the boot section will allow you to
restore it from a computer.
* Following that is 8k of what seems to be either uninitialized data, or an
I/O area for Flash ROM access.
* That leaves us at the address $412000. That is the start of rewritable ROM.

ASM file format
---------------
Rusty Wagner's description of the format is correct, except that there is a
relocation table in between the ASM program and the 0xF3 signature. It
starts at the highest address and goes backwards, as follows:

lowest address:  terminating marker 0x0000 (word)
                 destination offset (word) \  relocation
                 referencing offset (word) /   entry #n
                 destination offset (word) \  relocation
                 referencing offset (word) /   entry #n-1
                          ......
                 destination offset (word) \  relocation
                 referencing offset (word) /   entry #2
                 destination offset (word) \  relocation
highest address: referencing offset (word) /   entry #1

As you can see, it is very inefficient; each entry takes up 4 bytes. The
high-addressed word in an entry is the "referencing offset" -- it points to
the longword that needs to be relocated. The low-addressed in an entry is
the "destination offset", the offset that the longword being relocated is
supposed to point at. Offsets are relative to the base address of the ASM
code.

Progress with Fargo
-------------------
* Modified Linux flink to work with the TI-92 Plus.
* Modified flinker, adding an option to create a Plus ASM program.
  In the process I unearthed a bug in flinker and fixed it. This may
  have been the bug that was causing the DOS version of flinker to
  crash and/or generate corrupted files!

Plans
-----
- Adapt flinker, adding an option to generate a Plus ASM Fargo kernel
installer.
- Adapt the Fargo kernel to work on the TI-92 Plus.
- Implement of the following compatibility solutions:
  1) Write a compatibility module allowing older Fargo II programs to be
     run on the new Plus-compatible Fargo.
  2) Write a computer program to convert older Fargo II programs to work
     under the new Plus-compatible Fargo.
  3) Both of the above.


---
David Ellsworth
davidell@earthling.net
IRC: eXocomp
ICQ: 2300673


Follow-Ups: