Jump to content

AriX

Members
  • Posts

    14
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

AriX's Achievements

Space Invader

Space Invader (2/9)

1

Reputation

  1. This is awesome, Kay! Wonderful find and thanks for sharing! Fwiw, I'm the guy behind the Prevue Guide Wiki, so you reached the right place If you're interested, feel free to post this on our Prevue forums over here, also: http://ariweinstein.com/prevue/index.php (otherwise I'm happy to share it there!)
  2. Okay - how can I do that with atasm? Just combine them into two separate object files? How would I then run them together in Atari800? Sorry for my n00by questions
  3. Appreciate the insight, but I'm still a bit confused. I separated the files and used includes, but it still complains of the same thing. I don't understand why the program defines this label twice or why it is set to the PC; I'm just not that far along in learning 6502 asm yet. When I remove one of the labels or separate them by changing all of the instances of TXTBUF in one of the files to TXTBUF2, the program crashes (it seems to be trying to execute code at $0016 for some reason). How can I successfully compile this and get it to run? Maybe I just need to somehow tell something where to look in memory for what I want it to run? ($600)
  4. Hey all, I'm having some issues with Atasm as well. For example, how would I compile multiple source files together as seen here? http://www.atariarchives.org/roots/chapter_7.php When I just put them together in the same file, the compiler complains that TXTBUF is defined twice, but I have no idea what the second definition means ("TXTBUF=*"). When I remove it and try to run the binary on my virtual Atari, it throws an unrecoverable error asking me if I want to warmstart or coldstart (although this may be for some other reason).
  5. Cool, thanks Sounds like you've got the low-level stuff figured out.
  6. There's probably a better way to come up with a disassembly - you would know better than I. However, it seems that most/all of the routines relating to serial command parsing are present in the correct format. I'm not entirely sure - the data just comes in as raw serial input to the SIO port at 2400 baud. I don't think it really matters all too much though. The important part is that after the data is received, it is written to 0x3800 in memory and parsed from there. Again, I'm not sure the raw I/O routines really matter as much as the routines that parse the commands. Of course, I don't know much about this, so I'm probably just talking out of my ass, but this is just what I understand I don't have any hardware that sends data to the Atari other than a regular SIO2PC; as I said we have already reverse engineered parts of the data format and can successfully send it many types of messages, but not listings (the P and C commands that were used to define what channels were in a machine's lineup and what programs were on those channels)
  7. Apparently I can no longer edit the above post, so I'll post my addition here: The software ran on a 130XE, and was discussed in several threads on these forums. (The information in those threads is mostly speculation and is mostly incorrect - it's an interesting read, but don't trust it all too much)
  8. Hi all, I'm posting to request some help with reverse engineering the EPG Jr. software that ran on the Atari 130XE and was a forerunner of the Amiga-based Prevue Guide. We at the Prevue Guide forums have figured out a lot about this particular software, mostly thanks to a user named tin, and can now input our own ads (by going to the scroll speed menu, typing an exclamation point, and pressing escape to unlock the ad menus), and send the software a few different types of commands (like telling it about settings, the current time, or a title for the guide). Essentially, the software received listings and commands through the Atari's SIO port. The data was sent nationwide through a satellite transponder, and encoded in the VBI of WGN's national feed. When data is received over serial, it is written to 0x3800 in memory, and the address of the end of the data is written to 0x00c8. (For example, a time command 55 AA 41 2A 00 94 55 AA 4B 00 00 00 00 00 00 00 01 01 b4 would be written to 0x3800, and then 13 38 would be written to 0x00c8 because the data ends at 0x3813). I don't know where the serial format parsing begins exactly, but I can see that at 8ea1, the code branches off into parsing the different possible command modes. The modes listed are P, 0xBB, R, O, E, K, F, M, Z, T, N, L, C, and 0x03. From what we know so far: C is for ads, K is for clock, T is for title, F is for settings, and 0xBB is for an end message. We also know that P is for program and C is for channel, but we don't know what format those are expected to come in as. An overview of the data format can be found here. Every message is checked using a one-byte checksum. A message will start with 55 AA 41, then a serial number called a "select code" to determine which machines should pay attention to the command (or 2A for all machines), then a 00 to end the string, and then a checksum for the select code (for 2A it would be 94). Then, there is another 55 AA, and the mode code (for example, 54 for title, because 0x54 is an ASCII T). Finally, we have the body of the message, which can be just a normal ASCII string, and is terminated by a 00 byte, and lastly there is another single-byte checksum which is computed by starting with a value unique to the mode (for example, for T the checksum would start with 0xAB), and then bitwising the initial value with each byte of the body until the 00. If you want to help bring multiple pieces of iconic software that ran on classic computers like the Amiga and Atari to life, please help out with this project. Thanks! Resources: UVSG Generator - This will generate commands for all of the modes we know of at this time. Disassembly of EPG Jr. Cart - This is a disassembly created with dis6502. EPG Jr. Binary - This is the Atari binary of the EPG Jr. software. UVSG Satellite Data Format - This is an overview of the format that data was received in on both the Amiga and Atari platforms. Curday.dat Data Format - This is a thread partially explaining the format used to cache listing data on the Amiga platform, which likely can help in the process of reverse engineering the EPG Jr. If you have any more questions about what we know already about the data format, please feel free to ask - I didn't explain it very well or very fully.
  9. Hi all, I've been searching for a little while for a way to connect a virtual SIO device to an emulator. As in, I would like the emulated Atari program to be able to accept arbitrary SIO input that I send to it from my computer... Not from some sort of real serial device attached to my computer. I have both a Mac and a PC accessible, and while I would prefer to be able to do this on my Mac, if this only is possible on a PC right now, I could use that instead. Any advice? I'm currently trying to use Atari800MacX for this with no dice. Thanks!
  10. Just an update - tin has reverse engineered the data format and the checksums needed to send messages to these machines. He hasn't yet figured out the message sent at the end of the command, so the data light continues to blink even after the message is processed. Also, he hasn't yet looked into listings. However, we are now able to send commands to update the date and time and update the title at the top of the screen. If you have a serial connection to your EPG 130XE, try sending this across it to change the date: 55 AA 41 2A 00 94 55 AA 4B 01 04 09 0A 16 27 1E 01 01 9D Or, to change the title, send this (sorry, didn't center it): 55 AA 41 2A 00 94 55 AA 54 45 4C 45 43 54 52 4F 4E 49 43 20 50 52 4F 47 52 41 4D 20 47 55 49 44 45 20 4A 55 4E 49 4F 52 00 82 You'll need to reboot the machine between commands, we can't yet send multiple (since we don't know the end code). tin has more info on my forum at http://ariweinstein.com/prevue/viewtopic.php?f=2&p=81
  11. It's not off-the-shelf - Zephyrus Electronics manufactured it specifically for United Video (hence the UV in the model name). Thanks for the help though.
  12. That type of device would be helpful if I had one of the demodulators that the video feed is run into
  13. Kewl.. The fact that we know its 2400 bps now tells us alot.. Try to contact some of the guys who posted the "preview channel" videos on Youtube.. Those almost certainly came from tapes... See if any of the tapes are still floating around.. Then, hook up one of those EPG Jr. units... But also, hook an SIO2PC "in-line" on the SIO bus, and have a PC runing a term program (set to 2400 baud, ascii emulation) and see what comes over.. If you can get that happening, you can totally figure this thing out, and start making your own EPG Jr. Feeds... Well, the thing is, it's not tapes of the Prevue Channel we need, it's tapes of WGN Superstation I will certainly start playing around with the EPG Jrs as soon as I can get my hands on one...
  14. Hey guys, Sorry to bump an old topic, but I have some new information that could be useful. I was talking to an ex-UVSG/TV Guide employee who actually put a lot of this information on Wikipedia a few days ago, and he was telling me about how the EPG Jr worked. The input to the data demodulator was actually an analog feed of WGN Superstation (now WGN America) which carried the listings information in its VBIs (vertical blanking intervals) at a rate of 2400 baud from 1985 to 2005. In fact, if you had a SuperVHS (high quality VHS) tape of WGN and you ran it through the Atari unit, you would probably see all of the listings from whenever the tape was recorded appear there. He said it likely wouldn't work with a regular VHS tape, since it wouldn't have enough info in it, although if someone had a regular tape of WGN, it would probably still be worth a try. I've been running the EPG ROM image in an Atari emulator (thank you so much to everyone who was involved in getting that, by the way) and I am likely going to be buying one of these EPG Jr units from the same seller (although he says he doesn't have any left with working power supplies or sick blue cases)... So I'm trying to locate a tape of WGN to see if we can figure this out. I do have one question though. I'm running it in the Atari800MacX emulator, but I don't know how to get that data dash to light up like MEtalGuy66 did. I took a random file, inserted it virtually as a CAS (casette) file, but I don't know how to get it to "play". The only options are insert, eject, and rewind. So maybe I'm doing it really wrong. I'm an Atari newbie, so help me out here? Am I misunderstanding where the program gets its data from? Thanks!
×
×
  • Create New...