tschak909 Posted December 5, 2022 Share Posted December 5, 2022 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 3 Quote Link to comment Share on other sites More sharing options...
rietveld Posted December 5, 2022 Share Posted December 5, 2022 What about using the ECS? Quote Link to comment Share on other sites More sharing options...
tschak909 Posted December 5, 2022 Author Share Posted December 5, 2022 seeing as it is an extension of the same bus, that can happen once a bus interface is working. Quote Link to comment Share on other sites More sharing options...
tschak909 Posted December 9, 2022 Author Share Posted December 9, 2022 1 Quote Link to comment Share on other sites More sharing options...
+Lathe26 Posted December 9, 2022 Share Posted December 9, 2022 I would love to join, but I am currently too far underwater across multiple Intellivision-related projects to add another one to the pile. Quote Link to comment Share on other sites More sharing options...
tschak909 Posted December 9, 2022 Author Share Posted December 9, 2022 @decle @intvnut where does the playcable set itself in the memory map? Am wondering if that would also work for FujiNet? -Thom Quote Link to comment Share on other sites More sharing options...
+DZ-Jay Posted December 9, 2022 Share Posted December 9, 2022 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. Quote Link to comment Share on other sites More sharing options...
tschak909 Posted December 9, 2022 Author Share Posted December 9, 2022 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. Quote Link to comment Share on other sites More sharing options...
+DZ-Jay Posted December 9, 2022 Share Posted December 9, 2022 (edited) 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 December 9, 2022 by DZ-Jay Quote Link to comment Share on other sites More sharing options...
+cmadruga Posted December 9, 2022 Share Posted December 9, 2022 I wonder if Fujinet could unlock asynchronous multiplayer games on the Intellivision. Quote Link to comment Share on other sites More sharing options...
tschak909 Posted December 9, 2022 Author Share Posted December 9, 2022 31 minutes ago, cmadruga said: I wonder if Fujinet could unlock asynchronous multiplayer games on the Intellivision. Yes. Against other platforms, even. -Thom Quote Link to comment Share on other sites More sharing options...
tschak909 Posted December 9, 2022 Author Share Posted December 9, 2022 One potential use of #FujiNet for game consoles, such as #Intellivision is as a facilitator for native development tools. @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. #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. Something to think about. #retrocoding #retrogaming -Thom 1 Quote Link to comment Share on other sites More sharing options...
JohnPCAE Posted December 9, 2022 Share Posted December 9, 2022 (edited) 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? Edited December 9, 2022 by JohnPCAE 1 Quote Link to comment Share on other sites More sharing options...
tschak909 Posted December 9, 2022 Author Share Posted December 9, 2022 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? There are a number of ways this could be done, the ESP32 has: * UARTs (with and without synchronous clock) * SPI * I2C * GPIO Let's pick something and do a bring-up! -Thom Quote Link to comment Share on other sites More sharing options...
+cmadruga Posted December 9, 2022 Share Posted December 9, 2022 1 hour ago, tschak909 said: Yes. Against other platforms, even. -Thom Is there a list of cross-platform turn-based games running on Fujinet? Quote Link to comment Share on other sites More sharing options...
tschak909 Posted December 9, 2022 Author Share Posted December 9, 2022 1 minute ago, cmadruga said: Is there a list of cross-platform turn-based games running on Fujinet? Not yet, we're still doing platform bring-ups. -Thom Quote Link to comment Share on other sites More sharing options...
JohnPCAE Posted December 9, 2022 Share Posted December 9, 2022 (edited) 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 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 December 9, 2022 by JohnPCAE Quote Link to comment Share on other sites More sharing options...
tschak909 Posted December 9, 2022 Author Share Posted December 9, 2022 (edited) 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 December 9, 2022 by tschak909 Quote Link to comment Share on other sites More sharing options...
tschak909 Posted December 9, 2022 Author Share Posted December 9, 2022 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 Quote Link to comment Share on other sites More sharing options...
JohnPCAE Posted December 9, 2022 Share Posted December 9, 2022 (edited) 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 Edited December 9, 2022 by JohnPCAE 1 Quote Link to comment Share on other sites More sharing options...
+DZ-Jay Posted December 10, 2022 Share Posted December 10, 2022 (edited) 2 hours ago, tschak909 said: One potential use of #FujiNet for game consoles, such as #Intellivision is as a facilitator for native development tools. @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 December 10, 2022 by DZ-Jay 1 Quote Link to comment Share on other sites More sharing options...
tschak909 Posted December 15, 2022 Author Share Posted December 15, 2022 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 1 Quote Link to comment Share on other sites More sharing options...
JohnPCAE Posted December 15, 2022 Share Posted December 15, 2022 (edited) 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 December 15, 2022 by JohnPCAE Quote Link to comment Share on other sites More sharing options...
JohnPCAE Posted December 15, 2022 Share Posted December 15, 2022 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. Quote Link to comment Share on other sites More sharing options...
+DZ-Jay Posted December 15, 2022 Share Posted December 15, 2022 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. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.