Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
nostromo:top [2025/03/15 12:06] – [NOSTROMO] robertnostromo:top [2025/03/19 19:32] (current) – [Walking Through The Code] robert
Line 2: Line 2:
 {{:nostromo:1156224-ax_2.jpg?direct&200|}} {{:nostromo:nostromo1.gif?nolink|}} {{:nostromo:1156224-ax_2.jpg?direct&200|}} {{:nostromo:nostromo1.gif?nolink|}}
  
-AX-2: Uchuu Yusousen Nostromo (Space Freighter Nostromo) \\ +**AX-2: Uchuu Yusousen Nostromo** (//Space Freighter Nostromo//) 
-Designed and Programmed for the Commodore Pet 2001 by Akira Takiguchi in 1981 \\ + 
-Ported to the NEC-PC6001 by Masakuni Mitsuhashi aka Hiromi Ohba aka Mitsu in 1982 \\ +Designed and Programmed for the Commodore Pet 2001 by **Akira Takiguchi** in 1981 
-Cover Artwork by Masashi Iwasaki \\ + 
-Published by ASCII Entertainment in Japan \\  +===== NEC PC-6001 Port ===== 
-Ported to Radio Shack TRS-80 Micro Color Computer MC-10 by Jim Gerrie in 2015 and 2018 \\ + 
-Ports to Tandy Radio Shack Color Computer and Dragon Data Dragon 32/64 underway \\+Ported to the NEC-PC6001 by **Masakuni Mitsuhashi** aka **Hiromi Ohba** aka **Mitsu** in 1982 
 + 
 +Cover Artwork by **Masashi Iwasaki** 
 + 
 +Published by **ASCII Entertainment** in Japan
  
   * [[NEC PC-6001 Port]]    * [[NEC PC-6001 Port]] 
Line 14: Line 18:
     * N60 BASIC Listing: [[NOSTROMO.BAS]]     * N60 BASIC Listing: [[NOSTROMO.BAS]]
     * Z80 Machine Code: [[NOSTROMO.Z80]]     * Z80 Machine Code: [[NOSTROMO.Z80]]
-  * [[MC-10 Ports]] +      * [[http://clrhome.org/table/|Z80 instruction set ClrHome]] 
-    * 2015-11 NOSTROMO: [[https://jimgerrie.blogspot.com/2015/11/]] \\ +    * [[https://readonlymemory.vg/ascii-corporation/|ASCII Corporation - Read-Only Memory]] 
-    * 2018-05 NOSTRO: [[https://jimgerrie.blogspot.com/2018/05/uchuu-yusousen-nostromo.html]]  +    * [[http://boxequalsart.com/timeline-page.html|Timeline Page| BOX=ART]] \\
-  * [[CoCo Dragon Port]] +
-  * [[Updates]] +
-  * +
  
 +===== MC-10 Ports =====
 +Ported to Radio Shack **TRS-80 Micro Color Computer MC-10** by **Jim Gerrie** in 2015 and 2018 
  
 +  * [[MC-10 Ports]]
 +    * 2015-11 NOSTROMO: [[https://jimgerrie.blogspot.com/2015/11/]]
 +      * [[https://github.com/jggames/trs80mc10/tree/master/quicktype/Arcade/Nostromo|MC-10 NOSTROMO.BAS]]
 +    * 2018-05 NOSTRO: [[https://jimgerrie.blogspot.com/2018/05/uchuu-yusousen-nostromo.html]]
 +      * [[https://github.com/jggames/trs80mc10/tree/master/quicktype/Arcade/Nostro|MC-10 NOSTRO.BAS]]
 + 
 +===== CoCo / Dragon Port =====
  
-==== CODE ====+Port underway for the **TRS-80 Color Computer** "CoCo" and **Dragon Data Dragon 32/64**
  
-{{:nostromo:nostromo-repo-20230827.png|Repo stats 20230827}}+  * [[CoCo Dragon Port]] 
 +    * [[Updates]] 
 +    * [[Source Code]] 
 +    * [[Screenshots]]
  
-All "code-" file prefixes have been changed to "ax2-" for starters.+===== Walking Through The Code =====
  
-Just the top-level source directory content needed to build the game are shown below.+As I have worked through the NEC PC6001 port I have found many nooks and crannies to explore and decisions about how to my port to the CoCo along the way.
  
-Additional repo directories of various tests, mockups, and such created along the way are not shown, but are represented in the repo statistics above.+The NEC PC-6001 loads the NOSTRO cassette data into the BASIC program memory.
  
-The code below gives you an example of where I got to by the mid-2023:+The cassette file continues past the last line of tokenized BASIC code, loading Z80 binary machine code and more data into the memory after the lines of BASIC.
  
-^ ^ CODE MODULE ^ DESCRIPTION ^ +I've decided to build this table to organize my findings and help complete what's left to port.
-| ☐ | [[https://exileinparadise.com/AX2/*.BAS|*.BAS]] | Helper BASIC program for DOS command to run NOSTROMO | +
-| ☐ | [[https://exileinparadise.com/AX2/ACVC/ax2-acvc-v00.asm|ax2-acvc-v00.asm]] | Video driver for CoCo3 ACVC / GIME | +
-| ☐ | [[https://exileinparadise.com/AX2/CGROM60/ax2-cgrom60-v04.asm|ax2-cgrom60-v04.asm]] | Modified NEC PC-6001 font data | +
-| ☐ | [[https://exileinparadise.com/AX2/COCOPSG/ax2-cocopsg-v00.asm|ax2-cocopsg-v00.asm]] | Audio driver for CoCoPSG by Ed "Zippster" Snider | +
-| ☐ | [[https://exileinparadise.com/AX2/COCOVGA/ax2-vdgvga-v00.asm|ax2-vdgvga-v00.asm]] | Video driver for the CoCo 1/2/Dragon MC6847 Video Display Generator (VDG) in Semigraphics 4 (SG4) mode with custom NEC PC6001-like font using CoCoVGA by Brendan Donahe +
-| ☐ | [[https://exileinparadise.com/AX2/CONFIG/ax2-config-v00.asm|ax2-config-v00.asm]] | Configuration menu and functions | +
-| ☐ | [[https://exileinparadise.com/AX2/DCSG/ax2-dcsg-v00.asm|ax2-dcsg-v00.asm]] | Audio Driver for Texas Instruments Digital Complex Sound Generator (DCSG) SN76489N in the Game Master Cartridge | +
-| ☐ | [[https://exileinparadise.com/AX2/GMC/ax2-gmc-v00.asm|ax2-gmc-v00.asm]] | Audio driver for Game Master Cartridge by John "Tuxdriver" Linville | +
-| ☐ | [[https://exileinparadise.com/AX2/IRQ/ax2-timer-v00.asm|ax2-timer-v00.asm]] | Utility timer countdown code | +
-| ☐ | [[https://exileinparadise.com/AX2/JOY/ax2-joy-v00.asm|ax2-joy-v00.asm]] | Controller driver for CoCo analog joystick ports | +
-| ☐ | [[https://exileinparadise.com/AX2/KEYSCN/ax2-keyscn-v01.asm|ax2-keyscn-v01.asm]] | Controller driver for CoCo and Dragon 53/57-key keyboard [[:tandy_color_computer:keyscn]] [[:tandy_color_computer:keyscn2]] | +
-| ☐ | [[https://exileinparadise.com/AX2/MIDI/ax2-midi-v00.asm|ax2-midi-v00.asm]] | Audio driver for CoCo MIDI / MIDI Maestro by Jim "go4retro" Brain | +
-| ☐ | [[https://exileinparadise.com/AX2/MMMPI/ax2-mmmpi-v00.asm|ax2-mmmpi-v00.asm]] | Audio driver and utility code for MEGA-mini Multi-Pak Interface (MMMPI) by Ed "Zippster" Snider | +
-| ☐ | [[https://exileinparadise.com/AX2/MPI/ax2-mpi-v00.asm|ax2-mpi-v00.asm]] | Utility driver for Multi-Pak Interface (MPI) | +
-| ☐ | [[https://exileinparadise.com/AX2/ONEBIT/ax2-onebit-v00.asm|ax3-onebit-v00.asm]] | Audio driver for CoCo 1-bit DAC sound "beeper"+
-| ☐ | [[https://exileinparadise.com/AX2/OPL3/ax2-opl3-v00.asm|ax2-opl3-v00.asm]] | Audio driver for Yamaha OPL3 (YMF-262) FM-synthesis in the MEGA-mini Multi-Pack Interface | +
-| ☐ | [[https://exileinparadise.com/AX2/ORCH90/ax2-orch90-v00.asm|ax2-orch90-v00.asm]] | Audio driver for the Orchestra90/CC stereo 8-bit DAC cartridge | +
-| ☐ | [[https://exileinparadise.com/AX2/PIA/ax2-pia0-v00.asm|ax2-pia0-v00.asm]] | I/O driver for the Peripheral Interface Adapter (PIA) used in Keyboard, Multiplexer, and Interrupts | +
-| ☐ | [[https://exileinparadise.com/AX2/PIA/ax2-pia1-v00.asm|ax2-pia1-v00.asm]] | I/O driver for the Peripheral Interface Adapter (PIA) used for the VDG, DAC Audio, Joystick ADC, RS232, Cassette, and Interrupts | +
-| ☐ | [[https://exileinparadise.com/AX2/PSG/ax2-psg-v00.asm|ax2-psg-v00.asm]] | Audio driver for the General Instruments AY-3-8910 Programmable Sound Generator used in many CoCo audio devices | +
-| ☐ | [[https://exileinparadise.com/AX2/RND/ax2-rnd-v00.asm|ax2-rnd-v00.asm]] | Utility pseudo-random number generator (PRNG) for placing resources in main game level | +
-| ☐ | [[https://exileinparadise.com/AX2/SAM/ax2-sam-v00.asm|ax2-sam-v00.asm]] | I/O driver for the Synchronous Address Multiplexer (MC6883) | +
-| ☐ | [[https://exileinparadise.com/AX2/SIXBIT/todo-dac-v00.asm|todo-dac-v00.asm]] | Audio driver for CoCo 6-bit DAC sound | +
-| ☐ | [[https://exileinparadise.com/AX2/SSC/ax2-ssc-v00.asm|ax2-ssc-v00.asm]] | Audio driver for the Speech / Sound Cartridge with Narrator SP0256-AL2 and AY-3-891x PSG | +
-| ☐ | [[https://exileinparadise.com/AX2/SSG/ax2-ssg-v00.asm|ax2-ssg-v00.asm]] | Audio driver for the Yamaha YM2149 Software-Controlled Sound Generator (SSG) used in the CoCo PSG | +
-| ☐ | [[https://exileinparadise.com/AX2/SYMPHONY12/ax2-symphony12-v00.asm|ax2-symphony12-v00.asm]] | Audio driver for the Speech Systems Symphony-12 / Philharmonic-12 by Jim "go4retro" Brain | +
-| ☐ | [[https://exileinparadise.com/AX2/VDG/ax2-vdgrg6-v01.asm|ax2-vdgrg6-v01.asm]] | Video driver for the CoCo 1/2/Dragon MC6847 Video Display Generator (VDG) in Resolution Graphics 6 (RG6) mode (aka PMODE4) | +
-| ☐ | [[https://exileinparadise.com/AX2/VDG/ax2-vdgsg4-v00.asm|ax2-vdgsg4-v00.asm]] | Video driver for the CoCo 1/2/Dragon MC6847 Video Display Generator (VDG) in Semigraphics 4 (SG4) mode | +
-| ☐ | [[https://exileinparadise.com/AX2/VDG/ax2-vdgt1-v00.asm|ax2-vdgt1-v00.asm]] | Video driver for the CoCo 1/2/Dragon MC6847 Video Display Generator (VDG) in Semigraphics 4 (SG4) mode with VDG Lowercase font support | +
-| ☐ | [[https://exileinparadise.com/AX2/build.sh|build.sh]] | Utility script that assembles the code and packages it as a CoCo DSK file | +
-| ☐ | [[https://exileinparadise.com/AX2/debug.sh|debug.sh]] | Utility script to test the work-in-progress code using MAME debugger | +
-| ☐ | [[https://exileinparadise.com/AX2/nostromo.asm|nostromo.asm]] | The AX-2 Nostromo N60 BASIC/Z80 machine code port-in-progress to 6809 assembly | +
-| ☐ | [[https://exileinparadise.com/AX2/run.sh|run.sh]] | Utility script to run the game in MAME from a menu to test 5 different video modes | +
-| ☐ | [[https://exileinparadise.com/AX2/template3.asm|template3.asm]] | Source code template v3 |+
  
-===== SCREENSHOTS ===== +^ BASIC Lines  ^ Z80 Addresses  ^ Purpose  ^ 
-Click for full size ...+| 1 - 9 |             | [[Copyright]] REMarks | 
 +| 10    |             | [[One Time Setup]] | 
 +|       | E164 - E17D | [[Memory Setup]] | 
 +|       | E240 - E255 | [[Replace Line 10]] | 
 +| 80-90 |             | [[Finish Setup]] | 
 +| :!: more ... | | | 
 +| 5000  |             | [[Find Next Screen]] |
  
-^ MACHINE / MODE ^ COPYRIGHT SCREEN ^ MAIN LEVEL ^ 
-| CoCo 1/2 VDG RG6 | {{:nostromo:2022-04-08-vdgrg6-copyright.png?direct&400|}} | {{:nostromo:2022-04-08-vdgrg6-main.png?direct&400|}} | 
-| CoCo 3 ACVC 256x192x16 | {{:nostromo:2022-04-08-acvc-copyright.png?direct&400|}} | {{:nostromo:2022-04-08-acvc-main.png?direct&400|}} | 
-~ 2022-04-08 via MAME 
- 
-===== SEE ALSO ===== 
-[[http://boxequalsart.com/timeline-page.html|Timeline Page| BOX=ART]] \\ 
-[[http://clrhome.org/table/|Z80 instruction set - ClrHome]] \\ 
-[[https://readonlymemory.vg/ascii-corporation/|ASCII Corporation - Read-Only Memory]] \\ 
- 
-===== RTS ===== 
 Return to [[:Top]] Return to [[:Top]]
-