Previous Thread
Next Thread
Print Thread
Page 80 of 80 1 2 78 79 80
Joined: Feb 2014
Posts: 1,102
Likes: 173
G
Very Senior Member
Offline
Very Senior Member
G
Joined: Feb 2014
Posts: 1,102
Likes: 173
I tried to run Turbo Pascal using an external terminal and for some reason, it wouldn't generate the proper ESC sequence to position the cursor so the editor won't work.

There's a TINST program that allows you to set the terminal for Turbo Pascal.

List of terminals supported by Turbo Pascal:

[Linked Image from i.imgur.com]


Turns out there's terminal remapping built into apple cpm and a configuration program called CONFIGIO (written in basic!).

[Linked Image from i.imgur.com]
[Linked Image from i.imgur.com]
[Linked Image from i.imgur.com]

So there's a "software code" that gets mapped to a "hardware code".

I think the idea is to remap the Soroc IQ-120 to whatever terminal you are actually using and you can even map the Soroc IQ-120 to itself (set the hardware codes to match the software codes).

It's just a simple translation, the "hardware code" is what's translated and sent to the hardware when it sees a "software code".

Joined: Feb 2014
Posts: 1,102
Likes: 173
G
Very Senior Member
Offline
Very Senior Member
G
Joined: Feb 2014
Posts: 1,102
Likes: 173
Just for fun, I wanted to see if you could run Applesoft Basic from an external terminal. So I modified the rs232 terminal to strip out the high bit with "data &= 0x7f;"

./mame apple2p -sl3 ssc -sl3:ssc:rs232 terminal

and after hitting RESET after booting, and typing IN#3 and PR#3 you can type with the terminal keyboard and send output to the terminal.

Output is simultaneous to the screen and the terminal, and the keyboards work simultaneously as well.

One thing that's interesting is that CTRL+C from the terminal will only be processed if there is an INPUT statement, so you can't break basic programs that are running.

[Linked Image from i.imgur.com]
[Linked Image from i.imgur.com]



Micro Display Systems made a full page display called the "Genius Full Page Display Model 101" that had 57 lines * 80 column resolution with RS232 and Apple specific versions. That would have been pretty neat. I think that once 80 columns was ubiquitous with the //e that demand for external terminals faded along with the additional complexity and high cost.

1 member likes this: exidyboy
Joined: Dec 2015
Posts: 173
Likes: 11
A
AJR Online Content
Senior Member
Online Content
Senior Member
A
Joined: Dec 2015
Posts: 173
Likes: 11
For the record, you can work around the high bit issue without modifying the source by configuring the terminal for 7 data bits and mark parity. (This seems to have been one of the most common formats for serial ASCII transmission in the 1960s and 1970s, even after IC UARTs started to make the framing parameters more easily configurable. It became highly undesirable when 8-bit character sets began to proliferate in the 1980s.)

Last edited by AJR; 02/16/23 03:06 AM.
Joined: Feb 2014
Posts: 1,102
Likes: 173
G
Very Senior Member
Offline
Very Senior Member
G
Joined: Feb 2014
Posts: 1,102
Likes: 173
I was trying to format a floppy disk image in drive B with copy ii plus 5 on apple2e/apple2p, and it would abort saying error on track XX.

made a 143360 byte disk image with dd if=/dev/zero bs=256 count=$((35*16)) of=NEWBLANKDISK

copy2pv41 works
copy2pv51 fails
copy2pv55 fails
copy2pv71 fails


I was trying to make a disk to get the IWEM laserwriter imagewriter emulator file off of the apple2gs.

Last edited by Golden Child; 06/12/23 03:37 PM.
Joined: Mar 2001
Posts: 17,217
Likes: 234
R
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 17,217
Likes: 234
You can create a new pre-formatted ProDOS disk image in MAME's File Manager.

Joined: Feb 2014
Posts: 1,102
Likes: 173
G
Very Senior Member
Offline
Very Senior Member
G
Joined: Feb 2014
Posts: 1,102
Likes: 173
I wanted to find a way to press CTRL+Open Apple+ESC to get into the control panel of the apple2gs, but LCTRL+LALT+ESC doesn't get passed on with Ubuntu.


One strategy is to assign another key like PgUp to both Open Apple and CTRL, like PgUp, so you can type PgUp + ESC and that will work.

I tried assigning PgUp to CTRL and OpenApple and ESC, but pressing all three simultaneously doesn't seem to work. It seems that ESC must be pressed slightly later than CTRL+OpenApple.



Another strategy is to use lua to press some keys:

So first, let's figure out the names of the ports and fields we need:
Code
[MAME]> function printt(t) for a,b in pairs(t) do print(a,b) end end
[MAME]> printt(manager.machine.ioport.ports)
:a2_config	sol.ioport_port*: 0x5645a8e82b28
:macadb:KEY0	sol.ioport_port*: 0x5645a8e5cf88
:macadb:KEY1	sol.ioport_port*: 0x5645a8df18a8
:macadb:KEY2	sol.ioport_port*: 0x5645a8e34068
:macadb:KEY3	sol.ioport_port*: 0x5645a8dc77a8
...

[MAME]> printt(manager.machine.ioport.ports[":macadb:KEY3"].fields)
Command / Open Apple	sol.ioport_field*: 0x5645a8efe0e8
Esc	sol.ioport_field*: 0x5645a8efa808
Option / Solid Apple	sol.ioport_field*: 0x5645a8eff718
Control	sol.ioport_field*: 0x5645a8f068d8
...

Once we know the name of the port and the fields we need, we can assign them to some variables and make a coroutine function:

Code
 opkey = manager.machine.ioport.ports[":macadb:KEY3"].fields["Command / Open Apple"] 
 esckey = manager.machine.ioport.ports[":macadb:KEY3"].fields["Esc"]
 ctrlkey = manager.machine.ioport.ports[":macadb:KEY3"].fields["Control"]


function cofunc()
 print("press op, ctrl") 
 opkey:set_value(1) 
 ctrlkey:set_value(1) 
 emu.wait(2/60) 
 print("press esc") 
 esckey:set_value(1)
 emu.wait(2/60) print("release")
 opkey:set_value(0) 
 esckey:set_value(0) 
 ctrlkey:set_value(0)  
end

function pressctrlopesc() co1 = coroutine.create(cofunc) coroutine.resume(co1) end

pressctrlopesc()


Joined: Mar 2001
Posts: 17,217
Likes: 234
R
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 17,217
Likes: 234
You can always remap the conflicting keys in whatever desktop/window manager you use too.

Joined: Feb 2004
Posts: 2,598
Likes: 301
Very Senior Member
Offline
Very Senior Member
Joined: Feb 2004
Posts: 2,598
Likes: 301
You can also use the input macro plugin included with MAME.

1 member likes this: Golden Child
Joined: Feb 2014
Posts: 1,102
Likes: 173
G
Very Senior Member
Offline
Very Senior Member
G
Joined: Feb 2014
Posts: 1,102
Likes: 173
Thanks Vas, that Input Macro plugin is very cool.

[Linked Image from i.imgur.com]

Page 80 of 80 1 2 78 79 80

Link Copied to Clipboard
Who's Online Now
1 members (AJR), 259 guests, and 5 robots.
Key: Admin, Global Mod, Mod
ShoutChat
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics9,320
Posts121,944
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