Jump to content

funkheld

Members
  • Posts

    641
  • Joined

  • Last visited

Posts posted by funkheld

  1. hello zbyti.

     

    Thanks for your new work for the new plus4 demos.
    Wonderful how you can do that.


    have already learned a lot.

    what I'm looking for is a key query, which key was pressed,
    which works in plus4.

    i can already receive data for rs232 from plus4.

    Thank you.
    greeting

  2. how big is integer in madpascl for the c64?

     

    which number types are there for the c64??

     

    greeting

     

    -----------------------------------------------------------

    program UpUpAndAway;

    const
      v = 53248; 

      sprite : array[0..62] of Byte = (
        0,127,0,1,255,192,3,255,224,3,231,224,
        7,217,240,7,223,240,7,217,240,3,231,224,
        3,255,224,3,255,224,2,255,160,1,127,64,
        1,62,64,0,156,128,0,156,128,0,73,0,0,73,0,
        0,62,0,0,62,0,0,62,0,0,28,0
      );

    var
      i,d : Integer;
    begin

    -----------------------------------------------------------

  3. hello, this is open , send , empfang , close mit madpas for c64.

     

    greeting

     

    seriell_send  to A - Z , 2400baud :

     

    
    //   KERNAL_SETLFS = $FFBA;
    //   KERNAL_SETNAM = $FFBD;
    //   KERNAL_OPEN   = $FFC0;
    //   KERNAL_CLOSE  = $FFC3;
    //   KERNAL_CHKIN  = $FFC6;
    //   KERNAL_CHKOUT = $FFC9;
    //   KERNAL_CLRCHN = $FFCC;
    //   KERNAL_CHRIN  = $FFCF;
    //   KERNAL_CHROUT = $FFD2;
    //   KERNAL_LOAD   = $FFD5;
    //   KERNAL_READST = $FE07;
    
    program seriel;
    
    var 
      i,z : byte;
      
      num  : word absolute $fb;
      ascii : byte absolute $fd;
    
    procedure seriell_open(); assembler;
    asm {
       num = $fb
     
       lda #2
       ldx #<(num)
         ldy #>(num)
       jsr $ffbd          
       lda #$02
       ldx #$02
       ldy #$00
       jsr $ffba            
       jsr $ffc0           
     };
    end;
     
    procedure seriell_send(); assembler;
    asm { 
       buffer = $fd
       
       ldx #$02
       jsr $ffc9
       lda #$00
       ldx buffer
       txa
       jsr $ffd2 
       jsr $ffcc
    };
    end;
    
    procedure seriell_empfang(); assembler;
    asm { 
        buffer = $fd
       
        jsr $ffcc
        ldx #$02
        jsr $ffc6
        bcs error
        jsr $ffcf
        tax
        jsr $fe07
        cmp #$00
        bne error
        stx buffer
        jsr $ffcc  
    error:
     };
     end;
    
    procedure seriell_close(); assembler;
    asm { 
       lda #$02  
       jsr $ffc3
    };
    end;
    
    begin  
        poke($fb,10);
        poke($fc,0);
        seriell_open;
        pause;
        
        while True do begin
        
          for i:=1 to 26 do begin
              ascii:=i;
            for z:=0 to 30 do begin
             pause;
            end; 
            seriell_send;
            end;
          
          end; 
        
        pause;
        seriell_close;
    end.
    
    

     

    seriell_empfang A - Z , 2400baud :

    char is the screen adresse $0400

     

    
     
    
    //   KERNAL_SETLFS = $FFBA;
    //   KERNAL_SETNAM = $FFBD;
    //   KERNAL_OPEN   = $FFC0;
    //   KERNAL_CLOSE  = $FFC3;
    //   KERNAL_CHKIN  = $FFC6;
    //   KERNAL_CHKOUT = $FFC9;
    //   KERNAL_CLRCHN = $FFCC;
    //   KERNAL_CHRIN  = $FFCF;
    //   KERNAL_CHROUT = $FFD2;
    //   KERNAL_LOAD   = $FFD5;
    //   KERNAL_READST = $FE07;
    
    program seriel;
    
    var 
      i : byte;
      
      num  : word absolute $fb;
      ascii : byte absolute $fd;
    
    procedure seriell_open(); assembler;
    asm {
       num = $fb
     
       lda #2
       ldx #<(num)
         ldy #>(num)
       jsr $ffbd          
       lda #$02
       ldx #$02
       ldy #$00
       jsr $ffba            
       jsr $ffc0           
     };
    end;
     
    procedure seriell_send(); assembler;
    asm { 
       buffer = $fd
       
       ldx #$02
       jsr $ffc9
       lda #$00
       ldx buffer
       txa
       jsr $ffd2 
       jsr $ffcc
    };
    end;
    
    procedure seriell_empfang(); assembler;
    asm { 
        buffer = $fd
       
        jsr $ffcc
        ldx #$02
        jsr $ffc6
        bcs error
        jsr $ffcf
        tax
        jsr $fe07
        cmp #$00
        bne error
        stx buffer
        jsr $ffcc  
    error:
     };
     end;
    
    procedure seriell_close(); assembler;
    asm { 
       lda #$02  
       jsr $ffc3
    };
    end;
    
    begin  
        poke($fb,10);
        poke($fc,0);
        seriell_open;
        pause;
        
        while True do begin
          seriell_empfang;
          pause;
            poke($0400,ascii);
          end; 
        
        pause;
        seriell_close;
    end.
    
    

     

    send-empfang.jpg

  4. with open , send and close is ok , baud2400 :

     

    
    //   KERNAL_SETLFS = $FFBA;
    //   KERNAL_SETNAM = $FFBD;
    //   KERNAL_OPEN   = $FFC0;
    //   KERNAL_CLOSE  = $FFC3;
    //   KERNAL_CHKIN  = $FFC6;
    //   KERNAL_CHKOUT = $FFC9;
    //   KERNAL_CLRCHN = $FFCC;
    //   KERNAL_CHRIN  = $FFCF;
    //   KERNAL_CHROUT = $FFD2;
    //   KERNAL_LOAD   = $FFD5;
    //   KERNAL_READST = $FE07;
    
    program seriel;
    
    var 
      i : byte;
      
      num  : word absolute $fb;
      ascii : byte absolute $fd;
    
    procedure seriell_open(); assembler;
    asm {
       num = $fb
     
       lda #2
       ldx #<(num)
         ldy #>(num)
       jsr $ffbd          
       lda #$02
       ldx #$02
       ldy #$00
       jsr $ffba            
       jsr $ffc0           
     };
    end;
     
    procedure send(); assembler;
    asm { 
       buffer = $fd
       
       ldx #$02
       jsr $ffc9
       lda #$00
       ldx buffer
       txa
       jsr $ffd2 
       jsr $ffcc
    };
    end;
    
    procedure seriell_close(); assembler;
    asm { 
       lda #$02  
       jsr $ffc3
    };
    end;
    
    begin  
        poke($fb,10);
        poke($fc,0);
        seriell_open;
        
        pause;
       
        for i:=64 to 90 do begin
            ascii:=i;
          pause;
          send;
          end; 
        
        pause;
        seriell_close;
    end.
    
  5. hello, this is seriell send , baud2400 :

     

    
    program seriel;
    
    var 
      i : byte;
      
      baud  : word absolute $fb;
      ascii : byte absolute $fd;
    
    procedure seriell(); assembler;
    asm {
    
      befehl = $fb
      puffer = $fd
      
      lda #2
        ldx #2
        ldy #0
        jsr $ffba
    
        lda #2
        ldx #<(befehl)
        ldy #>(befehl)
        jsr $ffbd
    
        jsr $ffc0
    
        ldx #2
        jsr $ffc9
    
        ldy #0
        lda puffer,y
        jsr $ffd2
    
        jsr $ffcc
    
    loop:
        lda $029d
        cmp $029e
        bne loop
    
        ldx #50
    loop1:
        jsr $eeb3  
        dex
        bne loop1
    
        lda #2
        jsr $ffc3
    };
    end;
    
    begin
    
      baud:=$000a;
      
         for i:=64 to 90 do begin
          ascii:=i;
        seriell;
        end; 
       
    end.
    

     

    seriellaz.jpg

  6.  

    thanks for the information.

    buffer and befehl must be an address.

     

    Thank you

     

    befehl:  !byte 10,0
     puffer:  !byte 0

     

    -------------------

      ldx #<(befehl)
      ldy #>(befehl)

    -------------------

    ------------------

    lda puffer,y

    ------------------

  7. hello, good day you specialist.

     

    I'll try the c64 and madpascal.
    have a first problem with this asm:
    can you please do the procedure with data transfer for me
    madpascal?

    I can then use them later as a procedure sample.

    Thank you.


    please transfer data to the asm procedure:
    befehl:  !byte 10,0
    puffer:  !byte 0

    ------------------------------------
    madpascal-procedure:
    asm:
        lda #2
        ldx #2
        ldy #0
        jsr $ffba

        lda #2
        ldx #<(befehl)
        ldy #>(befehl)
        jsr $ffbd

        jsr $ffc0

        ldx #2
        jsr $ffc9

        ldy #0
        lda puffer,y
        jsr $ffd2

        jsr $ffcc

    waitforchar:
        lda $029d
        cmp $029e
        bne waitforchar
        ldx #50

    loop:
        jsr $eeb3  
        dex
        bne loop

        lda #2
        jsr $ffc3

    end-asm
    -------------------------------------

×
×
  • Create New...