Page 1 of 7

Atari EPG jr reverse engineer

Posted: Fri May 14, 2010 4:31 pm
by tin
Thought I'd start a thread for miscelleneous stuff to do with this reverse engineer effort.

Re: Atari EPG jr reverse engineer

Posted: Fri May 14, 2010 4:33 pm
by tin
So. If someone wants to try.....

In your emulator, modify the memory at $3800 to 55 AA 41 2A 00 94 55 AA 4B 01 04 09 0A 16 27 1E 01 01 9D
and the byte at 00c8 to 13 and resume.

Now can anyone work out how to inject that data via the serial port in any emulator?! (edit: oops, the long string, not the 00c8 byte) :mrgreen:

Re: Atari EPG jr reverse engineer

Posted: Fri May 14, 2010 6:30 pm
by AriX
tin wrote:So. If someone wants to try.....

In your emulator, modify the memory at $3800 to 55 AA 41 2A 00 94 55 AA 4B 01 04 09 0A 16 27 1E 01 01 9D
and the byte at 00c8 to 13 and resume.

Now can anyone work out how to inject that data via the serial port in any emulator?! (edit: oops, the long string, not the 00c8 byte) :mrgreen:
Sounds great! :D I'll give this a try a little later. What does it do? :)

Re: Atari EPG jr reverse engineer

Posted: Fri May 14, 2010 7:06 pm
by tin
AriX wrote:
tin wrote:Sounds great! :D I'll give this a try a little later. What does it do? :)
that's the fun :)

Re: Atari EPG jr reverse engineer

Posted: Fri May 14, 2010 7:15 pm
by Bolt96
Sorry to ask now but what exactly will this reverse engineering do? It seems like a very complicated process. :?

Re: Atari EPG jr reverse engineer

Posted: Fri May 14, 2010 7:33 pm
by tin
It will tell us the format of the data (or maybe just some of it) that the atari is expecting and will act upon, which will tell us the format to arrange the data we want it to display, which will hopefully lead to figuring out how to send it to a real or emulated atari over serial, and even if we're clever via VBI (but maybe that's not neccesary). Then I hope to feed the same data into an amiga EPG Sr, or Prevue, and hopefully it will also show it! :)

Re: Atari EPG jr reverse engineer

Posted: Fri May 14, 2010 7:35 pm
by tin
Bolt96 wrote:Sorry to ask now but what exactly will this reverse engineering do? It seems like a very complicated process. :?
BTW it's not so much complicated as time consuming, it's been a real interesting excercise though :)

Re: Atari EPG jr reverse engineer

Posted: Fri May 14, 2010 9:12 pm
by AriX
tin wrote:
AriX wrote:
tin wrote:Sounds great! :D I'll give this a try a little later. What does it do? :)
that's the fun :)
Looks like it's a string, so I presume it inserts some listings or something :O

If so, major congrats/props. However, I was not able to get it to work. What exactly do you mean by $3800? I put in the address 3800, added what you said, and set 00c8 to 13, but nothing seemed to change. Any advice?

Re: Atari EPG jr reverse engineer

Posted: Fri May 14, 2010 10:12 pm
by tin
AriX wrote:Looks like it's a string, so I presume it inserts some listings or something :O

If so, major congrats/props. However, I was not able to get it to work. What exactly do you mean by $3800? I put in the address 3800, added what you said, and set 00c8 to 13, but nothing seemed to change. Any advice?
mmmmmm, interesting. suppose it depends on your emulator. I have atari800win plus. I run the atari emulation, and press F8 to get into the monitor.

i then type

c 3800 55 AA 41 2A 00 94 55 AA 4B 01 04 09 0A 16 27 1E 01 01 9D <return>
m 3800 <return> (to check I have typed it in correctly)
c 00c8 13 <return>
m 00c8 <return> (again to check)
cont

I know in alterra, the monitor commands are e to edit memory instead of c, and db to display rather than m.

Note there's good error checking in the code, presumably because theres a real danger of invalid information coming in because of the way it's broadcast. The code will throw away any data where the checksums aren't right.

The data above changes the internal date and time of the system to mon may 10th 10:39:30pm ;)

I must admit I have tried this several times myself and make a typo at least half of the time.

here's another one (need to cold reset before you do, btw)

c 3800 55 AA 41 2A 00 94 55 AA 54 20 20 20 20 20 20 20 20 20 20 20 20 4D 59 20 43 41 42 4C 45 20 47 55 49 44 45 00 AC
c 00c8 25

Re: Atari EPG jr reverse engineer

Posted: Fri May 14, 2010 10:16 pm
by tin
BTW the data recieving cursor stays flashing, I take it that I have not done something quite right, like there's an end-of-data message missing or something..... I am sure I will learn more in the next few days :)