Coder Social home page Coder Social logo

Comments (6)

mengstr avatar mengstr commented on September 28, 2024

Thank you for the report.... I've always thought that xxd was part of some default binary utilities package, but apparently not. When I wrote the installation guide for this I booted up a virgin debian-8.7.1-i386-netinst and installed only the packages required to get all of the cpm8266 pieces in place. (except for "joe" that still after all this years is my non-gui text editor of choice).

It seems that the Deb8 netinst adds vim by default since that's where I got my xxd from as well. I'll have to add that as a prerequisite to the installation guide unless I can find an easy way to get rid of that dependency. I'm only using it for the deskew/deinterleave of the disk images.

When I started this project I also used the version 1.2 of the esptool, and back then I had the disk images put at even 0x40000 intervals in the flash. I later went over to the 2.0 esptool that compresses the data sent to the esp for flashing which gives a considerable reduction of the time it takes to upload & flash the entire chip.

When I started doing the wifi integration I squeezed the disk images together in the flash in order to not waste any space. The disks are 256256 (0x3e900) bytes so they end up at some oddish places in the flash and seems like the 1.2 esptool doesn't like that.

I'll change the code and Makefile to have the disks placed at locations more agreeable to the 1.2.

from cpm8266.

drawkula avatar drawkula commented on September 28, 2024

vim ... after installing Debian I always exchange vim with the more traditional nvi because I don't want to get used to functions I will not find in "standardvi".

esptool.py ... if version 1.2 still is the default one when building the SDK, staying compatible with it probably is a good idea.

Deskewing ... python is in ESP-OPEN-SDK's prerequisites, so everyone building cpm8266 has it installed. Deskewing with a python script probably even will be easier than in sh. The other idea is: Would defining a diskdef without skew in /etc/cpmtools/diskdefs be a good idea? Changes in that file will need root rights but everyone building cpm8266 did need to install lots of prerequisites with root rights too... so that should not really be a problem.

Thanks for the fixes!

sd$ܟ|�l�<�l�c|���r�#�c��gn�dog���c8�lrd;lx�n��dcg�|l��b��og�l��l`�nd`gs�ۓo$`p�g�sĜ���co�|c��og�l �'l`o;Ǜ�'ld`8�o�;�����b'�|�d�8��og�$`�gd�l`orǛ�'�bd`{��o�c�H�
cpm8266 - Z80 Emulator and CP/M 2.2 system version 0.3


62K CP/M v2.2 [cpm8266 v0.3 - SmallRoomLabs]

a>dir
A: ASM      COM : DDT      COM : DDTZ     COM : DUMP     COM
A: ED       COM : LOAD     COM : PIP      COM : STAT     COM
A: SUBMIT   COM : XSUB     COM
a>█

Yayayayyy... \o/

from cpm8266.

mengstr avatar mengstr commented on September 28, 2024

I actually have added a no-skew option in my diskdefs, but requiring people to hack into files owned by root didn't seems like a good idea.

I first made a deskewer by using dd to move the file sector-by-sector into a new file, but that was incredibly slow. Converting the file to hex and manipulating it a bash array and then convert it back is like 10x the speed.

The idea of using python is a very good one! - unfortunately I haven't written a single line of python during my 40 years of coding, so it would be major undertaking for me. Can easily do it in golang, node or C though....

If you're a pythonista and could easily whip up a deskewer in it I'd love to add it as a contribution to this project. :-)

from cpm8266.

drawkula avatar drawkula commented on September 28, 2024

After thinking a while longer...

The deskewing script is hard coded for the current disk format. That would need changes on every change of the diskdef used in cpm8266.

Maybe adding cpmtools to the repo, compiling and using it in place instead of installing it will be more universal? Then the diskdefs file will not be in /etc and this solution will fit all future disk format changes.

from cpm8266.

mengstr avatar mengstr commented on September 28, 2024

That is a possible solution as well, but it would introduce a dependency on gcc which is doesn't have today.
EDIT: Bzzzzt. Wrong! The open-sdk from pfalcon already requires gcc, so we should be good for gcc at least.

from cpm8266.

drawkula avatar drawkula commented on September 28, 2024

On Debian9, xxd is in an own package named xxd.

from cpm8266.

Related Issues (20)

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.