Hello fine Commodore people,the moment) and have been toying with the idea of hooking it up to Raspberry Pi
I have Commodore MPS 803 printer (I think it is 803, it is in the storage at
I think I did try to dig up information for this couple of years ago and cameto understand that the printer serial protocol is non-standard and documentation for it is hard to find. Someone also mentioned some Nuts and Volts article but I was unable
So I would appreciate any information on C64 serial printer protocol / moderntools / github repos / whatever you can provide.
Thanks!
On 29.07.2017 11:42, Rami wrote:at the moment) and have been toying with the idea of hooking it up to Raspberry
Hello fine Commodore people,
I have Commodore MPS 803 printer (I think it is 803, it is in the storage
came to understand that the printer serial protocol is non-standard and documentation for it is hard to find. Someone also mentioned some Nuts and Volts article but I was unableI think I did try to dig up information for this couple of years ago and
modern tools / github repos / whatever you can provide.So I would appreciate any information on C64 serial printer protocol /
Thanks!
The protocol is essentially the same protocol as commodore 1541 disk
drive protocol is. The printer just uses device number 4 instead of 8.
Trust me, it is much easier to find a suitable matrix printer for your
PC than to attach the commodore printer to your pc. The cbm protocol is
very tight in timing.
Sell the printer to someone c64/vic20/c128 enthusiast.
On Sunday, July 30, 2017 at 7:26:50 AM UTC+3, Pekka Takala wrote:
On 29.07.2017 11:42, Rami wrote:
Hello fine Commodore people,The protocol is essentially the same protocol as commodore 1541 disk
I have Commodore MPS 803 printer (I think it is 803, it is in the
storage at the moment) and have been toying with the idea of
hooking it up to Raspberry Pi or similar... And later maybe even
add a CUPS driver and allow remote printing.
I think I did try to dig up information for this couple of years
ago and came to understand that the printer serial protocol is
non-standard and documentation for it is hard to find. Someone
also mentioned some Nuts and Volts article but I was unable to get
it from the publisher.
So I would appreciate any information on C64 serial printer
protocol / modern tools / github repos / whatever you can provide.
Thanks!
drive protocol is. The printer just uses device number 4 instead of 8.
Trust me, it is much easier to find a suitable matrix printer for your
PC than to attach the commodore printer to your pc. The cbm protocol is
very tight in timing.
Sell the printer to someone c64/vic20/c128 enthusiast.
Thanks Pekka. If the timing is as tight as you say I might just let
this be for now. The idea was basically just hook up something almost
useless to modern computer setting for fun and laughs.
I do have (I think) two Commodore 64s (and 2*A500, A500+ and A1200) so
I think I keep the printer, find some continuous feed paper for it and
hook it up to C64. :)
So I would appreciate any information on C64 serial printer
protocol / modern tools / github repos / whatever you can provide.
Printing text is quite simple.
Il giorno luned|4 7 maggio 2018 15:54:00 UTC+2, sblen...@gmail.com hascritto:
black and white, with white background) into commands for the Commodore MPS 803Printing text is quite simple.
You can also print graphics. This is an example of what you can do: https://imgur.com/a/gyxkkqk
I did it writing a simple "driver" in Java that converts images (for now in
package eu.sblendorio;
import javax.imageio.ImageIO;
import java.awt.image.*;
import java.io.File;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
if (args.length == 0) System.exit(1);
final String filename = args[0];
File f = new File(filename);
BufferedImage bi = ImageIO.read(f);
print(bi);
}
static int getPixel(BufferedImage bi, int x, int y) {
final int w = bi.getWidth();
final int h = bi.getHeight();
if (x >= w || y >= h || x < 0 || y < 0)
return 0;
final boolean pixel = bi.getRGB(x, y) != -1;
return pixel ? 1 : 0;
}
static void print(BufferedImage bi) {
final int pow[] = {1, 2, 4, 8, 16, 32, 64};
final int w = bi.getWidth();
final int h = bi.getHeight();
int rows = h / 7 + (h % 7 == 0 ? 0 : 1);
System.out.write(8);
for (int row=0; row<rows; ++row) {
for (int x=0; x<w; ++x) {
int code = 128;
for (int dy=0; dy<7; ++dy) {
final int pixel = getPixel(bi, x,(row * 7) + dy);
code += pow[dy]*pixel;
}
System.out.write(code);
}
System.out.write(13);
}
System.out.write(15);
System.out.write(13);
}
}
| Sysop: | Winzlo |
|---|---|
| Location: | Minnesota, USA |
| Users: | 11 |
| Nodes: | 16 (0 / 16) |
| Uptime: | 495934:01:38 |
| Calls: | 82 |
| Files: | 1,070 |
| D/L today: |
27 files (11,920K bytes) |
| Messages: | 286,919 |