]> git.sur5r.net Git - cc65/commitdiff
Fixed some mistakes (mostly in the documentation).
authorGreg King <gregdk@users.sf.net>
Fri, 2 Oct 2015 17:28:17 +0000 (13:28 -0400)
committerOliver Schmidt <ol.sc@web.de>
Thu, 30 Aug 2018 09:48:46 +0000 (11:48 +0200)
asminc/pce.inc
doc/index.sgml
doc/pce.sgml
libsrc/pce/ctype.s
libsrc/pce/ticktock.s

index d2538e8f9bb6bf4eb803fbbc8deb0abed4204058..d603aae086311e428af8c11fef1e77709f4cf79c 100644 (file)
@@ -1,15 +1,15 @@
 ;
-; PCE definitions. By Groepaz/Hitmem.
+; PCE definitions. By Groepaz/Hitmen.
 ;
 
-; FIXME: screen dimensions my change according to selected video mode
+; FIXME: Screen dimensions can change according to the selected video mode.
 screenrows      = (224/8)
 charsperline    = 61
 
 CH_HLINE        = 1
 CH_VLINE        = 2
 
-; HuC6270 - Video Display Controller (VDC)
+; HuC6270 -- Video Display Controller (VDC)
 
 VDC_MAWR        = 0             ; Memory Address Write Register
 VDC_MARR        = 1             ; Memory Address Read Register
@@ -24,8 +24,8 @@ VDC_BYR         = 8             ; Background Y-Scroll Register
 VDC_MWR         = 9             ; Memory-access Width Register
 VDC_HSR         = 10            ; Horizontal Sync Register
 VDC_HDR         = 11            ; Horizontal Display Register
-VDC_VPR         = 12            ; Vertical synchronous register
-VDC_VDW         = 13            ; Vertical display register
+VDC_VSR         = 12            ; Vertical sync Register
+VDC_VDR         = 13            ; Vertical Display register
 VDC_VCR         = 14            ; Vertical display END position register
 VDC_DCR         = 15            ; (DMA) Control Register
 VDC_SOUR        = 16            ; (DMA) Source Register
@@ -42,49 +42,49 @@ VDC_CTRL        := $0200
 VDC_DATA_LO     := $0202
 VDC_DATA_HI     := $0203
 
-; HuC6260 - Video Color Encoder (vce)
+; HuC6260 -- Video Color Encoder (VCE)
 
 ; The DAC has a palette of 512 colours.
 ; The bitmap of the palette data is this: 0000000gggrrrbbb.
 ; You can read and write the DAC registers.
 
-VCE             = $0400         ; base
+VCE             := $0400        ; base
 
-VCE_CTRL        = $0400         ; write $00 to reset
-VCE_ADDR_LO     = $0402         ; LSB of byte offset into palette
-VCE_ADDR_HI     = $0403         ; MSB of byte offset into palette
-VCE_DATA_LO     = $0404         ; LSB of 16-bit palette data
-VCE_DATA_HI     = $0405         ; MSB of 16-bit palette data
+VCE_CTRL        := $0400        ; write $00 to reset
+VCE_ADDR_LO     := $0402        ; LSB of byte offset into palette
+VCE_ADDR_HI     := $0403        ; MSB of byte offset into palette
+VCE_DATA_LO     := $0404        ; LSB of 16-bit palette data
+VCE_DATA_HI     := $0405        ; MSB of 16-bit palette data
 
 ; Programmable Sound Generator (PSG)
 
-PSG             = $0800         ; base
+PSG             := $0800        ; base
 
-PSG_CHAN_SELECT = $0800
-PSG_GLOBAL_PAN  = $0801
-PSG_FREQ_LO     = $0802
-PSG_FREQ_HI     = $0803
-PSG_CHAN_CTRL   = $0804
-PSG_CHAN_PAN    = $0805
-PSG_CHAN_DATA   = $0806
-PSG_NOISE       = $0807
-PSG_LFO_FREQ    = $0808
-PSG_LFO_CTRL    = $0809
+PSG_CHAN_SELECT := $0800
+PSG_GLOBAL_PAN  := $0801
+PSG_FREQ_LO     := $0802
+PSG_FREQ_HI     := $0803
+PSG_CHAN_CTRL   := $0804
+PSG_CHAN_PAN    := $0805
+PSG_CHAN_DATA   := $0806
+PSG_NOISE       := $0807
+PSG_LFO_FREQ    := $0808
+PSG_LFO_CTRL    := $0809
 
 ; Timer
 
-TIMER           = $0C00         ; base
+TIMER           := $0C00        ; base
 
-TIMER_COUNT     = $0C00
-TIMER_CTRL      = $0C01
+TIMER_COUNT     := $0C00
+TIMER_CTRL      := $0C01
 
-JOY_CTRL        = $1000
+JOY_CTRL        := $1000
 
-IRQ_MASK        = $1402
-IRQ_STATUS      = $1403
+IRQ_MASK        := $1402
+IRQ_STATUS      := $1403
 
-CDR_MEM_DISABLE = $1803
-CDR_MEM_ENABLE  = $1807
+CDR_MEM_DISABLE := $1803
+CDR_MEM_ENABLE  := $1807
 
 ; Write VDC register
 .macro VREG arg1,arg2
index a7aa060377bc7627b053aa9f0849c652d43052ea..e1ee064a84b018d615e263ce48d1fb9a9d6dbc8e 100644 (file)
   Topics specific to the Ohio Scientific machines.
 
   <tag><htmlurl url="pce.html" name="pce.html"></tag>
