davidgiven / cpm65

CP/M for the 6502
BSD 2-Clause "Simplified" License
264 stars 24 forks source link

Modified the dir command to print the number of filenames which fits on each line #117

Closed venomix666 closed 6 months ago

venomix666 commented 6 months ago

The screen driver is used by CCP to find how many filenames can be printed per line, so that the screen real estate is used more efficiently on systems with more than 40 columns. If no screen driver is found it defaults to 2 files per line as before.

In order to support loading drivers with a different number of columns (e.g. tty80drv on the Atari 800) the screen driver is checked every time the dir command is run.

See the screenshots below for the results with 40 columns, 80 columns, 64 columns and with no screen driver:

Atari 800 40 columns: atari800_40col

Atari 800 80 columns: atari800_80col

BBC Micro 40 columns: bbcmicro_40col

BBC Micro 80 columns: bbcmicro_80col

My homebrew computer with 64 columns: daimx_64col

C64 with no screen driver: C64_no_screendriver

venomix666 commented 6 months ago

Not sure why the automated tests fail, from the log it seems to be an issue with MAME and ALSA and not related to this commit.

davidgiven commented 6 months ago

I like that! Also, I concur with the mame tests --- I think it's trying to connect to a non-existent sound device; something must have changed on the CI machines. I'll fix it.