GithubHelp home page GithubHelp logo

kongduino / load_co Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 182.2 MB

A two-part project to help load binary files onto a Tandy TRS-80 M100 or T102.

License: MIT License

Xojo 99.73% Shell 0.27%
8085 basic serial trs-80model100 xojo

load_co's Introduction

LOAD CO

A two-part project to help load binary files onto a Tandy TRS-80 M100 or T102.

Being a new-ish Tandy user, I am still finding my way around, but as far as I can see there's no easy way to transfer non-ASCII files from a computer to a Tandy. ASCII is easy enough, but binary files... nope. So I came up first with a method that has apparently been used, in various forms, by many before me: produce a BASIC program that sideloads the binary. While it works well enough – and is still needed to bootstrap any further attempt at making things easier – it rapidly became obvious that large binary files wouldn't work: by the time the HEX data was loaded as a RAM file, there wasn't any RAM left. Oops. So I decided to hack together a purely Serial solution.

Two parts are required: a small BASIC program that receives data from the desktop computer and POKEs it in RAM, and a desktop application that lets you pick a .co file, produced with my 8085 assembler, calculates the memory needed, and sends it – SLOWLY! – to the T102. I need to work a little more on the BASIC program, SNDBIN.BA, but it works, and even has a nice progress bar! :-)

INSTALLATION

First transfer the BASIC program, SNDBIN.BA to the Tandy via the TERMINAL on the Tandy, and a serial application (I recommend CoolTerm, but your mileage and all that...). One caveat – at 19,200 baud, the transfer is often too fast for TERMINAL. In CoolTerm, I slow down the transmission of chars and lines a little:

CoolTerm

The desktop application was developed with Xojo. I haven't tested yet the Linux version, and I don't own or use a Windows machine, so I'll leave that to people who do... The source code is provided, as well as zip files of the 3 compiled apps (Mac Universal applications are too big so I made 2 separate versions). SHA256 digests are provided.

At startup the .co files present in the same folder as the application are loaded. You can drag-and-drop a folder, or file, to load .co files present in that folder. You can click on the path above the listbox to open that folder. When you select a file, it will calculate how much space is needed and will tell you how to reset HIMEM:

Reset HIMEM

Run this command on the Tandy. Then click send. You're not there yet – you have to pick a serial port, and make sure the Tandy is ready – SNDBIN.BA must be running before you do anything else.

Launch SNDBIN

And indeed after a while the binary will be fully loaded in RAM:

loading

And it does indeed work! Trust but verify.

loading

load_co's People

Contributors

kongduino avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.