Previous Thread
Next Thread
Print Thread
Page 39 of 80 1 2 37 38 39 40 41 79 80
Joined: Feb 2014
Posts: 1,124
Likes: 193
G
Very Senior Member
Offline
Very Senior Member
G
Joined: Feb 2014
Posts: 1,124
Likes: 193
-listslots is very useful. Man, that list is impressive. So many cool things to try.

aesms Applied Engineering Super Music Synthesizer
aevm80 Applied Engineering Viewmaster 80
alfam2 ALF MC1 / Apple Music II
ap16 IBS AP-16 80 column card
ap16alt IBS AP-16 80 column card (alt. version)
applicard PCPI Applicard
arcbd Third Millenium Engineering Arcade Board
cffa2 CFFA2000 Compact Flash (65C02 firmware, www.dreher.net)
cffa202 CFFA2000 Compact Flash (6502 firmware, www.dreher.net)
corvus Corvus Flat Cable interface
diskii Apple Disk II controller
diskiing Apple Disk II NG controller (16-sector)
diskiing13 Apple Disk II NG controller (13-sector)
dx1 Decillonix DX-1
echoii Street Electronics Echo II
echoiiplus Street Electronics Echo Plus
ezcgi E-Z Color Graphics Interface
ezcgi9938 E-Z Color Graphics Interface (TMS9938)
ezcgi9958 E-Z Color Graphics Interface (TMS9958)
mcms1 Mountain Computer Music System (card 1)
mcms2 Mountain Computer Music System (card 2)
memexp Apple II Memory Expansion Card
midi 6850 MIDI card
mockingboard Sweet Micro Systems Mockingboard
mouse Apple II Mouse Card
parallel Apple Parallel Interface Card
pcxport Applied Engineering PC Transporter
phasor Applied Engineering Phasor
ramfactor Applied Engineering RamFactor
sam Don't Ask Software S.A.M.
scsi Apple II SCSI Card
softcard Microsoft SoftCard
ssbapple Multitech Industrial SSB Apple speech card
ssc Apple Super Serial Card
ssprite Synetix SuperSprite
swyft IAI SwyftCard
thclock ThunderWare ThunderClock Plus
themill Stellation Two The Mill
tm2ho Applied Engineering TimeMaster H.O.
twarp Applied Engineering TransWarp
ultraterm Videx UltraTerm (original)
ultratermenh Videx UltraTerm (enhanced //e)
videoterm Videx VideoTerm
vtc1 unknown VideoTerm clone #1
vtc2 unknown VideoTerm clone #2
zipdrive Zip Technologies ZipDrive

Joined: Mar 2001
Posts: 17,234
Likes: 260
R
Very Senior Member
Online Content
Very Senior Member
R
Joined: Mar 2001
Posts: 17,234
Likes: 260
By default the II and II Plus have lang (Apple II 16K Languard Card) in slot 0, mockingboard in slot 4, and diskiing in slot 6.

The IIe has ext80 (Apple 64K Extended 80 Column Card) in the aux slot, mockingboard in slot 4, and diskiing in slot 6. The AE RamWorks III is also supported for the aux slot, for up to 1 meg usable by AppleWorks.

The memory-expandable IIc versions have a memory card installed and a Mockingboard 4C. -ramsize values above 128K populate the memory card.

All IIes and IIcs have a No-Slot Clock.

Joined: Jun 2014
Posts: 95
Likes: 3
P
Member
Offline
Member
P
Joined: Jun 2014
Posts: 95
Likes: 3
.nibs can be oversized (36 tracks instead of 35).
Golden Child, if you want to share some with me, then I can try to work out what's wrong with them.
Normally, .nibs are 232960 bytes long, and can't be in the wrong sector order - they're just steams of track data.

Joined: Sep 2013
Posts: 14
S
Spk Offline
Member
Offline
Member
S
Joined: Sep 2013
Posts: 14
Is it possible to set a specific ram size in KB for the Apple IIgs?

I realise the following will work;

>mame64 apple2gsr1 -ramsize 4M

and so will;

>mame64 apple2gsr1 -ramsize 4096K

But I would like to add a 4MB RAM card to a ROM01 IIgs which has 256K onboard by default.
So I believe that works out as 4096K + 256K = 4352K

But the following isn't accepted by MAME;

>mame64 apple2gsr1 -ramsize 4352K

or am I confused?

Cheers

Joined: Mar 2001
Posts: 17,234
Likes: 260
R
Very Senior Member
Online Content
Very Senior Member
R
Joined: Mar 2001
Posts: 17,234
Likes: 260
Sorry, yes, I didn't bother to compute all of the K values for ROM 01 and ROM 03, I just went to megabytes. I will add the more detailed values in the future.

Joined: Feb 2014
Posts: 1,124
Likes: 193
G
Very Senior Member
Offline
Very Senior Member
G
Joined: Feb 2014
Posts: 1,124
Likes: 193
I finally dug my Yamaha YPG-625 out and was surprised to see that it doesn't have a "real" midi port, just a USB port, so I hooked it up to see if it would do anything under Ubuntu. It came up as /dev/midi2 so I started up lua5.3 and was able to read raw midi data.
Code

a=io.open("/dev/midi2","r")
for j=1,32 do b=a:read(500) t=os.time() for i =1,#b do print (t,j,i,string.format("%x",b:byte(i))) end end

There's a whole bunch of MIDI System Real-Time Messages with 0xf8 and 0xfe so if I don't print those I can see the notes:

for j=1,32 do b=a:read(200) t=os.time() for i =1,#b do d=b:byte(i) if not ((d == 0xf8) or (d==0xfe)) then print (t,j,i,string.format("%x",b:byte(i))) end end end

1559056749	3	186	90
1559056749	3	187	3c
1559056749	3	188	53
1559056749	3	194	90
1559056749	3	195	3c
1559056749	3	196	0



So I thought I'd see if that passport midi would be able to use the keyboard:
Code
./mame64 apple2e -listmidi

MIDI input ports:
Midi Through Port-0 (default)
Portable Grand MIDI 1 

MIDI output ports:
Midi Through Port-0 (default)
Portable Grand MIDI 1 


./mame64 apple2e -sl2 midi -midiin  "Portable Grand MIDI 1" -verbose -flop1 ../../Passport\ designs\ -\ Master\ tracks\ v1.8.dsk 
./mame64 apple2e -sl2 midi -midiin  "Portable Grand MIDI 1" -verbose -flop1 ../../Passport\ designs\ -\ MIDI8\ plus\ v1.2.dsk 
and the software seems to work to record a few notes (first I have to set one of the tracks to REC) but then crashes...

Joined: Feb 2014
Posts: 1,124
Likes: 193
G
Very Senior Member
Offline
Very Senior Member
G
Joined: Feb 2014
Posts: 1,124
Likes: 193
Running the Master Tracks software with the debugger shows that it's still reading the midi data but the program seems to stop updating the screen and responding to key strokes:

./mame64 apple2e -sl2 midi -verbose -flop1 ../../Passport\ designs\ -\ Master\ tracks\ v1.8.dsk -snapsize 560x384 -debug -midiin "Portable Grand MIDI 1" -midiout "Portable Grand MIDI 1"


I thought I'd see what registers were being read.

Code
wp c0a0,10,rw,1,{printf "pc=%x wpaddr=%x wpdata=%x a=%x",pc,wpaddr,wpdata,a; g}

Error in command: {printf "pc=%x wpaddr=%x wpdata=%x a=%x",pc,wpaddr,wpdata,a; g}

                  ^unknown command

So what was wrong with my wpset debugger command? An extra space at the end of the line... It says unknown command but doesn't tell you why exactly.



Master Tracks freezes up within just a few seconds, but hitting CTRL+F12 for reset brings it back, and if you set the track to play (F for format, then P for play) and space to start playback, it will play the first few notes it recorded before it froze up.

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


[Linked Image from i.imgur.com]


Are there any other midi programs for the Apple IIe?


Just for fun, I thought I'd type in the little Applesoft Demo program for the Passport Midi Card from the manual and fix some of the mistakes:


Code
emu.keypost([[
100 REM ------------------------------
110 REM - MIDI DATA PLAYBACK DEMO    -
120 REM -APPLESOFT BASIC-
130 REM -(C)1984 PASSPORT DESIGNS INC-
140 REM -ALL RIGHTS RESERVED-
150 REM --
160 REM - VERSIOM 1.19/6/84 -
170 REM -PROGRAMMER: BRUCE BETHKE-
200 REM -----------------------------
210 REM
220 GOSUB 2000: REM DRAW SCREEN
230 GOSUB 3000: REM DEFINE VARIABLES
235 GOTO 1000: REM BEGIN PLAYBACK
240 REM
250 REM
260 REM -----------------------------
270 REM -SUBROUTINES-
280 REM -----------------------------
290 REM
300 REM -- WAIT FOR ACIA TO CLEAR ---
310 FOR TIM = 1 TO 4: NEXT : RETURN
320 REM
330 REM
400 REM —- WAIT FOR NOTES DURATION -—
410 FOR TIM = 1 TO 4: NEXT : RETURN
420 REM
430 REM
500 REM ------TURN OFF OLD NOTE ------
510 POKE AD,OFFKY: GOSUB 310
520 POKE AD,OLDKY: GOSUB 310
530 POKE AD,VOFF: GOSUB 310
540 RETURN
550 REM
560 REM
600 REM ----- TURN ON NEW NOTE -----
610 POKE AD,KEYDN: GOSUB 310
620 POKE AD,NEXKY: GOSUB 310
630 POKE AD,VMAX: GOSUB 310
640 RETURN
650 REM
660 REM
1000 REM --------------------------
1010 REM -BEGIN PLAYBACK—
1020 REM --------------------------
1030 REM
1040 FOR N = 1 TO 24
1050 READ NEXKY
1060 NEXKY = NEXKY + T: REM TRANSPOSE
1070 GOSUB 510: REM TURN OFF PREVIOUS NOTE
1080 GOSUB 610: REM PLAY CURRENT NOTE
1090 GOSUB 410: REM WAIT ONE NOTE’S DURATION
1100 OLDKY = NEXKY: REM CURRENT NOTE BECOMES PREVIOUS NOTE
1110 NEXT N: REM GET NEXT NOTE
1120 REM
1130 REM ----------------------------
1140 REM - AT END OF DATA, TURN OFF -
1150 REM - LAST NOTE PLAYED-
1160 REM ----------------------------
1175 GOSUB 410
1180 POKE AD,OFFKY: GOSUB 310
1190 POKE AD,OLDKY: GOSUB 310
1195 POKE AD,VOFF: GOSUB 310
1197 REM
1200 REM ----------------------------
1210 REM - EXIT / TRANSPOSE PROMPT -
1220 REM ----------------------------
1240 VTAB 12: HTAB 10
1250 PRINT “CONTINUE (Y/N)";: INPUT A$
1260 IF (A$ = “Y” OR A$ = "y") THEN 1300
1270 HOME : END
1290 REM
1300 REM ---- CONTINUE PLAYBACK ---
1310 VTAB 14: HTAB 3
1320 PRINT “TRANSPOSE VALUE (+/- 0...36)”;: INPUT A$
1330 T = VAL (A$)
1340 IF (T > = — 36) AND (T < = 36) THEN 1400
1350 HOME : GOSUB 2000: GOTO 1310
1360 REM
1400 RESTORE : GOTO 1040
1410 REM =======================
1500 REM
1900 REM
2000 REM -------------------------
2010 REM -DRAW SCREEN-
2020 REM -------------------------
2040 HOME : PRINT CHR$ (7): REM BEEP!
2050 VTAB 1: HTAB 7: INVERSE
2060 PRINT “MIDI PLAYBACK DEMONSTRATION”
2070 NORMAL
2080 VTAB 3: HTAB 5: INVERSE
2090 PRINT “(C) 1984 PASSPORT DESIGNS, INC.”
2100 NORMAL
2110 VTAB 5: HTAB 5: PRINT”**********************************"
2120 RETURN
2130 REM
2140 REM
3000 REM --------------------------
3010 REM -DEFINE VARIABLES—
3020 REM --------------------------
3030 REM
3040 REM ACIA CONTROL AND DATA REGISTERS
3050 REM WITH MIDI CARD IN SLOT#2
3060 AC = 49320: REM ACIA CONTROL
3070 AD = 49321: REM ACIA DATA
3080 OFFKY = 128: REM KEY OFF STATUS BYTE
3090 KEYDN = 144: REM KEY ON STATUS BYTE
3100 VOFF = 0: REM KEY VELOCITY 0
3110 VMAX = 127: REM KEY VELOCITY = 127
3120 OLDKY = 0: REM “OLD” KEY ID NUMBER
3130 NEXKY = 0: REM “NEW” KEY ID NUMBER
3140 DUR = 50 : REM NOTE DURATION
3150 T = 0    : REM TRANSPOSITION VALUE
3160 A$ = ““  : REM INPUT STRING VARIABLE
3180 REM
3200 REM ----------------------------
3210 REM -RESET & CONFIGURE ACIA-
3220 REM ----------------------------
3230 REM
3240 POKE AC,19: POKE AC,17
3250 RETURN
3300 REM
3400 REM
4000 REM ----------------------------
4010 REM - KEY ID (NOTE) DATA TABLE -
4020 REM ----------------------------
4030 REM
4040 DATA 60,61,62,63,64,65
4050 DATA 66,67,68,69,70,71
4060 DATA 72,71,69,68,67,66
4070 DATA 65,64,63,62,61,60
4080 REM
4090 REM
]])

Joined: Feb 2014
Posts: 1,124
Likes: 193
G
Very Senior Member
Offline
Very Senior Member
G
Joined: Feb 2014
Posts: 1,124
Likes: 193
In the comments for a2midi.c, it says that Yamaha's card is on of the apple 2 cards. "Apple II 6850 MIDI card, as made by Passport, Yamaha, and others."

So let's try the RittorMusic Midi/4 sequencer, which is supposed to work with the Yamaha Music Interface.

./mame64 apple2p -sl2 midi -verbose -flop1 ../../RittorMusic\ MIDI4\ Sequencer\ -\ Side\ 1.dsk -debug -midiout "Portable Grand MIDI 1" -midiin "Portable Grand MIDI 1"


This looks very familiar:

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

but it seems to hit different addresses to get the midi data, so it just freezes if you try to play or record.


Interestingly, with the Passport Midi Mastertracks, the midi card is accessed through interrupts, and you can watch the data getting put into memory at $800-8ff (circular buffer), even after the software has frozen up. It seems to store the song data at $3000.


Joined: Mar 2001
Posts: 17,234
Likes: 260
R
Very Senior Member
Online Content
Very Senior Member
R
Joined: Mar 2001
Posts: 17,234
Likes: 260
A lot of these programs are hardcoded in terms of what slot they want the MIDI card in.

What's the 6502 doing when the Passport software freezes? It's not any kind of total crash if it's still fielding interrupts.

Joined: Feb 2014
Posts: 1,124
Likes: 193
G
Very Senior Member
Offline
Very Senior Member
G
Joined: Feb 2014
Posts: 1,124
Likes: 193
I'm not sure exactly what the code is doing, but it looks like it stops getting some of the interrupts.

There's an interrupt routine at 2572 which will do a lda $c0a8 and if there isn't data to get it will do things like update the clock. When the clock freezes it must not be getting these interrupts, and once that happens then it only gets interrupts when a midi keyboard key is pressed, and the interrupt routine processes the key data instead.



./mame64 apple2p -sl2 midi -verbose -flop1 ../../Passport\ designs\ -\ Master\ tracks\ v1.8.dsk -debug -midiout "Portable Grand MIDI 1" -midiin "Portable Grand MIDI 1"

setting a breakpoint on the clock address "bp 96,1,w"

Code
history

2676: lda $96                            $96 is the lowest part of the clock, goes from 0-23 and then cycles back to 0
2674: inc $96
2671: sta $c0a8
266F: lda #$b1
266D: inc $04
266B: sta ($04), y
2669: lda #$f8
2667: sta $a0
2665: lda $a1
2662: sta $c0ae
2660: bne $26d6
265E: dec $a0
265C: bmi $26d6
265A: bit $af
264E: bpl $265a
264C: bit $88
2608: bmi $264c
2606: bit $92
2604: beq $264c
2602: cmp $00
2600: lda $08
25FE: ldy #$00
25FD: cli
25FA: lda $c0a4
25F7: lda $c0a1
257E: jmp $25f7             so it jumps to 25f7
257C: bmi $2581            no data to get
2579: lda $c0a8                    
2578: pha
2577: tya
2576: pha
2575: txa
2574: pha
2572: lda <ACC
BFFC: jmp ($03fe)              3FE points to 2572
BFFA: sta <ACC                   interrupt gets called here, FFFE vector points to BFFA


If I don't touch any of the keys, the clock will run fine. Then if I start playing a bunch of keys it stops the clock.

When the clock stops you can manually change location $96 and the screen will update, so the main display loop is running, but it isn't getting the constant interrupts that would make the clock update.


Last edited by Golden Child; 05/31/19 01:36 PM.
Page 39 of 80 1 2 37 38 39 40 41 79 80

Link Copied to Clipboard
Who's Online Now
4 members (MrBogi, R. Belmont, 2 invisible), 207 guests, and 0 robots.
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