Previous Thread
Next Thread
Print Thread
Page 6 of 8 1 2 3 4 5 6 7 8
Joined: Feb 2008
Posts: 173
Likes: 13
G
Senior Member
Offline
Senior Member
G
Joined: Feb 2008
Posts: 173
Likes: 13
Originally Posted by R. Belmont
He can't. Printers are under the Vas Death Penalty, at least until someone makes an Adobe-compliant middle layer.
That's a real shame. So much cool stuff blocked and not only just printers. Eventually the users will rebel against the fatcats at the top of the pyramid and they'll be a good ol' hangin' lol


Dumping ROMs for MAME since 1999!
https://gurudumps.otenko.com
1 member likes this: Tim Stark
Joined: Feb 2014
Posts: 1,124
Likes: 193
G
Very Senior Member
OP Offline
Very Senior Member
G
Joined: Feb 2014
Posts: 1,124
Likes: 193
I should upload that stuff to a github branch anyway before something happens to my hard drive.


Here's a PR to fix the address calculations for RelP and RelM on the LH5801 used in the PC1500:

https://github.com/mamedev/mame/pull/12999


Going to see if I can make the plotter work on the PC1500...

1 member likes this: robcfg
Joined: Feb 2014
Posts: 1,124
Likes: 193
G
Very Senior Member
OP Offline
Very Senior Member
G
Joined: Feb 2014
Posts: 1,124
Likes: 193
[Linked Image from i.imgur.com]

For some reason it gets into a startup cycle where it keeps running the printer startup code over and over.

Using the debugger to skip past that gives the first time it does something.

1 member likes this: robcfg
Joined: Mar 2001
Posts: 17,234
Likes: 259
R
Very Senior Member
Online Content
Very Senior Member
R
Joined: Mar 2001
Posts: 17,234
Likes: 259
Running the startup over and over could be another opcode bug or it could be legit failing a power-on self test.

Joined: Feb 2014
Posts: 1,124
Likes: 193
G
Very Senior Member
OP Offline
Very Senior Member
G
Joined: Feb 2014
Posts: 1,124
Likes: 193
One possible reason is that the CE-150 rom gets bank switched out by the PV flipflop, which isn't handled by either the driver or currently exposed by the lh5801 cpu.

Poking values into 79F4 changes the size of the text.

(can't read my, can't read my poke &79F4 face)

[Linked Image from i.imgur.com]

(man, the imgur website seems to be acting really wacky for me lately)


edit: turns out there's good Basic support for the CE-150 with commands to set character size (CSIZE) to do line feeds (LF) and to switch from text to graphics (TEXT and GRAPH) as well as drawing lines (LINE), moving the pen (LCURSOR for text, GLCURSOR for graphics).

Last edited by Golden Child; 11/21/24 07:15 PM.
1 member likes this: robcfg
Joined: Mar 2001
Posts: 17,234
Likes: 259
R
Very Senior Member
Online Content
Very Senior Member
R
Joined: Mar 2001
Posts: 17,234
Likes: 259
Yeah, if there's unemulated bankswitching it's almost certainly failing the POST then.

Joined: Feb 2014
Posts: 1,124
Likes: 193
G
Very Senior Member
OP Offline
Very Senior Member
G
Joined: Feb 2014
Posts: 1,124
Likes: 193
[Linked Image from i.imgur.com]

implemented pv and it boots instead of looping!


although I'm sure this isn't the way to do it...


map(0xa000, 0xbfff).r(FUNC(pc1500_state::ce150_r)); // ce150 printer rom

u8 pc1500_state::ce150_r(offs_t offset)
{
const u8 *ce150 = memregion("ce150")->base();
if (!m_maincpu->pv()) return ce150[offset];
else return 0xff;
}

Last edited by Golden Child; 11/23/24 09:38 PM.
Joined: Mar 2001
Posts: 17,234
Likes: 259
R
Very Senior Member
Online Content
Very Senior Member
R
Joined: Mar 2001
Posts: 17,234
Likes: 259
The more correct way would be to add an output callback for the PV pin and have the driver hook it and flip the active memory view.

Joined: Feb 2014
Posts: 1,124
Likes: 193
G
Very Senior Member
OP Offline
Very Senior Member
G
Joined: Feb 2014
Posts: 1,124
Likes: 193
ok, I set up a memory view, but what's the best way to get it to read FF when you have no rom there?

should I just leave the view m_view[1] empty?


u8 pc1500_state::empty_r(offs_t offset)
{
return 0xff;
}


map.unmap_value_high();
map(0xa000, 0xbfff).view(m_view);
m_view[0](0xa000, 0xbfff).rom().region("ce150", 0);
m_view[1](0xa000, 0xbfff).r(FUNC(pc1500_state::empty_r));


edit:

would it be okay to use:

m_view[1](0xa000, 0xbfff).unmapr();

Last edited by Golden Child; 11/24/24 09:18 AM.
Joined: Feb 2004
Posts: 2,603
Likes: 307
Very Senior Member
Offline
Very Senior Member
Joined: Feb 2004
Posts: 2,603
Likes: 307
You really like making things more complicated than they need to be, don’t you? Take a step back and think.

Page 6 of 8 1 2 3 4 5 6 7 8

Link Copied to Clipboard
Who's Online Now
2 members (Reznor007, R. Belmont), 217 guests, and 1 robot.
Key: Admin, Global Mod, Mod
ShoutChat
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics9,328
Posts122,128
Members5,074
Most Online1,283
Dec 21st, 2022
Our Sponsor
These forums are sponsored by Superior Solitaire, an ad-free card game collection for macOS and iOS. Download it today!

Superior Solitaire
Forum hosted by www.retrogamesformac.com