An open API service indexing awesome lists of open source software.

https://github.com/rhinodevel/cbmcal

A calendar application written in Commodore BASIC.
https://github.com/rhinodevel/cbmcal

basic calendar cbm commodore pet

Last synced: 7 months ago
JSON representation

A calendar application written in Commodore BASIC.

Awesome Lists containing this project

README

          

# CBMCAL - A Commodore calendar application
A calendar tool for [Commodore](https://en.wikipedia.org/wiki/Commodore_International) 8-bit computers from the 1980s, especially for the [PETs/CBMs](https://en.wikipedia.org/wiki/Commodore_PET), but also for the [C64](https://en.wikipedia.org/wiki/Commodore_64), [C128](https://en.wikipedia.org/wiki/Commodore_128) and maybe others ([C16](https://en.wikipedia.org/wiki/Commodore_16)?).

![CBMCAL's month view](./Screenshots/01-cbmcal-pet-month.png)

![CBMCAL's day view](./Screenshots/02-cbmcal-pet-day.png)

![CBMCAL's help screen](./Screenshots/03-cbmcal-pet-help.png)

## Features
- **Month view**, the user can select the month, an asterisk shows, if entries exist for a day.
- **Day view**, the user selects the day and adds/modifies/removes entries.
- Create **whole-day** calendar **entries** and entries with a **time set**.
- Integrated **help screen**.
- **Remembers** calendar entries **on disk**.
- Optionally remembers the last selected month on disk.
- In-code **disk device** and **disk drive** selection (e.g. for multiple connected and/or [dual disk](https://en.wikipedia.org/wiki/Commodore_4040) drives), can also be stored on disk.

## Goals
- Make something that is **not** a game and makes (almost) sense to use, even on a **PET/CBM**.
- Support as much Commodore machines as possible (one reason for using [BASIC](https://en.wikipedia.org/wiki/Commodore_BASIC)).
- Keep it **as simple as possible**, self-explanatory and usable.

## Tested with
- CBM/PET.
- C64.
- C128 (in C128 mode).

## To-dos
- Prettify UI (at least use inverted font for some stuff).
- Improve performance (e.g. month view load).
- Reduce code size (in practice pretty easy by letting the cross-compiler remove all comments and spaces).
- Add support for repeating events.
- Make sure to workaround all disk drive bugs on all systems (e.g. [1541](https://en.wikipedia.org/wiki/Commodore_1541)).
- Test on C16, etc.
- [VIC20](https://en.wikipedia.org/wiki/VIC-20) screen width support?

## Thanks go to ...
- ... [Georg Rottensteiner](https://www.georg-rottensteiner.de/en/index.html) for [C64Studio](https://github.com/GeorgRottensteiner/C64Studio).
- ... all the developers of [VICE](https://vice-emu.sourceforge.io/).
- ... [STYLE](https://style64.org/) for [DirMaster](https://style64.org/dirmaster).