Jump to content
IGNORED

TI-99/2 - General / System Rom Dump


kl99

Recommended Posts

Just been looking at the PCB photos. Looks like there's no de-coupling capacitors in there at all!

My tomy tutor motherboard is like that as well... just a few around the VDP DRAM, but none on the logic chips or ROMs. I think, if it didn't need it, it didn't have it. I think I heard the 99/2 was aiming at competing with the incoming Timex.

 

-M@

Link to comment
Share on other sites

This is how far we get in MAME right now. There seems to be some problem since the emulated computer locks up by a RTWP pointing to itself. Also, the screen is filled with >FFFF (using a SETO), then the text is printed, but this does not look correct.

 

 

at this title screen there is a keyboard check as far as i know. maybe that is causing for trouble? ciro gets the screen with internal error because of this.

playing in my 99/2 right now, maybe i can find out more what is in the memory.

Link to comment
Share on other sites

>0000 - >1FFF System Rom (Eprom 1)

>2000 - >3FFF System Rom (Eprom 2)

>4000 - >5FFF System Rom (Eprom 3)

>6000 - >7FFF contains 'FF' (as expected)

>8000 - >86FF contains 'FF'

...

>9000 - >90FF contains 'FF'

...

>A000 - >A0FF contains 'FF'

...

>B000 - >B0FF contains 'FF'

...

>C000 - >C0FF contains 'FF'

...

>D000 - >D0FF contains 'FF'

...

>E000 - >EFFF contains 'FF' (should be RAM)

...

Edited by kl99
Link to comment
Share on other sites

I don't know how to chain ROM0 to ROM1 and ROM2 to see a combined view. Maybe Michael Zapf can help us here?

 

You can do it outside: Export the ROMs as binary files, use Windows' copy command to create one file from the parts (copy /b rom1.bin+rom2.bin+rom3.bin allrom.bin), and re-import the whole file again (drag the new file from the Explorer into the TIMT window).

 

Or you can define the start address of the respective rom region in the disassembler options window.

Link to comment
Share on other sites

>0000 - >1FFF System Rom (Eprom 1)

>2000 - >3FFF System Rom (Eprom 2)

>4000 - >5FFF System Rom (Eprom 3)

>6000 - >7FFF contains 'FF' (as expected)

>8000 - >86FF contains 'FF'

...

>9000 - >90FF contains 'FF'

...

>A000 - >A0FF contains 'FF'

...

>B000 - >B0FF contains 'FF'

...

>C000 - >C0FF contains 'FF'

...

>D000 - >D0FF contains 'FF'

...

>E000 - >EFFF contains 'FF' (should be RAM)

...

 

It looks like I did some mistake when using the CALL PEEK command. The 99/2 Manual says to use values up to 65535. But I guess they must be signed negative instead, if greater than 32767.

So peeking >E000 would be?

Decimal: 57344

CALL PEEK(57344-65536,A)

?

Will try again tomorrow (Europe Time).

Link to comment
Share on other sites

