Jump to content
IGNORED

#FujiNet - a WIP SIO Network Adapter for the Atari 8-bit


tschak909

Recommended Posts

So if I understand this correctly. You have created a virtual 1027 printer that prints to a text file over the network, or is it a pdf?

 

Either instance would be better then a real 1027, since you no longer have to worry about the print head self-destructing before your eyes ;) .

 

Nice to see international character support ? .

 

Link to comment
Share on other sites

1 minute ago, mytek said:

So if I understand this correctly. You have created a virtual 1027 printer that prints to a text file over the network, or is it a pdf?

 

Either instance would be better then a real 1027, since you no longer have to worry about the print head self-destructing before your eyes ;) .

 

Nice to see international character support ? .

 

Virtual 1027 printer that prints to a PDF file which can be downloaded from the FujiNet

  • Like 2
Link to comment
Share on other sites

For anyone who has one of the following printers:

 

* Atari 820

* Atari 822

* Atari 825

* Atari 1025

 

Please run a program that outputs the complete character set, e.g.

 

10 FOR X=1 to 255:LPRINT CHR$(X);:NEXT X

and take close up pictures of the printed output. 

 

I will try to use these images to create postscript type 1 fonts for the virtual PDF output.

 

-Thom

  • Like 2
Link to comment
Share on other sites

I added a snippet to the modem850 code last night so that if you dial 5551234 the FujiNet will respond with "CONNECT <baud>". This can be used with the Bobterm phone book and macros for dialing a telnet BBS by putting 5551234 in the phone number field and "ATDTbbs.example.com:port" in a macro field. It's just tricking BobTerm into thinking the modem dial was successful so it will start running the macros. @ndary did some testing and its working good so far:20200108_102120_HDR-1.thumb.jpg.51918b2d0225c6db238a2038c31cd6b2.jpg

 

His next test will be running a BBS server.

  • Like 6
Link to comment
Share on other sites

Does anyone want to take the fnc program that's in C, and port it to assembler? It'll be a lot smaller, for sure, and we need assembler examples.

https://github.com/FujiNetWIFI/atariwifi/tree/master/esp32/tests/multilator-rev2/atari-sdx

 

(p.s. anything I can do from the firmware end to make it easier to handle in assembler, let me know.)

 

-Thom

  • Like 1
Link to comment
Share on other sites

 

5 minutes ago, Kyle22 said:

Cool. JX color is only a few added commands. That should be piece of cake work for a C coder.

 

I detect a slice of passive aggressiveness, which I do not appreciate. But, if you aren't, then, I'll try to be more succinct:

 

* I am writing multiple pieces of code across multiple fronts (watch the github commit logs). I have to pick our battles carefully.

 

@jeffpiep has volunteered, and is doing an excellent job writing the printer emulation. We've agreed on an initial set of features that will allow us to get this done an in a version 1.0 state.

 

* The initial plan is to render to PDF. This gives us a solid path to support printing to IPP and cloud printing (such as Apple CloudPrint) devices.

This device has the potential to be updated OTA, which we will exploit to offer new versions of features as they come available, so, if you can't help code these features, be patient, they will come. :)

 

-Thom

  • Like 1
Link to comment
Share on other sites

On 1/6/2020 at 5:20 AM, tschak909 said:

image.thumb.png.b172358cf4f79ac777cf93a8fdfba583.png

the next long stretch of time will be defined by adjusting these 6 timing values, which occur at different points along each and every #Atari SIO transaction. If you have insight, or can help get tests/esp32/multilator-rev2 working best, please help.
 

ESP32 code is corrected:

https://github.com/FujiNetWIFI/atariwifi/pull/46

 

Below some background for interested people:

 

My observations with a Logic Analyzer was that after several successful SIO request - responce cycles, ATARI makes a break for a few seconds, then the communication continues.

 

hiccups.thumb.PNG.c960f1a36a070709eb3c6be8aed3d37d.PNG

 

 

First I wanted to see how the "Data In" (from ESP32 to ATARI) signal looks like.

I looked with an oscilloscope at the signal directly at the ESP32:

 

fujiosci.thumb.PNG.fec3b6bd6ac8537a834e5181e756d6a3.PNG

 

and after a level shifter:

 

fuji_level_shifter_osci.thumb.PNG.093c57e9b8a2c4d557c6bae6aabbe2bb.PNG

 

Perhaps not perfect, but looks good enough.

 

Then I looked closer at the Logic Analyzer recordings:

 

issue1.thumb.PNG.5b1af305a9246ca7cc7bf0e2abab617c.PNG

 

and found the problem

 

issue2.thumb.PNG.21074af8ff42d51df28c4065756ed868.PNG

 

T5 timing (the left arrow) is not respected by ESP32.

The second required delay (the right arrow) is not mentioned explicitely in the SIO spec (although it is visible on the diagrams).

 

Below as a reference is a proper communication via SIO2PC with RespeQt:

 

reference.thumb.PNG.454d250fa13533aeed868b311e7439c8.PNG

 

Regarding timing info in SIO spec - some timings are only relevant for the ATARI SIO code implementation (and ESP32 does not need to care about them = does not need to wait).

Beside correction of the "sleep" handling in ESP32 code, the major problem was, that writing to ATARI was not followed by a flush() call.

For example "ACK" byte landed in TxD buffer and was send later together with the COMPLETE byte (without required delay between them).

 

Edited by TheMontezuma
  • Like 4
  • Thanks 1
Link to comment
Share on other sites

On 1/8/2020 at 5:03 AM, tschak909 said:

For anyone who has one of the following printers:

 

* Atari 820

* Atari 822

* Atari 825

* Atari 1025

 

Please run a program that outputs the complete character set, e.g.

 


10 FOR X=1 to 255:LPRINT CHR$(X);:NEXT X

and take close up pictures of the printed output. 

 

I will try to use these images to create postscript type 1 fonts for the virtual PDF output.

 

-Thom

Hi,

 

     is this thread relevant for font info:

 

 

    Also, is there anyway to detect the capabilities of the ESP device attached - I'm thinking specifically of whether there is an sd-card/file system on the board? I would rather (at the moment) make a board without an sd-card as I have plenty of local networked storage.

 

Link to comment
Share on other sites

4 minutes ago, E474 said:

    Also, is there anyway to detect the capabilities of the ESP device attached - I'm thinking specifically of whether there is an sd-card/file system on the board? I would rather (at the moment) make a board without an sd-card as I have plenty of local networked storage.

 

Yes, we can detect if SD card is present or not (as it is a removable device) so the code will have to check that and respond accordingly.

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...