added list of software to docs

This commit is contained in:
Irmen de Jong 2023-09-13 21:51:48 +02:00
parent 03e0d4b2e8
commit a1d0e5bb65
5 changed files with 40 additions and 13 deletions

View File

@ -1538,11 +1538,6 @@ internal class AssignmentAsmGen(private val program: PtProgram,
}
private fun attemptAssignToByteCompareZero(expr: PtBinaryExpression, assign: AsmAssignment): Boolean {
// TODO optimized code for (word1 & word2) == 0 :
// if(expr.left.type in WordDatatypes && (expr.operator=="==" || expr.operator=="!=") && expr.left is PtBinaryExpression) {
// println("TODO optimize logical word expr ${expr.position}")
// }
when (expr.operator) {
"==" -> {
when(val dt = expr.left.type) {

View File

@ -201,6 +201,7 @@ Look in the `syntax-files <https://github.com/irmen/prog8/tree/master/syntax-fil
targetsystem.rst
technical.rst
portingguide.rst
software.rst
todo.rst

34
docs/source/software.rst Normal file
View File

@ -0,0 +1,34 @@
=========================
Software written in Prog8
=========================
Apart from the many `examples <https://github.com/irmen/prog8/tree/master/examples>`_ available in the source code repository,
there are also larger pieces of software written using Prog8. Here's a list.
`Assembler <https://github.com/irmen/cx16assem>`_
File-based assembler for the Commander X16.
`Chess <https://github.com/irmen/cx16chess>`_
Chess game for the Commander X16, with 2-player or computer opponent game modes.
`Image viewer <https://github.com/irmen/cx16imageviewer>`_
Multi-format image viewer for the Commander X16.
Can display C64 Koala, BMP, PCX and Amiga IFF images, including color cycling.
`Petaxian <https://github.com/cyborgar/Petaxian>`_
Galaga type shoot em up game using only petscii graphics. Runs on C64 and Commander X16.
`Rock Runner <https://github.com/irmen/cx16rockrunner>`_
Faithful Boulderdash clone, a well known arcade puzzle game from the 80's.
where you must collect all diamonds in a level while avoiding the hazards to reach the exit.
Can load the thousands of available fan made level files.
This game is for the Commander X16.
`Shell <https://github.com/irmen/cx16shell>`_
Unix like command shell for the Commander X16.
`Streaming Music Demo <https://github.com/irmen/cx16musicdemo>`_
Demoscene like "music demos" for the Commander X16.
They display graphics, animated song lyrics, and play a high quality sampled song streamed from disk.

View File

@ -1,10 +1,6 @@
TODO
====
- possibly optimize assembly output for (word1 & word2 ==0)
see attemptAssignToByteCompareZero() for assignment.
see testZeroOrJumpElsewhere() for if condition.
- [on branch: shortcircuit] investigate McCarthy evaluation again? this may also reduce code size perhaps for things like if a>4 or a<2 ....
- IR: reduce the number of branch instructions such as BEQ, BEQR, etc (gradually), replace with CMP(I) + status branch instruction
- IR: reduce amount of CMP/CMPI after instructions that set the status bits correctly (LOADs? INC? etc), but only after setting the status bits is verified!

View File

@ -25,6 +25,7 @@ main {
cbm.SETTIM(0,0,0)
while cbm.GETIN()==0 {
; sys.waitvsync()
doplasma()
frames ++
}
@ -64,15 +65,15 @@ main {
for y in 0 to txt.DEFAULT_HEIGHT-1 {
ybuf[y] = math.sin8u(c1a) + math.sin8u(c1b)
c1a += 4
c1b += 9
c1a += 2
c1b += 5
}
c1A += 3
c1B -= 5
for x in 0 to txt.DEFAULT_WIDTH-1 {
xbuf[x] = math.sin8u(c2a) + math.sin8u(c2b)
c2a += 3
c2b += 7
c2a += 4
c2b += 1
}
c2A += 2
c2B -= 3