You are not logged in.

Dear visitor, welcome to Forum64. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

Manawyrm

VDE ist, wenn ich das sage ;)

  • "Manawyrm" is male
  • "Manawyrm" started this thread

Posts: 832

Date of registration: Jul 10th 2010

Location: Alfeld (Leine)

  • Send private message

member since 36 month member since 36 month

1

Thursday, February 16th 2012, 5:19pm

Wer Druckt, druckt Mist :P

Hallo,

ich habe folgenden C-Code (ganz frech geklaut aus der Newsgroup :P) :

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#include <ctype.h>
#include <fcntl.h>
#include <dbg.h>
#include <cbm.h>

#define F_PRT 4   // logical FileNr Printer
#define P_DVN 4   // Device Nr Printer


typedef unsigned char BYTE;
extern BYTE _oserror;

void waitKey(void){
 cprintf("\r\n... weiter mit Taste ...\r\n\n");
 cgetc();
}

void DispError(int rc,char *s){
 cprintf("\r\n%d:%s\r\n",rc,s);
 cprintf("OS-error code %d\r\n",_oserror);
 waitKey();
}

int OpenPrinter(void){
BYTE rc;
 rc=cbm_open((BYTE)F_PRT,(BYTE)P_DVN,(BYTE)1,NULL);
 if(rc){
  DispError(rc,"Open-Fehler Printer");
  return 1;
 }
 return 0;
}


void Print(char *s){
BYTE rc;
 rc=cbm_write((BYTE)F_PRT,s,strlen(s));
 if(rc!=strlen(s)) DispError(rc,"Fehler beim Drucken");
}

void PrintNl(char *s){
 Print(s);
 Print("\r\n");
}

void PrintText  (void){
int i;
 if(OpenPrinter())return;
  PrintNl("Hallo.");
 

 cbm_close(F_PRT);
}

void main(void)
{
PrintText();
}


Was ist versuche ist,
auf meinem StarLC10 C Farbdrucker das Hallo. auszudrucken.

Was herauskommt ist folgendes:
http://datenmuellkippe.tbspace.de/printshit.jpg

Kann mir jemand sagen, wo dran das liegt?

Ein einfaches BASIC- open 3,4,7,"Hallo":close3 funktioniert gut

Danke,
Tobias
Besucht mich mal: http://tbspace.de

Green

Holländische Mörchen, heute nur 99 Pfennige

  • "Green" is male
  • »Green« is a verified user

Posts: 1,573

Date of registration: Nov 25th 2005

Location: Hessen

  • Send private message

member since 108 month member since 108 month member since 108 month member since 108 month member since 108 month member since 108 month

2

Thursday, February 16th 2012, 5:49pm

also ich sehe das er ein borblem mit ascii/petscii hat, die kleinbuchstanebn groß gedruckt und die großbuchstaben als grafikzeichen, so bin ich es aber gewohnt, deswegen arbeite ich nur großbuchstaben.

von C hab ich keine ahnung XD

Dirk Vroomen

Professional

  • "Dirk Vroomen" is male
  • »Dirk Vroomen« is a verified user

Posts: 1,009

Date of registration: Feb 7th 2010

Location: Westhofen

  • Send private message

member since 54 month member since 54 month member since 54 month

3

Thursday, February 16th 2012, 5:55pm

Kannst Du mal versuchen, bei dem C-Programm auch die Sekundäradresse 7 anzugeben?

Vielleicht hat 1 ja eine spezielle Funktion? Ist bei verschiedenen Adaptern unterschiedlich geregelt.

Gruß Dirk
gesendet über Robotron Lochbandtechnik mit A 5120

Manawyrm

VDE ist, wenn ich das sage ;)

  • "Manawyrm" is male
  • "Manawyrm" started this thread

Posts: 832

Date of registration: Jul 10th 2010

Location: Alfeld (Leine)

  • Send private message

member since 36 month member since 36 month

4

Thursday, February 16th 2012, 6:18pm

die Idee hatte ich auch schon. Nur leider keine Ahnung, wo ich so etwas tun könnte. Ich finde die Doku zu diesen Funktionen nicht ):
Besucht mich mal: http://tbspace.de

Dirk Vroomen

Professional

  • "Dirk Vroomen" is male
  • »Dirk Vroomen« is a verified user

Posts: 1,009

Date of registration: Feb 7th 2010

Location: Westhofen

  • Send private message

member since 54 month member since 54 month member since 54 month

5

Thursday, February 16th 2012, 6:24pm

rc=cbm_open((BYTE)F_PRT,(BYTE)P_DVN,(BYTE)1,NULL);

=>

rc=cbm_open((BYTE)F_PRT,(BYTE)P_DVN,(BYTE)7,NULL);


Meinst Du das?

Gruß Dirk
gesendet über Robotron Lochbandtechnik mit A 5120

Unseen

Hätte gerne 'n Sony BKM-129X

  • »Unseen« is a verified user
  • Send private message

member since 72 month member since 72 month member since 72 month member since 72 month

6

Thursday, February 16th 2012, 6:29pm

rc=cbm_open((BYTE)F_PRT,(BYTE)P_DVN,(BYTE)1,NULL);

Damit öffnest du nicht nur wie schon angemerkt den Drucker mit Sekundäradresse 1 sondern gibst auch noch als Namen (und damit auszudruckende Zeichen) das weiter, was gerade ab Adresse 0 im Speicher liegt bis zum ersten Byte mit Wert 0.

Quellcode

1
2
3
10 x=rnd(-1963):fori=1to81:y=rnd(1):next
20 forj=1to5:printchr$(rnd(1)*16+70);:next
30 printint(rnd(1)*328)-217

sd2iec Homepage

Manawyrm

VDE ist, wenn ich das sage ;)

  • "Manawyrm" is male
  • "Manawyrm" started this thread

Posts: 832

Date of registration: Jul 10th 2010

Location: Alfeld (Leine)

  • Send private message

member since 36 month member since 36 month

7

Thursday, February 16th 2012, 6:50pm

aua. Danke für diese Info. Dann werde ich dass mal schnell ändern, und mich wieder melden :)
Besucht mich mal: http://tbspace.de