Jump to content

funkheld

Members
  • Posts

    641
  • Joined

  • Last visited

Everything posted by funkheld

  1. Hi good afternoon. how does pokec/peekc and pokew/peekw go in kickc? greeting
  2. hello, thanks for the info. fcntl.h not in kickc. greeting
  3. hello. wy is : IOCB6->ICCOM = ICCOM_CLOSE; ? greeting
  4. thanks for the information. i'm almost 72 years old and try my hand at the atari. greeting
  5. Hi good afternoon. I am still missing an important routine: byte save / load with kickc for atari Thank you. greeting
  6. Hi good afternoon. the last line is missing below. how come? Thank you. greeting
  7. Hi good afternoon. (thanks is ok.......) why aren't 100 lines drawn here? what am I doing wrong here? Thank you. greeting char y; ------------------------- for(y=0;y<100;y++) { plot(0, y); drawTo(159,y); } -------------------------
  8. hello you wizards .... thank you. it's super fast. you are real specialists. Thank you. greeting
  9. thanks for the information. I would like to have this asm in kickc please. it is from a mac asm. but don't know how to do it. Thanks & Greetings
  10. Hi good afternoon. how can you please implement these graphics routines for kickc? the simple atari interests me once. I would like to call these commands once in kickc: ---------------------------------- GRAPHICS 7+16 COLOR 1 PLOT 79,0 DRAWTO 159,47 DRAWTO 79,95 DRAWTO 0,47 DRAWTO 79,0 --------------------------------- Thank you. greeting Thank you. greeting ICCOM EQU $342 ICSTA EQU $343 ICBAL EQU $344 ICBAH EQU $345 ICBLL EQU $348 ICBLH EQU $349 ICAX1 EQU $34A ICAX2 EQU $34B CIOV EQU $E456 * CIO-Befehle COPEN EQU 3 CCLSE EQU 12 CGTXT EQU 5 CPTXT EQU 9 CGBIN EQU 7 CPBIN EQU 11 CDRAW EQU $11 * ATARI Graphik-Variable ATACHR EQU $2FB ROWCRS EQU $54 CURSOR- COLCRS EQU $55 POSITION * * GRAPHICS-Befehl * * Aufruf: GRAPHICS <stufe> * * <stufe> 0 bis 15 (XLs) * 0 bis 11 (400/800) * GRAPHICS MACRO STUFE JMP GR1@ DEV@ ASC "S:" GR1@ LDX #$60 LDA #CCLSE ZUERST KANAL 6 STA ICCOM,X SCHLIESSEN JSR CIOV LDA #STUFE JETZT NEUE GRAPHIK STA ICAX2,X STUFE ANWAEHLEN AND #$F0 EOR #$10 ORA #$0C STA ICAX1,X LDA #COPEN STA ICCOM,X LDA #DEV@ STA ICBAL,X LDA #DEV@/256 STA ICBAH,X JSR CIOV MEND * * Auswahl der Zeichenfarbe * * Aufruf: COLOR <farbe> * * <farbe> von 0 bis 255, je nach * Graphikmodus, muss eine * Konstante sein. * COLOR MACRO COL LDA #COL STA ATACHR MEND * * Positionierung des Cursors * * Aufruf: POSITION <x>,<y> * * <x>,<y> je nach Graphikmodus, beide * muessen Konstante sein * * POSITION MACRO X,Y LDA #X STA COLCRS LDA #X/256 STA COLCRS+1 LDA #Y STA ROWCRS MEND * Graphik-Punkte setzen * * Aufruf: PLOT <x>,<y> * * <x>,<y> je nach Graphikmodus, * muss sich um Konstane * handeln * PLOT MACRO X,Y POSITION X,Y LDX #$60 KANAL 6 LDA #CPBIN STA ICCOM,X LDA #0 STA ICBLL,X STA ICBLH,X LDA ATACHR JSR CIOV MEND * * Graphik-Linien ziehen * * Aufruf: DRAWTO <x>,<y> * * <x>,<y> je nach Graphikmodus * Konstante * DRAWTO MACRO X,Y POSITION X,Y LDX #$60 KANAL 6 LDA #CDRAW STA ICCOM,X LDA #CCLSE STA ICAX1,X LDA #0 STA ICAX2,X JSR CIOV MEND ************************************* * Demo-Programm f. Graphik-Bibliothek * * zeichnet Raute in GRAPHICS 7 ************************************* * * befindet sich im reservierten * Speicherplatz fuer Objektcode * ORG $A800 GRAPHICS 7+16 COLOR 1 PLOT 79,0 DRAWTO 159,47 DRAWTO 79,95 DRAWTO 0,47 DRAWTO 79,0 ENDLOS JMP ENDLOS
  11. hello thanks. why are 63 and 21 always printed together with "A" or "B"? Thank you. greeting #pragma encoding(atascii) #pragma zp_reserve(0x00..0x7f) #include <string.h> #include <stdlib.h> char * const CH = 0x2FC; void * CIOV = 0xE456; struct ATARI_IOCB { char ICHID; char ICDNO; char ICCOM; char ICSTA; char* ICBA; char* ICPT; char* ICBL; char ICAX1; char ICAX2; char ICAX3; char ICAX4; char ICAX5; char ICAX6; }; struct ATARI_IOCB * const IOCB0 = 0x340; void main() { while (1) { *CH = 0xff; while(*CH == 0xff) ; char keyPressed = *CH; switch(keyPressed) { case 63: print("pebi-63\n"); case 21: print("pebi-21\n"); default: print("nix\n"); } } } void printc(char c) { char buffer[20]; memset(buffer, 0, 20); utoa(c, buffer, HEXADECIMAL); print(buffer); } void cputln() { print("\n"); } void print(char* message) { char *p = message; while (*p != 0) { if (*p == '\n') *p = 0x9b; p++; } IOCB0->ICCOM = 0x0b; IOCB0->ICBA = message; IOCB0->ICBL = strlen(message); asm { ldx #0 jmp CIOV } }
  12. Hi good afternoon. How can I please intercept the keystroke W / S / Q / E and call up a routine depending on the keystroke? Thank you. greeting
  13. Hi good afternoon. times I created a graphic screen at $2000. the program starts at $3000. ------------------------------ .segmentdef Program [segments="ProgramStart, Code, Data, ProgramEnd"] .segmentdef ProgramStart [start=$3000] ------------------------------ screen address $2000- $2003 described with values. greeting #pragma target(atarixl) #pragma emulator("65XEDebugger") #include <atari-xl.h> char* SCREEN = $2000; void main() { *SDMCTL = 0x21; *SDLST = DISPLAY_LIST; SCREEN[0]=255; SCREEN[1]=129; SCREEN[2]=255; SCREEN[3]=129; while (1) ; } char DISPLAY_LIST[] = {0x70 ,0x70 ,0x70 ,0x4d ,0x00,0x20, 0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x0d, 0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x0d, 0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x0d, 0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x0d, 0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x0d, 0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x0d, 0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x0d, 0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x0d, 0x0d ,0x0d ,0x0d ,0x0d ,0x0d ,0x41, JVB, <DISPLAY_LIST, >DISPLAY_LIST };
  14. Hi good afternoon. which "C" and which "H" can be used by kickc for the Atarixl from LIB and from INCLUDE ? greeting
  15. please implement this too: ---------------------------- PROC PAUSE=*()[$A5$14$C5$14$F0$FC$60] PROC WAIT=*(BYTE F)[$18$65$14$C5$14$D0$FC$60] PROC RSYNC=*(BYTE L)[$CD$0B$D4$D0$FB$60] --------------------------- greeting
  16. can you please do that in source asm? I do not understand what you are writing. greeting --------------------------- BYTE FUNC Peek=*(CARD a) [$85$A2$86$A3$A0$00$B1$A2$85$A0$60] CARD FUNC PeekC=*(CARD a) [$85$A2$86$A3$A0$00$B1$A2$85$A0$C8$B1 $A2$85$A1$60] PROC Poke=*(CARD a BYTE v) [$85$A0$86$A1$98$A0$00$91$A0$60] PROC PokeC=*(CARD a, v) [$20 Poke $C8$A5$A3$91$A0$60] PROC MoveBlock=*(BYTE POINTER d,s CARD l) [$A085$A186$A284$A0$0$A5A5$16F0$A2B1$A091$C8$F9D0 $A1E6$A3E6$A5C6$F1D0$5F0$A2B1$A091$C8$A4C4$F7D0$60] PROC SetBlock=*(BYTE POINTER a CARD s BYTE v) [$A085$A186$A284$A0$0$A4A5$A3A6$10F0$A091$C8$FBD0 $A1E6$A3C6$F5D0$3F0$A091$C8$A2C4$F9D0$60] --------------------------------
  17. thanks for the information. I put the cp/m back to the side. greeting
  18. Hi good afternoon. your kickc makes a good impression. the two demos have few bytes, which is wonderful. 89 bytes and 149 bytes. greeting
  19. Hi good afternoon. where can you get this cp/m for the atari800 xl? Thank you. greeting
×
×
  • Create New...