OK, got it. Yes, this feature is actually not implemented ... but worse, there is a lot missing, this is really antique code (wonder that it is not written in cuneiform, I'd say). The HOLD sync is not there, the VIDENA neither ... still some work to be done, but should be doable.

Link to comment
Share on other sites

when I CALL PEEK into >E000 by using CALL PEEK(-8192,P) I get values from the RAM.

>E000 - >E23F contains >00

 

I am using this basic program to visualize the content:

90 R=8192*7
100 CALL CLEAR
110 X=8
120 Y=1
130 FOR I=0 TO 191
140 CALL PEEK(I+R-65536,P)
150 GOSUB 390
160 X=X+1
170 IF X<32 THEN 210
180 GOSUB 300
190 Y=Y+1
200 X=8
210 NEXT I
220 CALL KEY(1,K,S)
230 IF S<>0 THEN 250
240 GOTO 220
250 R=R+I
260 GOTO 100
270 H=(D+48)+(D>9)*-39
280 CALL HCHAR(Y,X,H)
290 RETURN
300 P=I+R-7
310 D4=INT(P/4096)
320 D=D4
330 X=1
340 GOSUB 270
350 D3=INT((P-4096*D4)/256)
360 D=D3
370 X=X+1
380 GOSUB 270
390 D2=INT((P-4096*D4-256*D3)/16)
400 D=D2
410 X=X+1
420 GOSUB 270
430 D1=P-4096*D4-256*D3-16*D2
440 D=D1
450 X=X+1
460 GOSUB 270
470 D4=0
480 D3=0
490 RETURN

Here are the screenshots:

 

post-27826-0-71662200-1478000396_thumb.jpg

post-27826-0-76031700-1478000408_thumb.jpg

post-27826-0-72783200-1478000413_thumb.jpg

post-27826-0-84700400-1478000418_thumb.jpg

post-27826-0-90290200-1478000423_thumb.jpg

post-27826-0-02009000-1478000430_thumb.jpg

post-27826-0-93019700-1478000434_thumb.jpg

post-27826-0-76950300-1478000439_thumb.jpg

post-27826-0-72338500-1478000444_thumb.jpg

post-27826-0-15767900-1478000450_thumb.jpg

Edited by kl99
Link to comment
Share on other sites

post-27826-0-09336000-1478000508_thumb.jpg

post-27826-0-50961000-1478000513_thumb.jpg

post-27826-0-27826900-1478000519_thumb.jpg

post-27826-0-88791100-1478000524_thumb.jpg

post-27826-0-46260400-1478000529_thumb.jpg

post-27826-0-54903700-1478000534_thumb.jpg

post-27826-0-13411200-1478000540_thumb.jpg

post-27826-0-99748800-1478000544_thumb.jpg

post-27826-0-58613500-1478000550_thumb.jpg

 

>F000 - >F0FB

The Product Specification tells us these 252 bytes are part of the Processor RAM (Cpu "on-chip" Ram).

The other 6 bytes of the Processor RAM are from >FFFA to >FFFF. In total we have 258 bytes of this on-chip Processor RAM.

 

post-27826-0-17289500-1478000556_thumb.jpg

 

>F0FC - >FFF9 contains all "FF" (unused, address range was meant to be used by external circuit)

Edited by kl99
Link to comment
Share on other sites

post-27826-0-95167100-1478000622_thumb.jpg

here you see the last 6 bytes are in use:

>FFFA - >FFFF

The Product Specification calls those 6 bytes being part of the Processor RAM (Cpu "on-chip" Ram).

The other 252 bytes of the Processor RAM are from >F000 to >F0FB (252 bytes). In total we have 258 bytes of this on-chip Processor RAM.

 

The 4Kybte RAM seems to be mapped from:

>E000 to >EFFF

 

The Video Controller is using the RAM for its purposes:

The Screen Image Table (768 bytes) is from >EC00 to >EEFF according to the Specs. This seems to be correct by verifying the dump snapshot.

>EF00 is the Screen Attribute Control Byte (in case of dump it had value >02 or 0b00000010).

The Pattern Descriptor Table is in Rom and seems like it is not mirrored into the RAM. Therefore no Character redefinition seems possible, unless you disable the internal Eprom from the Expansion Bus from your Cartridge.

 

I will try to find out where my Basic Program lies.

Edited by kl99
Link to comment
Share on other sites

About the implementation in MAME, as I said, this is from 1999/2000, and the only changes that were applied had the purpose of keeping it compiling. There is quite some work to be done; I consider to rewrite the whole video controller, but this should not be too difficult. Nevertheless, I have to learn a bit more about the video support in MAME.

 

Hexbus is greeting again ... still in the queue for the 99/8 ...

 

But at first I'd like to finish TIMT, or else I'm drowning in half-completed jobs.

  • Like 2
Link to comment
Share on other sites

  • 4 months later...

TI 99/2 Ad & Byte Article Rescans

A while ago I downloaded a Bill Cosby print ad and the Littlejohn / Jander article on the 99/2 from ftp.whtech.com. The quality of the scans wasn't great and since the Internet Archive is hosting high quality Byte & Creative Computing scans, I made new PDFs that are MUCH easier on the eyes.

 

What was called "Byte 99-2 article (0683).pdf" on ftp.whtech.com is 992_byte.pdf below.
What was called "99-2 ad in Popular Computing (0583).pdf" on ftp.whtech.com is 992_ad.pdf.

992_ad.pdf

992_byte.pdf

  • Like 4
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...