Menu

#370 chat64 support

v3.x
open
nobody
None
new Feature
2024-07-28
2024-05-23
No

This add support to emulate the chat64 cartridge. The chat64 cartridge uses a esp32 microcontroller to connect to a server via wifi on the internet. This patch replaces the custom protocol that uses the expansion port lines to normally communicate with the chip by a serial protocol (rs232). The firmware running on the esp32 can be compiled to support this serial protocol.

1 Attachments

Discussion

  • gpz

    gpz - 2024-05-23

    Just briefly skimmed over the patch so far, however:
    - please respect the codestyle defined in doc/coding-guidelines.txt (curly braces, no c++ comments)
    - please also include updated documentation (vice.texi)

    also, could you link to a ROM binary for our collection? :)

    How exactly does it work in VICE then? Will the Firmware run in a separate Process on the Host?

     
  • Yannick Heneault

    Hi,

    Thank you for your feedback. I am in the process of reviewing the coding guideline and updating my code to respect it and I will also update the doc.

    As you already found, the details for the cartridge are at : https://github.com/bvenneker/Chat64 . The latest binary for the eeprom on the cartridge is in the “Kick ASM/Bin file folder”. This is the main chat program that communicates with the esp32 on the cartridge. The esp32 relays the messages and the commands to the server. The protocol to communicate with the esp32 is custom and uses the io1/io2 line and nmi line for handshaking. You can refer to the schematic in the Kicad folder and to my comment in the chat64.c in this patch.

    When developing with vice, the idea is to keep the commodore 64 firmware as-is but to slightly change the esp32 firmware. On the esp32 firmware, instead of running the custom protocol via io1/io2, it communicates via a serial port. This allows us to use a standard “naked” esp32 without any electronics around except for a usb to ttl adapter to connect it to the host computer running vice. Thus, when vice is intercepting access to io1/io2, it can translate that to custom commands over the serial bus and the esp receive it and execute it as if they were coming from the expansion port. This allows us to test both firmware (c64 + esp32) at the same time.

    You can check my doc file for the esp32 to support this in the github repo
    https://raw.githubusercontent.com/bvenneker/Chat64/main/Doc/vice_support.txt
    For instance, it shows how to launch vice. Maybe it will clarify things.

     
  • gpz

    gpz - 2024-06-16

    Does that mean the real device with an esp would be required to use this? That doesn't sound like something that makes sense to include in VICE, to me anyways. I'd rather see something similar to the wic64 emulation, so it can be used by people that do not own the device.

     
  • Yannick Heneault

    Not a real cartridge is needed but at least a real esp32 to run the firmware. must be connected to vice So yes, their is a hardware dependency. I was looking for an open source project to emulate the esp32 firmware and device like wifi, thus to have a complete software solution, but I didn't find anything.

     

Log in to post a comment.