mirror of
https://github.com/michaelcmartin/Ophis.git
synced 2025-01-14 01:29:46 +00:00
packaging for 2.0 release
This commit is contained in:
parent
55d7344cc7
commit
9ef2b91e9e
2
README
2
README
@ -10,7 +10,7 @@ It is provided under the MIT license, reproduced below:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
Ophis, Copyright (C) 2002-2010 Michael Martin and contributors
|
Ophis, Copyright (C) 2002-2012 Michael Martin and contributors
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
26
examples/hello_nes/README.txt
Normal file
26
examples/hello_nes/README.txt
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
This is a "Hello World" program for the Nintendo Entertainment System,
|
||||||
|
which uses the sprite system to display and color-cycle the letters.
|
||||||
|
|
||||||
|
Since NES cartridges tended to have sophisticated circuitry built into them
|
||||||
|
that controlled memory addressing, several standards have arisen to represent
|
||||||
|
this information. The program code for "Hello, NES" is split into two halves;
|
||||||
|
a hello_prg.oph containing the executable code (PRG-ROM), and a hello_chr.oph
|
||||||
|
containing the graphics tile information (CHR-ROM). These can then be packaged
|
||||||
|
one of two ways - the popular iNES format (hello_ines.oph) or the
|
||||||
|
mostly-defunct UNIF format (hello_unif.oph). Simply running
|
||||||
|
|
||||||
|
ophis hello_ines.oph
|
||||||
|
|
||||||
|
or
|
||||||
|
|
||||||
|
ophis hello_unif.oph
|
||||||
|
|
||||||
|
should produce hello.nes and hello.unf, respectively. Although UNIF is not a
|
||||||
|
common format, its "chunk" system is not rare. The hello_unif.oph file
|
||||||
|
demonstrates some techniques for automatically computing chunk sizes in Ophis.
|
||||||
|
|
||||||
|
Be warned that as these techniques use the program counter, attempting to use
|
||||||
|
labels to compute chunk size of assembled code is likely to backfire
|
||||||
|
spectacularly - this technique should really only be used for inline strings
|
||||||
|
and data.
|
||||||
|
|
7
examples/hi_stella/README.txt
Normal file
7
examples/hi_stella/README.txt
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
"Hi Stella" is a simple "Hello World" program for the "Stella" chip,
|
||||||
|
more famously known as the Atari 2600. Simply running
|
||||||
|
|
||||||
|
ophis hi_stella.oph
|
||||||
|
|
||||||
|
should produce hi_stella.bin, a 256-byte file that prints "HI" on
|
||||||
|
the screen with some rolling color bars.
|
27
platform/README.txt
Normal file
27
platform/README.txt
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
This directory holds files likely to be of use to you in developing your own
|
||||||
|
programs. The contents of each file is summarized below.
|
||||||
|
|
||||||
|
|
||||||
|
c64_0.oph: A Commodore 64 equivalent to a modern compiler's "crt0.s" - it
|
||||||
|
contains a .PRG file header, a short BASIC program that launches
|
||||||
|
the machine language program, and a prologue and epilogue that
|
||||||
|
prepare memory for your use and then clean it up again when you
|
||||||
|
are done. Memory locations $02 through $7F on the zero page are
|
||||||
|
available for your use, and the program lives at the beginning
|
||||||
|
a contiguous block of RAM from $0800 through $CF81. The BASIC
|
||||||
|
ROM is swapped out of memory (leaving $A000-$BFFF as RAM) for
|
||||||
|
the duration of your program.
|
||||||
|
|
||||||
|
c64kernal.oph: A collection of standard aliases for the KERNAL routines on the
|
||||||
|
Commodore 64. Names for these routines have been chosen to match
|
||||||
|
the Commodore 64 Programmer's Reference Guide. Additional useful
|
||||||
|
constants are defined for the character codes for color changes
|
||||||
|
and case-changing.
|
||||||
|
|
||||||
|
nes.oph: A somewhat skeletal collection of aliases for the PPU registers
|
||||||
|
on the Nintendo Entertainment System. These names were chosen
|
||||||
|
to match the constant names given on the NESdev Wiki.
|
||||||
|
|
||||||
|
stella.oph: A collection of aliases for the registers of the Atari 2600.
|
||||||
|
These names were taken from the "Stella Programmer's Guide" and
|
||||||
|
are in wide use amongst developers and code analysts alike.
|
@ -2,9 +2,9 @@
|
|||||||
|
|
||||||
; HM NIS Edit Wizard helper defines
|
; HM NIS Edit Wizard helper defines
|
||||||
!define PRODUCT_NAME "Ophis"
|
!define PRODUCT_NAME "Ophis"
|
||||||
!define PRODUCT_VERSION "2.0 preview"
|
!define PRODUCT_VERSION "2.0"
|
||||||
!define PRODUCT_PUBLISHER "Michael Martin"
|
!define PRODUCT_PUBLISHER "Michael Martin"
|
||||||
!define PRODUCT_WEB_SITE "https://github.com/michaelcmartin/Ophis"
|
!define PRODUCT_WEB_SITE "https://michaelcmartin.github.com/Ophis"
|
||||||
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\ophis.exe"
|
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\ophis.exe"
|
||||||
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
|
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
|
||||||
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
|
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
|
||||||
@ -72,22 +72,34 @@ Section "Ophis" SEC01
|
|||||||
File "..\dist\w9xpopen.exe"
|
File "..\dist\w9xpopen.exe"
|
||||||
SetOutPath "$INSTDIR\examples"
|
SetOutPath "$INSTDIR\examples"
|
||||||
SetOverwrite try
|
SetOverwrite try
|
||||||
File "..\..\doc\a2blink.map"
|
File "..\..\examples\c64-1.oph"
|
||||||
File "..\..\doc\a2inverse.map"
|
File "..\..\examples\petscii.map"
|
||||||
File "..\..\doc\a2normal.map"
|
File "..\..\examples\hello1.oph"
|
||||||
File "..\..\doc\c64-1.oph"
|
File "..\..\examples\hello2.oph"
|
||||||
File "..\..\doc\c64-2.oph"
|
File "..\..\examples\hello3.oph"
|
||||||
File "..\..\doc\kernal.oph"
|
File "..\..\examples\hello4a.oph"
|
||||||
File "..\..\doc\petscii.map"
|
File "..\..\examples\hello4b.oph"
|
||||||
File "..\..\doc\tutor1.oph"
|
File "..\..\examples\hello4c.oph"
|
||||||
File "..\..\doc\tutor2.oph"
|
File "..\..\examples\hello5.oph"
|
||||||
File "..\..\doc\tutor3.oph"
|
File "..\..\examples\hello6.oph"
|
||||||
File "..\..\doc\tutor4a.oph"
|
File "..\..\examples\hello7.oph"
|
||||||
File "..\..\doc\tutor4b.oph"
|
File "..\..\examples\structuredemo.oph"
|
||||||
File "..\..\doc\tutor4c.oph"
|
File "..\..\examples\fibonacci.oph"
|
||||||
File "..\..\doc\tutor5.oph"
|
SetOutPath "$INSTDIR\examples\hi_stella"
|
||||||
File "..\..\doc\tutor6.oph"
|
File "..\..\examples\hi_stella\hi_stella.oph"
|
||||||
File "..\..\doc\tutor7.oph"
|
File "..\..\examples\hi_stella\README.txt"
|
||||||
|
SetOutPath "$INSTDIR\examples\hello_nes"
|
||||||
|
File "..\..\examples\hello_nes\hello_prg.oph"
|
||||||
|
File "..\..\examples\hello_nes\hello_chr.oph"
|
||||||
|
File "..\..\examples\hello_nes\hello_ines.oph"
|
||||||
|
File "..\..\examples\hello_nes\hello_unif.oph"
|
||||||
|
File "..\..\examples\hello_nes\README.txt"
|
||||||
|
SetOutPath "$INSTDIR\platform"
|
||||||
|
File "..\..\platform\c64_0.oph"
|
||||||
|
File "..\..\platform\c64kernal.oph"
|
||||||
|
File "..\..\platform\nes.oph"
|
||||||
|
File "..\..\platform\stella.oph"
|
||||||
|
File "..\..\platform\README.txt"
|
||||||
SectionEnd
|
SectionEnd
|
||||||
|
|
||||||
Section -AdditionalIcons
|
Section -AdditionalIcons
|
||||||
@ -124,32 +136,44 @@ FunctionEnd
|
|||||||
Section Uninstall
|
Section Uninstall
|
||||||
!insertmacro MUI_STARTMENU_GETFOLDER "Application" $ICONS_GROUP
|
!insertmacro MUI_STARTMENU_GETFOLDER "Application" $ICONS_GROUP
|
||||||
Delete "$INSTDIR\uninst.exe"
|
Delete "$INSTDIR\uninst.exe"
|
||||||
Delete "$INSTDIR\examples\tutor7.oph"
|
Delete "$INSTDIR\examples\structuredemo.oph"
|
||||||
Delete "$INSTDIR\examples\tutor6.oph"
|
Delete "$INSTDIR\examples\fibonacci.oph"
|
||||||
Delete "$INSTDIR\examples\tutor5.oph"
|
Delete "$INSTDIR\examples\hello7.oph"
|
||||||
Delete "$INSTDIR\examples\tutor4c.oph"
|
Delete "$INSTDIR\examples\hello6.oph"
|
||||||
Delete "$INSTDIR\examples\tutor4b.oph"
|
Delete "$INSTDIR\examples\hello5.oph"
|
||||||
Delete "$INSTDIR\examples\tutor4a.oph"
|
Delete "$INSTDIR\examples\hello4c.oph"
|
||||||
Delete "$INSTDIR\examples\tutor3.oph"
|
Delete "$INSTDIR\examples\hello4b.oph"
|
||||||
Delete "$INSTDIR\examples\tutor2.oph"
|
Delete "$INSTDIR\examples\hello4a.oph"
|
||||||
Delete "$INSTDIR\examples\tutor1.oph"
|
Delete "$INSTDIR\examples\hello3.oph"
|
||||||
|
Delete "$INSTDIR\examples\hello2.oph"
|
||||||
|
Delete "$INSTDIR\examples\hello1.oph"
|
||||||
Delete "$INSTDIR\examples\petscii.map"
|
Delete "$INSTDIR\examples\petscii.map"
|
||||||
Delete "$INSTDIR\examples\kernal.oph"
|
|
||||||
Delete "$INSTDIR\examples\c64-2.oph"
|
|
||||||
Delete "$INSTDIR\examples\c64-1.oph"
|
Delete "$INSTDIR\examples\c64-1.oph"
|
||||||
Delete "$INSTDIR\examples\a2normal.map"
|
|
||||||
Delete "$INSTDIR\examples\a2inverse.map"
|
|
||||||
Delete "$INSTDIR\examples\a2blink.map"
|
|
||||||
Delete "$INSTDIR\w9xpopen.exe"
|
Delete "$INSTDIR\w9xpopen.exe"
|
||||||
Delete "$INSTDIR\ophis.exe"
|
Delete "$INSTDIR\ophis.exe"
|
||||||
Delete "$INSTDIR\ophismanual.pdf"
|
Delete "$INSTDIR\ophismanual.pdf"
|
||||||
Delete "$INSTDIR\README.txt"
|
Delete "$INSTDIR\README.txt"
|
||||||
|
Delete "$INSTDIR\examples\hi_stella\hi_stella.oph"
|
||||||
|
Delete "$INSTDIR\examples\hi_stella\README.txt"
|
||||||
|
Delete "$INSTDIR\examples\hello_nes\hello_prg.oph"
|
||||||
|
Delete "$INSTDIR\examples\hello_nes\hello_chr.oph"
|
||||||
|
Delete "$INSTDIR\examples\hello_nes\hello_ines.oph"
|
||||||
|
Delete "$INSTDIR\examples\hello_nes\hello_unif.oph"
|
||||||
|
Delete "$INSTDIR\examples\hello_nes\README.txt"
|
||||||
|
Delete "$INSTDIR\platform\c64_0.oph"
|
||||||
|
Delete "$INSTDIR\platform\c64kernal.oph"
|
||||||
|
Delete "$INSTDIR\platform\nes.oph"
|
||||||
|
Delete "$INSTDIR\platform\stella.oph"
|
||||||
|
Delete "$INSTDIR\platform\README.txt"
|
||||||
|
|
||||||
Delete "$SMPROGRAMS\$ICONS_GROUP\Uninstall.lnk"
|
Delete "$SMPROGRAMS\$ICONS_GROUP\Uninstall.lnk"
|
||||||
Delete "$STARTMENU\Manual.lnk"
|
Delete "$STARTMENU\Manual.lnk"
|
||||||
|
|
||||||
RMDir "$SMPROGRAMS\$ICONS_GROUP"
|
RMDir "$SMPROGRAMS\$ICONS_GROUP"
|
||||||
|
RMDir "$INSTDIR\examples\hi_stella"
|
||||||
|
RMDir "$INSTDIR\examples\hello_nes"
|
||||||
RMDir "$INSTDIR\examples"
|
RMDir "$INSTDIR\examples"
|
||||||
|
RMDir "$INSTDIR\platform"
|
||||||
RMDir "$INSTDIR"
|
RMDir "$INSTDIR"
|
||||||
|
|
||||||
DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
|
DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user