Comments (6)
Ohio Scientific Challenger 1P is not officially supported because I myself have not tested it.
I am also trying to run the game on the Ohi Scientific Challenger but I could not figure out which emulator and how to use it. Could you please send me a link of the version of the emulator used?
from cross-lib.
I'm aware of the following emulators:
- The WinOSI Emulator. Use the newest version OsiEmu15.zip.
- The web-based C1Pjs emulator.
Note that output of cc65 "osic1p" target cannot be loaded directly, neither into an emulator nor on a real machine. The cc65 executable must first be converted with the "srec_cat" program from the SRecord 1.64 tool collection into a format that can be uploaded via the serial port (see http://cc65.github.io/doc/osi.html#toc3 and http://srecord.sourceforge.net/).
I used the following Makefile target to build a file that can be loaded into an emulator or into a real machine:
osic1p:
$(CC65_PATH)$(MYCC65) --start-addr 0x200 -Wl -D,__HIMEM__=0x8000 -O -t osic1p -DFULL_GAME $(SOURCE_PATH)/display_macros.c $(SOURCE_PATH)/enemy.c $(SOURCE_PATH)/invincible_enemy.c $(SOURCE_PATH)/level.c $(SOURCE_PATH)/character.c $(SOURCE_PATH)/text.c $(SOURCE_PATH)/missile.c $(SOURCE_PATH)/strategy.c $(SOURCE_PATH)/input_macros.c $(SOURCE_PATH)/main.c -o $(BUILD_PATH)/FULL_osic1p.lod
srec_cat $(BUILD_PATH)/FULL_osic1p.lod -binary -offset 0x200 -o $(BUILD_PATH)/FULL_osic1p.c1p -Ohio_Scientific -execution-start-address=0x200
To load the file into the WinOSI emulator, proceed as follows:
- Start the WinOSI executable.
- Under "Options" select "System Configuration...".
- Select "OSI C1P / Superboard II (600 BOard)" as machine type.
- On the "System ROMs" tab under "Specify ROM Type" select SYN600.
- Press "OK"
- Under "File" select "Attach Serial Input File...".
- Select the file "FULL_osic1p.c1p".
- In the emulator window you should see the "D/C/W/M" prompt. Press "M" to run the monitor. You then should see the "0000 00" prompt of the machine monitor.
- Press "l" (lowercase L). This will load the program and start it.
To load the file into the C1Pjs emulator, do the following:
- Open the 32kB OSI C1P machine in your browser.
- Click the "BREAK" button. The "D/C/W/M" prompt appears.
- Press "M" to enter the monitor. You should see the "0000 00" prompt of the machine monitor.
- Click the "Select file" (or language-dependent equivalent) button and select the file "FULL_osic1p.c1p".
- Click the "Mount" button. The program is loaded and starts.
I was the author of the "osic1p" cc65 target including the conio implementation. It is not extensively tested, therefore there may certainly be bugs in it. The c1pctest repository contains some test programs for the "osic1p" cc65 target. I have attached the loadable file misctest.c1p (renamed to "misctest.c1p.txt" for being able to attach it here) for the misctest.c source so you can test the above loading procedures with a working program.
from cross-lib.
Thanks a lot! I am going to test the game!
from cross-lib.
Thanks a LOT for your report!
The problem is the kbhit/cgetc implementation for the OSIC1P target:
it does not detect key-presses or wait for the input locking the computer.
Maybe the problem is kbhit consuming the key press it is only supposed to detect and not consume.
If I remove WAIT_PRESS, you get the game "sort of working" in a turned-based version, i.e., no action game because it waits for the next key press.
If you take the latest version from my GitHub repo, you can play the game.
My makefile can compile three versions (TINY, LIGHT and FULL) for the Ohio Scientific 1P to cover different ram configurations.
Could you please fix kbhit and cgetc and have them behave as in the other targets:
kbhit should just test whether a key is pressed WITHOUT consuming the key press (cgetc should still be able to read it)
cgetc should read the pressed key
from cross-lib.
I have opened an issue for you
cc65/cc65#511
from cross-lib.
@smuehlst I am closing this issue because the root cause is in the implementation of kbhit and maybe cgetc for the OSIC C!P target, which is not functionally corret.
We can follow this in cc65/cc65#511.
from cross-lib.
Related Issues (20)
- "LEVEL n" and "PRESS A KEY" color changes HOT 2
- LIGHT_ATARI_LYNX.lnx Not Working HOT 2
- Wish: how about some CP/M executables ? HOT 5
- Sam Coupé version: Z88DK significant update. HOT 5
- [new feature] Laser 500 cursor key input HOT 1
- Laser 500 use bright colors for sprites on black background HOT 1
- [samcoupe] Colors are totally wrong HOT 1
- add some drawing primitives like lines, rects and circles HOT 6
- xl - build issue under ubuntu 20.04.3 HOT 3
- make: *** No rule to make target 'examples/color/generated_assets/cmoc_udc_25_tiles_and_fonts.s', needed by 'coco'. Stop. HOT 11
- [new feature] chase coco has no color output HOT 3
- ld65: Warning: cross_lib/cfg//cc65/vic20-8k_GFX.cfg(17): Segment 'CODE' overflows memory area 'RAMEXP' by 3 bytes HOT 6
- MO5/TO7 makefile error "cmoc_udc_25_tiles" HOT 2
- MO5/TO7 f2k5.exe is not running on Cygwin HOT 6
- Cygwin Perl last version have no "perl.exe" HOT 1
- "./xl build chase zx81" errors HOT 11
- [new feature] Build tools automatically from C source for both Cygwin/Windows and Unix flavors (Linux, FreeBSD)
- Xsnake_coleco.rom Not Working HOT 9
- [z88dk-zsdcc] - testing v4.3.0 HOT 4
- No known emulator HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cross-lib.