Jump to content
IGNORED

Any1 want to hack on #FujiNet for Intellivision?


tschak909

Recommended Posts

Hey guys, 

 

You may know me from other projects. I am the primary firmware engineer and spokesperson for the FujiNet project, which aims to bring a comprehensive network adapter to every single available retrocomputing and retrogaming system, each with similar capabilities and programming models.

 

For the video game systems, this would essentially boil down to:

 

* Being able to load any game from either local storage or the network

* Being able to interact with Internet services and/or other game players, even on different platforms due to common protocols of all shapes and sizes.

 

To this end, we've made a very comprehensive code-base that is extremely modular, and split across bus, device, and media lines, all interoperating with each other.

 

The fundamental issue that is being worked on at the moment, is to create a generic 8-bit bus interface that could easily be adapted to either computers with bus interfaces (ZX Spectrum, IBM ISA, etc.) and video game console cartridge slots. To this end, there are currently two approaches being investigated:

* The developer for the NEC PC-8801 is investigating an SPI to 74HCT595 interface.

* The ZX Spectrum developers are trying to do it with a minimum of TTL logic.

 

And I'm reasonably sure that some people here may have another approach that might work, and should be investigated.

 

Would you like to help? Come by the Discord. https://discord.gg/7MfFTvD

 

-Thom

  • Like 3
Link to comment
Share on other sites

3 minutes ago, tschak909 said:

@decle @intvnut where does the playcable set itself in the memory map? Am wondering if that would also work for FujiNet? 

 

-Thom


I do not believe that the PlayCable offers an interface for external access, so it's memory usage is whatever is available to other programs.

 

It does reserve $4800 to $4FFF for the monitor program in ROM.  This range is available to any program right now with the caveat that the Master Component EXEC, as part of its bootstrapping sequence, will scan that address for usable opcodes and jump directly there if detected.

 

     dZ.

Link to comment
Share on other sites

 

3 minutes ago, DZ-Jay said:


I do not believe that the PlayCable offers an interface for external access, so it's memory usage is whatever is available to other programs.

 

It does reserve $4800 to $4FFF for the monitor program in ROM.  This range is available to any program right now with the caveat that the Master Component EXEC, as part of its bootstrapping sequence, will scan that address for usable opcodes and jump directly there if detected.

 

     dZ.

Yup, understood. That's not what I meant: 

 

The FujiNet can be thought of as a Playcable replacement on steroids, so am digging into how best to expose the device and any boot rom to Intellivision programs.

Link to comment
Share on other sites

11 minutes ago, tschak909 said:

Yup, understood. That's not what I meant: 

 

The FujiNet can be thought of as a Playcable replacement on steroids, so am digging into how best to expose the device and any boot rom to Intellivision programs.


Ah, I see.  The trouble is that, other than the ranges reserved for actual components in common usage (e.g., ECS, Intellivoice, STIC, PSG, etc.), the memory map is treated by home-brewers as an open play-field for any use.

 

For instance, nobody really codes around the PlayCable or Keyboard Component reserved ranges because, as far as we all know, they do not exist commonly in the wild, and so there is no point to it; therefore it's address space is fair game for general purpose use.

 

Thus, my recommendation would be to select an address range which is off the normal beaten path, as it were, and adequate for your purposes; and plant the FujiNet flag to claim it.  Newer games could the take advantage of it by respecting the address space as reserved.

 

If you intend for it to be a background service that should start when the console is booted, then either $4800 or $7000 would work, since the EXEC will yield control of bootstrapping when those locations are not empty.  Obviously, $4800 would be superior, since it is for the PlayCable, which is dead; while and $7000 is for the ECS, which is not.

 

   dZ.

Edited by DZ-Jay
Link to comment
Share on other sites

One potential use of #FujiNet for game consoles, such as #Intellivision is as a facilitator for native development tools. 

 

1470480498_Screenshotfrom2022-12-0916-29-19.thumb.png.833022306164295319241411268b4362.png

 

@decle made a great video showing how a couple of development tools were used to do native game development. These tools did not have any way to ship the finished artifacts to a development system. #FujiNet changes this.

 

545925122_Screenshotfrom2022-12-0916-29-54.thumb.png.84e024d0e95ded796903e9abac09fd29.png

 

#FujiNet has a wide range of network protocol adapters: TCP, UDP, HTTP/S, FTP, TNFS, SMB, and more. Each of them abstract the protocol to a nice clean set of open/close/read/write channels which can be dealt with as needed. 

And so you could work on backtabs and MOBs on the system, and immediately "save" the result to the development system, with FujiNet transferring the data transparently, to any of the above protocol adapters, without needing to change code behavior.

 

1723590272_Screenshotfrom2022-12-0916-31-05.thumb.png.ae25e2087f958c408e2bafb0ef2087d5.png

 

Something to think about. #retrocoding #retrogaming


-Thom

  • Like 1
Link to comment
Share on other sites

3 minutes ago, JohnPCAE said:

I shoehorned a bidirectional parallel port into the ACC to give the Inty some rudimentary connectivity to external devices. Could a FujiNet adapter be adapted to talk to a db-25 parallel port?

IMG_2149.png

There are a number of ways this could be done, the ESP32 has:

 

* UARTs (with and without synchronous clock)

* SPI

* I2C

* GPIO

 

ESP32 DevKitC v4 high resolution pinout and specs – Renzo ...

Let's pick something and do a bring-up! :)

-Thom

 

Link to comment
Share on other sites

10 minutes ago, tschak909 said:

There are a number of ways this could be done, the ESP32 has:

 

