Hello, Guest the thread was called965 times and contains 25 replays

last post from LGB-Z at the

Commodore LCD (xemu/xclcd)

  • By the way, in addition to my previous longer answer, one important point about Xemu. It's basically a one man project (me). And I'm also not the greatest man ever to write emulators, I can admit it :) I told the story about the MAME/MESS stuff, if you remember, and I helped a guy from the team. Honestly I went a bit mad about his attitude so I was angry enough never checked again how they progress after my help. It's possible that their emulator for CLCD went better than mine meanwhile. One reason that it's a BIG project with many people, with many components ready, I guess also an 1541 and other emulations within their project, so for them it's just matter of some lines of code to "connect" them. Where, for me, with my "little" project and only me being the programmer, I have to implement everything by myself from zero. So still that I'm not happy about their attitude, it does not matter for YOU too much, and you may want to try the CLCD emulator within their project.

  • @LGB-Z Ok, so @ least I can 'workaround' with -prg switch :-D


    I know Bill very well, even 'talked' with him once on his c128.com domain.
    Also I know most of those Youtube videos ;).


    When I digged into the MEGA (C65) Stuff I discovered your Emulator.
    You can't believe how lucky I was discovering not only the C65/MEGA-Part but also the C= LCD part.
    Since then I have to admit that I am more digging into the C= LCD than in the MEGA.


    Still collecting more data for the 'manual'.
    I will have to try out every known BASIC 3.6 command, and see if they are implemented and if they work the way they should.
    But 167 commands are to discover, to check, and to describe. This will take a long time.
    But step by step we will finaly achieve the task.


    Ok, now I goto BED (gosub sleep) ;-)


    :zzz:

  • @LGB-Z Ok, so @ least I can 'workaround' with -prg switch :-D


    I know Bill very well, even 'talked' with him once on his c128.com domain.
    Also I know most of those Youtube videos ;).


    Ah, okey then! :)


    Quote

    When I digged into the MEGA (C65) Stuff I discovered your Emulator.
    You can't believe how lucky I was discovering not only the C65/MEGA-Part but also the C= LCD part.
    Since then I have to admit that I am more digging into the C= LCD than in the MEGA.


    Still, as I've told, it would be a fun project to have alternative core to the Mega65 (when it's released) so you can use it as a Commodore LCD too :)


    Quote

    Still collecting more data for the 'manual'.
    I will have to try out every known BASIC 3.6 command, and see if they are implemented and if they work the way they should.
    But 167 commands are to discover, to check, and to describe. This will take a long time.
    But step by step we will finaly achieve the task.


    What we miss a lot, is a dump of another Commodore LCD ... To be able to compare there is major difference, there was development in BASIC as well for final planned CLCD as BASIC 3.6 etc etc. It's said that BASIC 3.6 and BASIC 7 (C128) is about almost the same, even the graphical commands, just that different screen resolution and no colours of course. I haven't checked though, how true it is or not, but what I told, that C128 has an OFF command (giving "unimplemented" error) makes it possible that there is something went on here, as I don't think other CBM BASICs has "OFF" command on any degree (even to say unimplemented) other than C128 and C-LCD, so maybe they are truly closely related ....


    As far as I know Mike Naberezny (owner of 6502.org btw) is the one who must be thanked for, to have ROM dump, since he "bothered" Bill a lot and even sent him an EPROM programmer to be able to dump the EPROM of their CLCD. Last time I exchanged mail with Mike, he told me, he tries another ex-Commodore engineer the same, who is known to have another Commodore LCD. OK, I admit I may confuse the names here already :) But you get the idea. Unfortunately not so much development of this story, at least I don't know any new information. One thing is clear: having the dump of two different Commodore LCDs would help a lot to see what was going on just be seeing the differences and trying to figure out the direction it would bring us then ...


    Quote

    Ok, now I goto BED (gosub sleep) ;-)


    :zzz:

    Nice, if you GOSUB there, you have chance to RETURN in the morning ;-P

  • In 2016 the real character rom was dumped, which mame supports.


    Mame also has sound and rs232 & parallel port. With a few options for what you hook up to those ports (either files, sockets or windows).


    It says ram to disk, but if you exit mame without using a save state then it will complain as there is currently no way to trigger the sleep/wakeup. Files will still be there, but it beeps annoyingly.


    The press photos don't match the current dump, I think they came from Jeff Porters own model & nobody has managed to get a dump from that (at least not publicly). So we don't know if those were just mock ups that have been lost to time, or whether Jeff has a later version in his. He stayed on the project longer, so I would assume his would be later but I don't know the provenance of either of them.


    The scans of the specs made in 2013 were also released to the public in 2017 http://mikenaberezny.com/2008/10/04/commodore-lcd-firmware/ Having access to those would have made our work a whole lot easier.

  • Yes, I've also got the the "real character ROM" dump, in fact, it's in Xemu/XLCD already, I've also had personal mailing with Mike via mails about this some time ago, I can't remember exactly when. Mike also told me, that he tries to contact Jeff to deal with some kind of "all ROM dumps" on his unit too, since it looks like different in software terms as well. I haven't got any information since then, if there is dump for that. It would be useful, since we would have ROMs for two different units then in different development stages, would be nice to compare the difference.


    Honestly, I haven't dealt with Xemu/XLCD since then too much at all, in regard of any new emulation features and fixes besides of the real character ROM integration, which I did.


    Besides I did the first working Commodore LCD emulator (back in then in "hand written" Javascript, which I later adopted in C source inside my Xemu project), and my help for mess/mame project, unfortunately I haven't done too much new things on Xemu/XLCD emulator at all. But it's nice to hear there are are more development since my initial work in the mame project since then!


    About the specification: the "preliminary" one is VERY misleading, as it's VERY different from the machine was really developed! When I first saw that specification, I was kinda happy but then I realized why nobody had done an emulator anyway, since it's not the real specification which was implemented, almost everything is totally wrong, in the sense, that planes had been changed. That's why I had hard time to be able to create the first working Commodore LCD emulator (which is yeah, works in the terms, that "it boots" or how we want to call, but still there is no emulation for many things, like IEC bus, sound, rs232, etc).


    About the "other specs": I can't remember the story correctly. But I had mailed with Bil Herd a lot about CLCD, and he suggested other Commodore ex-engineers for some documentation and/or help. It turned out, there is some, what I got too then. Interestingly, some of them were "late", that I could figure out myself more or less to have a working emulator anyway. But surely, it's VERY NICE to have "official" and the "real" specs as well, anyway! I also wrote my own specs based on mostly my debug/etc works, partly before that. It's on my web site (lgb.hu), though unfortunately it's down since a while (server problem). archive.org can help, though ... Interestingly Bil Herd mailed me much later, if I can send the specifications I could get from other engineers, since he would like to see those as well, and also - if I remember correctly - Mike was interested, so I did. Probably (!!!) this is the way, that .zip ended up on his site, you sent the URL about :) But I'm kinda unsure, this whole CLCD story is kinda complicated, even I don't remember exactly about the happenings precisely.


    Anyway, it's a great news to hear about mame's emulation on CLCD evolved since my initial help :) And well, yes, about the biggest problem must be figured out "only" that how MMU works. But basically this is the essence that was hard witohut any doc, and caused the problem for mame too to have a working emulator even before mine one. I had hard times of nights of not sleeping to do disasm on ROM code and gazing it that I could figure out myself (with lots of tries with my - not even ever released - Python version of the emulator, so I could figure out/debug/etc things more quick, but that emulator was a real mess and very slow, what was presented "to the public" was already my JavaScript version, then Xemu's one, also from me), even without the specs before on this very subject.

  • And btw, if mame's CLCD emulation evolved that much you mentioned, I would suggest others to use that instead of my Xemu's emulation of that machine for sure, thanks for the information.


    I really hope one day I have enough time to further develop my emulation as well inside my Xemu project though, since I basically just enjoy to write emulators using only my own code, maybe it's a bit strange attitude, I admit, but that's me, well ...