Jump to content

sanny

Members
  • Posts

    713
  • Joined

  • Last visited

Everything posted by sanny

  1. Great. And I even own it as cartridge! Thanks, chris
  2. Hi, does anybody know of games which support more than 4 paddle players on the 400 and 800? regards, chris
  3. I've applied your PR. And only then noticed that your text was in the wrong (machine independent) section. I've moved it to atari.sgml. I think if you change src/cross_lib/display/init_graphics/cc65/atari/disable_setcursor.s of @Fabrizio Caruso's CROSS_CHASE (git@github.com:Fabrizio-Caruso/CROSS-CHASE.git) to use _mul20 instead of _mul40, it could "just work". I don't have time currently to really test it out. regards, chris
  4. Add all games with Ghoti symbols...
  5. Hmm. The Dragoncart is supported by https://github.com/cc65/ip65. What do you mean with "full-featured driver"?
  6. You could try this for 20-char lines (untested) ; ; Christian Groessler, November-2002 ; ; cursor handling, internal function .include "atari.inc" .import cursor,_mul20 .export setcursor .proc setcursor ldy #0 ;lda OLDCHR ;sta (OLDADR),y lda ROWCRS jsr _mul20 clc adc SAVMSC ; add start of screen memory sta OLDADR txa adc SAVMSC+1 sta OLDADR+1 lda COLCRS adc OLDADR sta OLDADR bcc nc inc OLDADR+1 nc: lda (OLDADR),y sta OLDCHR ldx cursor ; current cursor setting as requested by the user beq off ldx #0 beq cont off: inx cont: stx CRSINH ; update system variable beq turnon ;and #$7f ; clear high bit / inverse flag finish: sta (OLDADR),y ; update on-screen display rts turnon: ;ora #$80 ; set high bit / inverse flag jmp finish .endproc save it as mysetcursor.s or similar and add it to the cc65 command line
  7. what is not working? Please give an example program for your problem.
  8. The cc65 documentation is not meant to teach people how to program for a specific system. It expects people to know their system, and emphasizes on how cc65 is implemented for that specific system. The documentation for the _graphics() call is lacking. This is a function which mimics the BASIC function with the same name, so I thought there is not much extra documentation needed apart from the BASIC documentation. And, sure, in BASIC after you execute "GRAPHICS 18", if you "PRINT" something instead of "PRINT#6", the screen reverts to 40x24 (GR.0). I'm happy to accept documentation updates: Go to https://github.com/cc65/cc65, download the source, and create a "pull-request". The documentation is in the "doc" subdirectory.
  9. You are using 'printf' which is using E: Use 'cprintf' instead to write to the GR.18 screen.
  10. None. You could add 80-column mode thru extensions, for example VBXE or XEP-80. None of them are supported by the cc65 runtime library.
  11. (Where) Can I buy the CV cartridge? Is it still available? Did the MSX port ever arrive?
  12. Probably you need two 2600<-->GTIA carts, one PAL, one NTSC.
  13. Sigh. Could you give the complete source code, and not just the error messages? Like @ilmenit did? My guess is that you've put "too much" into RAM_LOW. For example LOWDATA is quite large.
  14. You could also look at the atari-xex.cfg linker script. It automatically creates load chunks, and the internals of load-chunk-generation/EXE-file-format are not needed. Look at targettest/atari in CC65 for an multi-chunk example.
  15. @TGB1718, what do you want to achieve? A program which a "hole" in the $4000-$7FFF area, correct? @ilmenit showed you a working example. You could use that as a starting point to add your code. Of course, @ilmenit's program doesn't work with the cc65 supplied CFGs. But you could also use the example in the cc65 docs as starting point. You haven't said what exactly is not working.
  16. The atari-atr.cfg is not by me, it's from @ilmenit's project. What are "all the others" cfg files? > "...but it still fails" How does it fail?
  17. @ilmenit, thank you for your thorough explanation. Your build script could be simplified by using cl65. I don't have a Windows at hand, here are the commands I issued manually: $ cl65 -c -Cl -T -Osir --cpu 6502 -t atari --code-name "LOWCODE" --data-name "LOWDATA" --rodata-name "LOWRODATA" --bss-name "LOWBSS" -o low.o src/low.c $ cl65 -c -Cl -T -Osir --cpu 6502 -t atari -o main.o src/main.c $ cl65 -c -Cl -T -Osir --cpu 6502 -t atari -o high.o src/high.c $ cl65 -c -Cl -T -Osir --cpu 6502 -t atari -o link.o src/link.asm $ cl65 -t atari -C atari-atr.cfg -o program.xex -m program.map *.o $ ls -ltr total 84 -rw-r--r-- 1 chris chris 18944 Dec 10 2020 chkxex.exe -rw-r--r-- 1 chris chris 988 Nov 22 23:19 build-atari.bat -rw-r--r-- 1 chris chris 3231 Nov 22 23:49 atari-atr.cfg -rw-r--r-- 1 chris chris 744 Nov 23 12:18 low.o -rw-r--r-- 1 chris chris 870 Nov 23 12:19 main.o drwxr-xr-x 2 chris chris 4096 Nov 23 12:19 src/ -rw-r--r-- 1 chris chris 708 Nov 23 12:19 high.o -rw-r--r-- 1 chris chris 770 Nov 23 12:19 link.o -rw-r--r-- 1 chris chris 3236 Nov 23 12:20 program.xex -rw-r--r-- 1 chris chris 28828 Nov 23 12:20 program.map $ ataricom program.xex ataricom 0.30-150320 (c) 2008-2014 Matthias Reichl <hias@horus.com> block 1: 2000-208e (bytes: 143, offset: 6) block 2: 8000-8c04 (bytes: 3077, offset: 153) block 3: 02e0-02e1 (bytes: 2, offset: 3234) RUN: 2001 $ PS: you don't need to provide your own FILEHDR, you could use the one from atari.lib. PS2: with recent CC65 ("recent" being less that ~ 8 years old), you don't need to set CC65_xxx and LD65_xxx environment variables. Just add cc65 to your PATH.
  18. I don't know those segments, they are custom made. The author knows if it's fatal if they are not present. One would need to look at the full project and not just the error messages.
  19. cl65 -tatari -C file.cfg -O -m hello.map -vm -o hello.com hello.c This will create a hello.map map file.
  20. Make a verbose map file to see what things are in this overflowing area and pick some and put them into another area.
×
×
  • Create New...