Complete 2005/sykes review

The bugs.md file has been updated with INABIAF section. The README.md
refers to this file.

The README.md has had a slight improvement in that references to lines
in the author's remarks have been turned into links.
This commit is contained in:
Cody Boone Ferguson committed 2023-11-21 14:25:00 -08:00
1 parent 794903b627
commit 81dda4e3a1
2 files changed
+48 -4

No files matched your search

+16 -4
View File
@@ -5,6 +5,17 @@ make
```
### Bugs and (Mis)features:
The current status of this entry is:
```
STATUS: INABIAF - please **DO NOT** fix
```
For more detailed information see [2005 sykes in bugs.md](/bugs.md#2005-sykes).
## To use:
```sh
@@ -240,13 +251,14 @@ mode. Otherwise some PET specific features are skipped during normal
[emulation](https://en.wikipedia.org/wiki/Emulator).
The main processing all happens in a heroic expression containing no
less than 64 ternary operators (after `cpp`) starting on line 56. This
decodes the
less than 64 ternary operators (after `cpp`) starting on [line
56](https://github.com/ioccc-src/temp-test-ioccc/blob/master/2005/sykes/sykes.c#L56).
This decodes the
[6502](https://en.wikipedia.org/wiki/MOS_Technology_6502#Technical_description)
instructions according to a table and executes them.
The addressing mode is decoded in a similar expression starting on line
53.
The addressing mode is decoded in a similar expression starting on [line
53](https://github.com/ioccc-src/temp-test-ioccc/blob/master/2005/sykes/sykes.c#L53).
### Bugs
+32
View File
@@ -2224,6 +2224,38 @@ bug but it's worth pointing out as it won't work on as many websites as it used
to including the [IOCCC website](https://www.ioccc.org) itself.
## 2005 sykes
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2005/sykes/sykes.c](2005/sykes/sykes.c)
### Information: [2005/sykes/README.md](2005/sykes/README.md)
The author stated the below points of interest.
The machine emulated is an older 40 column one so 80 column programs will not
show up correctly.
There is no emulation of [PET](https://en.wikipedia.org/wiki/Commodore_PET)
graphics characters.
The parameter controls the speed of the 60Hz "jiffy clock", and not the
processor speed. This means many games may run too fast to be usable -
it really depends on the speed of your machine.
Although the PET [emulator](https://en.wikipedia.org/wiki/Emulator) can do `LOAD`
and `SAVE`, it cannot `VERIFY` or `OPEN` and `CLOSE` files.
The [PET](https://en.wikipedia.org/wiki/Commodore_PET) hardware
[emulation](https://en.wikipedia.org/wiki/Emulator) is not at all complete -
features such as the hardware timers are completely missing. Some programs will
not run correctly.
The
[6502](https://en.wikipedia.org/wiki/MOS_Technology_6502#Technical_description)
[emulation](https://en.wikipedia.org/wiki/Emulator) does not include the seldom
used decimal mode, or any of the "undocumented" instructions.
# 2006