Skip to content

Added hexload code#96

Merged
breakintoprogram merged 1 commit intobreakintoprogram:mainfrom
envenomator:hexload
Sep 28, 2023
Merged

Added hexload code#96
breakintoprogram merged 1 commit intobreakintoprogram:mainfrom
envenomator:hexload

Conversation

@envenomator
Copy link
Copy Markdown
Contributor

Hi Dean,

I've cleaned up my original patch for VDP/hexload to match the new VDP code for 1.04RC.
In order to do so, I have enabled the DEBUG serial interface by default for use in loading intel Hex files over it, though the DEBUG/SERIALKB variables are still optionally using it.
The actual hexload binary is a MOS loadable command, that I will update for this version in my repo a.s.a.p.

@breakintoprogram
Copy link
Copy Markdown
Owner

Thanks. I'll test this and get it into the RC.

@breakintoprogram breakintoprogram self-assigned this Sep 27, 2023
@breakintoprogram breakintoprogram added the enhancement New feature or request label Sep 27, 2023
@breakintoprogram
Copy link
Copy Markdown
Owner

Hi @envenomator I'm testing this at the moment. Could you provide a series of steps so that I can test it?

@envenomator
Copy link
Copy Markdown
Contributor Author

Hi; I'll send you an assembled 'hexload' binary to run in mos later today, currently in the office without access to my git and private workstation.
The steps are:

  1. Connect the Agon with USB and note which COM/serial port it gets on your PC
  2. Connect a serial terminal at 115.200Baud to that serial port, or edit my provided python script to reflect the serial port in it's configuration
  3. Start the 'hexload' tool on the MOS commandline and give it 'vdp' as option - 'hexload vdp'. This command now waits for an incoming Intel hex stream from the remote PC/USB serial port
  4. Paste any Agon-compatible hex file in the serial terminal, or start my python script with the hex file as argument
  5. After transfer, the hex file is placed in Agon memory, at the memory location(s) specified in the hex file. If no location is specified, location 0x40000 is assumed as default. This is reported by the tool

@breakintoprogram
Copy link
Copy Markdown
Owner

@envenomator cool thanks.

@envenomator
Copy link
Copy Markdown
Contributor Author

Forgot to mention; the same MOS tool, started with the 'uart1' option, connects to the GPIO serial pins and receives Intel Hex content from that. But then, you need to connect GPIO + gnd pins to an external serial converter. With the 'uart1' option, there is the option to also specify the local baudrate. With the 'vdp' option, the default is 115.200, as that is compiled into VDP and the maximum transfer I can reliably achieve over the ez80<->esp32 serial interface.

You can specify a filename as last option for both 'uart1/vdp' and the content from the incoming Hex will also be dumped to the local uSD card as a binary file

@envenomator
Copy link
Copy Markdown
Contributor Author

envenomator commented Sep 27, 2023

hexload.zip

Hi Dean,
Please place the content of this zip archive (two files) in your /mos/ directory in order to start 'hexload' as a MOS command.
On your PC, you can use either a serial terminal and paste hex content directly, or use the script at this location:
https://github.com/envenomator/agon-hexload/blob/master/send.py
Please edit the DEFAULT_SERIAL_PORT variable to reflect your USB/Serial port to Agon

@breakintoprogram breakintoprogram merged commit b833693 into breakintoprogram:main Sep 28, 2023
@breakintoprogram breakintoprogram removed their assignment Oct 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

Status: Released

Development

Successfully merging this pull request may close these issues.

2 participants