* UARTs (with and without synchronous clock)

* SPI

* I2C

* GPIO

 

ESP32 DevKitC v4 high resolution pinout and specs – Renzo ...

Let's pick something and do a bring-up! :)

-Thom

 

Well, the DB25 port conforms to a standard bidirectional parallel port with the exception of pin 17 (pin 17 is output-only rather than bidirectional). So, any external peripheral that can talk to a parallel port can talk to the Inty if an ACC is plugged in.

 

The port is a standard port, i.e. it doesn't implement ECP or EPP capability.

Edited by JohnPCAE
Link to comment
Share on other sites

22 minutes ago, JohnPCAE said:

Well, the DB25 port conforms to a standard bidirectional parallel port with the exception of pin 17 (pin 17 is output-only rather than bidirectional). So, any external peripheral that can talk to a parallel port can talk to the Inty if an ACC is plugged in.

 

The port is a standard port, i.e. it doesn't implement ECP or EPP capability.

I will push back gently and say that:

 

* There hasn't been a standard 8-bit parallel port on a PC for almost two decades.

* The USB to parallel adaptors are not bi-directional, and optimize their parallel ports for printer output.

 

perhaps we could simplify the connection? A good goal would be to have the FujiNet plug directly into the expansion bus.

 

-Thom

Edited by tschak909
Link to comment
Share on other sites

30 minutes ago, JohnPCAE said:

Well, the DB25 port conforms to a standard bidirectional parallel port with the exception of pin 17 (pin 17 is output-only rather than bidirectional). So, any external peripheral that can talk to a parallel port can talk to the Inty if an ACC is plugged in.

 

The port is a standard port, i.e. it doesn't implement ECP or EPP capability.

Is there a schematic for this device?

-Thom

Link to comment
Share on other sites

Most of the ACC is beyond the scope of FujiNet. Its primary purpose is to provide upgraded text and graphics to the Intellivision. The parallel port was an addition that I was able to add to it. Nevertheless, here is an Eagle schematic of the unit. As for the parallel port portion of the schematic, I'll attach an image:

 

 

IntyVidOverlayFullPico.sch

ACC_Parallel_port_schematic.png

Edited by JohnPCAE
  • Thanks 1
Link to comment
Share on other sites

2 hours ago, tschak909 said:

One potential use of #FujiNet for game consoles, such as #Intellivision is as a facilitator for native development tools. 

 

1470480498_Screenshotfrom2022-12-0916-29-19.thumb.png.833022306164295319241411268b4362.png

 

@decle made a great video showing how a couple of development tools were used to do native game development. These tools did not have any way to ship the finished artifacts to a development system. #FujiNet changes this.


 

That is great, because one of the project I am working on is a music tracker on the Intellivision, so chip-tune musicians can not only compose music, but also use the Intellivision as an instrument, in the same way that, say 8-Bit Weapon does work other retro consoles and devices on their live performances.

 

One of my main problems was how to get the instrument and song data in and out of the console so that it can be edited or shared.


It seems that FujiNet would be ideal for this. 👍

 

    dZ.

Edited by DZ-Jay
  • Thanks 1
Link to comment
Share on other sites

What would using SSH via the #FujiNet on the #Intellivision look like? Like this. Some of the crazy things possible with our codebase, but we need hardware engineering help to work out the bus interface. Please consider joining our discord, if you can help: https://discord.gg/7MfFTvD #retrogaming #retrocomputing 

2017496148_Screenshotfrom2022-12-1419-57-18.thumb.png.21cf3051ea996cc7d088382cd17f85d3.png

  • Like 1
Link to comment
Share on other sites

I'm still trying to understand. Does FujiNet have existing hardware that the Inty could talk to, or is it just a software stack? I've noted that you mentioned that you have cross-platform software, but we don't have a C compiler for the CP-1600 CPU as far as I know. We have IntyBasic which is a cross-compiler and we have CP-1600 assembly.

Edited by JohnPCAE
Link to comment
Share on other sites

I did some searching and I ran across this helpful video. It appears that it's a hardware/software system that emulates disks, printers, and networking on various devices. It started out for Atari 8-bit and is being expanded to Apple ][, Coleco ADAM, and Commodore 64.

 

It seems to me that a lot would have to be stood up on the Intellivision side. As a games console, it has no concept of disk devices or external loading. There's no existing protocol whatsoever. I suppose we could piggyback on an existing protocol from one of the above systems, maybe? At any rate you'd need either an ECS for keyboard input or something else like the USB card I'm working on.

 

 

Link to comment
Share on other sites

22 minutes ago, JohnPCAE said:

I did some searching and I ran across this helpful video. It appears that it's a hardware/software system that emulates disks, printers, and networking on various devices. It started out for Atari 8-bit and is being expanded to Apple ][, Coleco ADAM, and Commodore 64.

 

It seems to me that a lot would have to be stood up on the Intellivision side. As a games console, it has no concept of disk devices or external loading. There's no existing protocol whatsoever. I suppose we could piggyback on an existing protocol from one of the above systems, maybe? At any rate you'd need either an ECS for keyboard input or something else like the USB card I'm working on.

 

 


 

Here you go:

https://fujinet.online

https://github.com/FujiNetWIFI/fujinet-platformio/wiki?_ga=2.94321109.991264461.1671098649-1811852463.1671098649
 

The video you posted is specifically the Atari implementation.  The core project seems to be a device that provides Wi-Fi networking to old and resource-constrained systems.  Everything else for the Atari (which is a microcomputer), I guess, is built upon that.

 

    dZ.

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