-  Topics specific to NEC PC-Engine (TurboGrafx) Console.
+  Topics specific to the NEC PC-Engine (TurboGrafx-16) Console.
 
   <tag><htmlurl url="pet.html" name="pet.html"></tag>
   Topics specific to the Commodore PET machines.
index 4eeb1c084f9d152ac59c504caf81f0523a3cea7e..ee9c81a49a160ac4c4e2d4eeb2e50409a6c48ab4 100644 (file)
@@ -63,27 +63,37 @@ actually see when they execute the code in that cartridge.
 
 <sect>Memory layout<p>
 
-cc65-generated programs with the default setup run with the I/O area and a
-CHR bank enabled, which gives a usable memory range of &dollar;8000 - &dollar;FFF3.
-All boot ROM entry points may be called directly without additional code.
+cc65-generated programs with the default setup run with the memory map that was
+used by many PC-Engine games:
+<itemize>
+<item>The first 8K bytes is the I/O area.
+<item>The second 8K bytes is RAM, which holds
+<itemize>
+<item>the redirected zero-page and the redirected hardware stack page,
+<item>and 7680 bytes of general memory (&dollar;2200 - &dollar;3FFF).
+</itemize>
+<item>The last 8K bytes in the usual 64K-byte range is the ROM that holds the
+program.
+</itemize>
 
 Special locations:
 
 <descrip>
   <tag/Text screen and Font/
-  The text screen is located at VRAM &dollar;0000;
-  the Font is located at VRAM &dollar;2000.
+  The text screen is located at Video RAM (VRAM) address &dollar;0000;
+  the Font is located at VRAM address &dollar;2000.
 
   <tag/Stack/
-  The C runtime stack is located in system RAM at &dollar;3FFF; and, grows downwards.
+  The C run-time stack is located in system RAM at &dollar;3FFF;
+  and, grows downwards.
 
   <tag/Data and BSS/
   The Data (initialized variables) and BSS (uninitialized variables) sections are
   placed one after the other into system RAM at &dollar;2200.
 
   <tag/Heap/
-  The C heap is located after the end of the BSS section; and, grows towards the C
-  runtime stack.
+  The C heap is located after the end of the BSS section;
+  and, extends up to the C run-time stack.
 
   <tag/Code/
   In an 8K ROM cartridge, code and read-only data are located between
@@ -94,7 +104,7 @@ Special locations:
 
   In a 32K cartridge, code and read-only data are located between &dollar;8000
   and &dollar;FFF5.
-</descrip><p>
+</descrip>
 
 
 
@@ -113,21 +123,22 @@ Programs containing PCE-specific code may use the <tt/pce.h/ header file.
 
 <sect1>Hardware access<p>
 
-The following pseudo variables, declared in the <tt/pce.inc/ include file, do
+The following constants, defined in the <tt/pce.inc/ include file, do
 allow access to hardware that is located in the address space.
 
 <descrip>
 
   <tag><tt/PSG/</tag>
-  The <tt/PSG/ defines allow access to the PSG chip (Programmable Sound Generator).
+  The <tt/PSG/ defines allow access to the PSG (Programmable Sound Generator).
 
   <tag><tt/VCE/</tag>
   The <tt/VCE/ defines allow access to the VCE chip (Video Color Encoder).
 
   <tag><tt/VDC/</tag>
-  The <tt/VDC/ defines allow access to the VDC chip (Video Display Controller).
+  The <tt/VDC/ defines allow access to the VDC chip (Video Display Controller).<newline>
+  32K of 16-bit words of Video RAM can be accessed only through this chip.
 
-</descrip><p>
+</descrip>
 
 
 
@@ -156,7 +167,7 @@ No extended memory drivers are currently available for the PCE.
 
   Note that the Japanese 6-button pad currently is not supported.
 
-</descrip><p>
+</descrip>
 
 
 <sect1>Mouse drivers<p>
@@ -172,17 +183,13 @@ No serial drivers are currently available for the PCE.
 
 <sect>Limitations<p>
 
-<itemize>
-<item>interruptor support in crt0 (and cfg) is missing
-</itemize>
-
 
 <sect1>Disk I/O<p>
 
 The existing library for the PCE doesn't implement C file
 I/O. There are no hacks for the <tt/read()/ and <tt/write()/ routines.
 
-To be more concrete, this limitation means that you cannot use any of the
+To be more concrete, that limitation means that you cannot use any of the
 following functions (and a few others):
 
 <itemize>
index 16528bae9561860276a552a0feffac82e5554668..aaedeb1a97d2e3f3962dd0a0c74646cdbce0d362 100644 (file)
@@ -14,7 +14,7 @@
 ; of functions. Doing it by a table means some overhead in space, but it
 ; has major advantages:
 ;
-;   * It is fast. If it were'nt for the slow parameter passing of cc65, one
+;   * It is fast. If it weren't for the slow parameter passing of cc65, one
 ;     could even define macros for the isxxx functions (this is usually
 ;     done on other platforms).
 ;
index 4e4d44d9ab71668edd1e0f4640c53fb785bab2bb..433e00e8dd0a5b8664eba5b0d51dec0cbbe69497 100644 (file)
@@ -4,7 +4,7 @@
         .include        "extzp.inc"
 
 ticktock:
-        bbr5    vdc_flags,@s1   ; not vertical-blank interrupt
+        bbr5    vdc_flags,@s1   ; skip if not vertical-blank interrupt
 
         ; Increment the system tick counter.
         inc     tickcount