Jump to content
tschak909

Atari 822 Technical Reference?

Recommended Posts

Is there a reference for the Atari 822 other than the Owners manual? There is obviously bitmap output, but the Owners Manual only provides a BASIC program where the bitmap mode is obscured in an assembler routine.

 

-Thom

Share this post


Link to post
Share on other sites

I don't know if this will help but I disassembled the code from the owner's manual to see what it was doing.

 

Basically if you send a SIO Put with Aux1 set to $4C ('L' for Line perhaps) then instead of printing the 40 bytes as characters it prints a single line of 240 pixels (the last 10 bytes are not used - although you do seem to have to send them).

 

The attached test.s continually prints lines of random data out on the 822:

 

822.thumb.JPG.baa14a03a8b687342cc6cce0a24b91cc.JPG

 

The code in the owner's manual prints the screen out sideways; I attach the disassembly for that which I've commented but haven't done anything else with.

 

Paul 

test.s test.xex commented.s

  • Like 1

Share this post


Link to post
Share on other sites

@playsoft Yup, it turns out we don't need to send the 4C, simply sending the SIO command P is sufficient, at this point you indeed get a 240 pixel 1bpp stream in. The firmware on the printer does a good job buffering in and converting it to the vertical 7 bits that the printer normally wants for graphics mode, and makes it REALLY EASY to make the printer do graphics. I wish Atari had done more printers like this.

 

Because of it, @jeffpiep was able to completely implement the graphics mode on the 822 emulation in #FujiNet, producing output like this:

822emugraph.thumb.png.840e37bfa13fb6844cc78ac580064ebe.png

 

This has also set the stage for how we'll implement the Epson MX/FX ESC/P graphics.

 

-Thom

  • Like 2

Share this post


Link to post
Share on other sites

Looks great, opens the door to using the 822 in games! (print maps etc...).

 

Strange, my 822 seems to need the $4C in my test program; with Aux1 set to $00 there's no printer output at all, just farting noises; with it set to $4E I get normal text output, not bitmap.

 

Paul

  • Like 1

Share this post


Link to post
Share on other sites
On 4/4/2020 at 9:38 AM, ClausB said:

You're welcome to use any of this code for Epson graphics:

 

This is neat. I will try to use it to test the Epson emulator.

 

I was imagining a program that would send all the grahpics/screen states to the FujiNet, which would then emulate the screen and the generate a modern graphics file (e.g., PNG). Would it be difficult to port it to C++ and run it on the ESP32?

Share this post


Link to post
Share on other sites

@jeffpiep

Not sure I understand the proposed architecture. Like this?

- PRANTIC 6502 code captures graphics and sends over SIO in some format.

- ESP32 receives over SIO and converts graphics into EPSON codes.

- EPSON emulator converts codes to PNG file.

 

If that's what you have in mind, then half of what PRANTIC does now would run in the Atari and half in the ESP32?

Edited by ClausB

Share this post


Link to post
Share on other sites
On 4/6/2020 at 9:40 AM, ClausB said:

@jeffpiep

Not sure I understand the proposed architecture. Like this?

- PRANTIC 6502 code captures graphics and sends over SIO in some format.

- ESP32 receives over SIO and converts graphics into EPSON codes.

- EPSON emulator converts codes to PNG file.

 

If that's what you have in mind, then half of what PRANTIC does now would run in the Atari and half in the ESP32?

@ClausB

I was thinking of

- PRANTIC 6502 code captures graphics and sends over SIO in some format.

- ESP32 receives over SIO and converts graphics into a color PNG much like an emulator screen capture.

 

I don't know if this is an appropriate use of the PRANTIC emulation of ANTIC and GTIA.

 

-Jeff

 

Edited by jeffpiep

Share this post


Link to post
Share on other sites
On 4/1/2020 at 5:03 PM, playsoft said:

The code in the owner's manual prints the screen out sideways; I attach the disassembly for that which I've commented but haven't done anything else with.

 

Paul 

test.s 1.9 kB · 3 downloads test.xex 91 B · 3 downloads commented.s 2.85 kB · 4 downloads

Thank-you for the information and disassembling and commenting the example code from the user's manual. I was just guessing at how this worked by watching SIO traffic. Good to have the confirmation based on the example program.  

 

Jeff

Share this post


Link to post
Share on other sites
On 4/2/2020 at 6:27 AM, playsoft said:

Strange, my 822 seems to need the $4C in my test program; with Aux1 set to $00 there's no printer output at all, just farting noises; with it set to $4E I get normal text output, not bitmap.

@playsoft

Paul, I'd like to get the emulator behavior right. Right now, I send all SIO 'W' data to text and 'P' data to graphics. Should I be using the Aux1 instead sending 'N' to text and 'L' to graphics? Or is it a combination of command and aux1?

 

Thanks

Jeff

Edited by jeffpiep

Share this post


Link to post
Share on other sites
On 4/8/2020 at 8:18 AM, jeffpiep said:

@ClausB

I was thinking of

- PRANTIC 6502 code captures graphics and sends over SIO in some format.

- ESP32 receives over SIO and converts graphics into a color PNG much like an emulator screen capture.

 

I don't know if this is an appropriate use of the PRANTIC emulation of ANTIC and GTIA.

 

-Jeff

 

@jeffpiep PRANTIC could do that. PM sent.

  • Thanks 1

Share this post


Link to post
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...