Active Threads | Active Posts | Unanswered Today | Since Yesterday | This Week
MAME Jump to new posts
Re: Mindset driver? TSCHAK 08/17/19 03:18 PM
Yup, it's all good. I _really_ want this driver to be good, so I will try to provide as much as I can in terms of test fixtures etc, especially since I have access to running hardware.

This machine is really amazing; a brief glimpse into a slight divergence on the tree of MS-DOS machines that was actually interesting, and easy to program for the enhanced features.
67 4,478 Read More
MAME Jump to new posts
Re: Mindset driver? Haze 08/17/19 09:12 AM
sounds like you might need to take a more intelligent approach to drawing than just copying a 224x200 bitmap then ;-) this isn't too surprising tbh, it's why back in the day MAME had dirty rectangles etc. because even PC hardware in the late 90s / 2000s couldn't always blit a full page at 60fps (of course that does fall apart once you have scrolling, which is why some ports of games ended up cropping top / bottom rather than scrolling etc.)

but yeah I imagine getting performance metrics out of this thing will be useful for improving the emulation in the end

people have had the same problem with the Virtual Boy amongst others, emulator performance was much, much better than real hardware.
67 4,478 Read More
MAME Jump to new posts
Re: Mindset driver? TSCHAK 08/17/19 06:53 AM
In the course of developing the mindset pac-man, I needed to make a tool that wrote data to an off-screen buffer, by resetting the destination buffer, and writing that result to a file, it freezes mid-output in mame, but completes on the real hardware, pasting the code here to pin it for later:
https://gist.github.com/tschak909/c52840360372373157259d4eae210440

I also notice that there is no throttling of blitter operations... larger blitter operations (e.g. trying to blit a 224x200 4bpp bitmap) take longer than a single frame on actual hardware.
https://www.youtube.com/watch?v=rFXcQzN5Eck

-Thom
67 4,478 Read More
MAME Jump to new posts
Re: TMS-09xx/1xxx thread (was New Dumps) hal3000 08/15/19 08:16 PM
Space Bridge, a Soviet G&W Fire clone by Elektronika, has been preserved in MAME smile

The ROM data has been verified to exactly match the original game. The gameplay is exactly the same but graphics is slightly changed and the setting is changed to a space theme. This is what the game looks like:

[Linked Image from i.imgur.com]

Scans of the game case and LCD background has been uploaded to the dropbox dir.

Thanks to JustDesserts for lending out the game!
3,224 1,987,926 Read More
MAME Jump to new posts
Re: ex- USSR and Soviet Bloc hardware shattered 08/15/19 04:23 PM
Originally Posted by shattered

Robotron A7150 WIP -- KES is a clone of iSBC-215 storage controller, but it's different internally (Z80 + Z80DMA + Z80CTC instead of 8089) and will need new code:


The hardware is annoyingly similar to the real thing, but not quite -- with these debugger hacks ACT passes and OS tries to boot from floppy, but halts halfway.

Code
# adapt to different memory layout on the KES; makes controller test pass
wpiset 4a,1,w,(wpdata==1 && w@92b==0xe),{ logerror "Hacking IOPB (xfer buffer)\n"; focus 0; temp1=920; w@(temp1+0xe)=4000; w@(temp1+0x16)=600; go }
bpset fcf76,1,{ cx=600; go }
# ACT passes transfer length 0, fix it
wpiset 4a,1,w,(wpdata==1 && b@92b==5),{ logerror "Hacking IOPB (read and verify)\n"; focus 0; temp1=920; w@(temp1+0x16)=200; go }
# firmware crashes, use a different command to fail hard disk test
wpiset 4a,1,w,(wpdata==1 && b@92b==3),{ logerror "Hacking IOPB (read id)\n"; focus 0; temp1=920; b@92b=8; go }


I suppose the next best thing is HLE, since hardware docs for actual storage controllers (iSBX clones) are missing.
362 299,047 Read More
MAME Jump to new posts
Re: 8bit Apples - Apple I, II, /// and the 16 bit GS Golden Child 08/15/19 04:20 PM
In the absence of the Silentype /// manual, I wanted to know how the different ESC codes worked since I couldn't get bidirectional printing to look right, sometimes it looks good and other times it looks bad.

I was able to find a table of the ESC codes along with a jump table of the routine address - 1.

ESC codes at $42F4 and Jump table is $4309

[Linked Image from i.imgur.com]

So far I've figured out that

ESC < is bidirectional printing
ESC > is unidirectional printing
ESC B is bold on
ESC b is bold off
ESC W [n] is wide width, takes a number that specifies the character width (numbers from 0 to 7, 8 acts like 0)
ESC w turns off wide width
ESC ? is remap the ESC key to character ie ESC ? | makes any occurence of | act like the ESC code
ESC = is reset the silentype to default settings
ESC . [n] is inter-character gap
ESC ^ [n] is line spacing (in 7/4 pixels, so ESC ^ 4 will feed the paper 7 pixels between lines, single line spacing is normally 6)
ESC H [chr$[n]] is move horizontally precisely [n] pixels so ESC H chr$(3) will move the printhead 3 pixels to the right.
ESC V [chr$[n]] is move vertically precisely [n] * (7/4) pixels so ESC V chr$(4) will move the printhead down exactly 7 pixels.

ESC F [n] is choose font 0,1,2 0=Normal, 1 = Compact, 2 = Roman (though they all seem identical, perhaps the "bigger" driver has the additional character sets)

ESC J [chr$([n])] is set Left Margin
ESK K [chr$([n])] is set Right Margin
450 63,432 Read More
MAME Jump to new posts
Re: 8bit Apples - Apple I, II, /// and the 16 bit GS Golden Child 08/15/19 01:27 PM
I didn't want any "page breaks" in the output, so I set the paper length to 33 inches so now everything is on a single page.

[Linked Image from i.imgur.com]
450 63,432 Read More
MAME Jump to new posts
Re: 8bit Apples - Apple I, II, /// and the 16 bit GS Golden Child 08/14/19 09:08 AM
It's alive.....it's ALLLIVEEE!

To get the silentype demo to run I had to do some brain surgery because the BGRAF.INV on the silentype disk seems to crash.
so I changed line 50 to use the bgraf on the business basic v1.23 disk.

30 INVOKE "PSCREEN",".D1/BGRAF.INV"

and why not see the graphics too:

55 PERFORM GRAFIXON

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

There's (almost) no limit to what the Silentype /// can do! It's all up to you!

[Linked Image from i.imgur.com]
450 63,432 Read More
MAME Jump to new posts
Re: 8bit Apples - Apple I, II, /// and the 16 bit GS Spk 08/14/19 03:06 AM
Awesome!

Reminds me of when I used 'Convert 3200' (Brutal Deluxe Software) to alter/enhance the images I'd scan in to my IIgs with a ThunderScan (https://www.computerhistory.org/collections/catalog/102673216).
450 63,432 Read More
MAME Jump to new posts
Re: 8bit Apples - Apple I, II, /// and the 16 bit GS R. Belmont 08/14/19 02:50 AM
The IIgs 1 MHz-side sync was stealing way too many cycles, which broke 3200 color picture displayers (these show 16 unique colors per scanline by racing the beam). It's better now.

[Linked Image from rbelmont.mameworld.info]
[Linked Image from rbelmont.mameworld.info]
[Linked Image from rbelmont.mameworld.info]
[Linked Image from rbelmont.mameworld.info]
[Linked Image from rbelmont.mameworld.info]
[Linked Image from rbelmont.mameworld.info]
[Linked Image from rbelmont.mameworld.info]
450 63,432 Read More
MAME Jump to new posts
Re: 8bit Apples - Apple I, II, /// and the 16 bit GS R. Belmont 08/13/19 05:36 PM
Very cool!
450 63,432 Read More
MAME Jump to new posts
Re: 8bit Apples - Apple I, II, /// and the 16 bit GS Golden Child 08/13/19 05:34 PM
It's showing some signs of life once I interpret the stepper motors and the left margin switch, and process the bits for the printhead.

OPEN #1,".SILENTYPE"
PRINT #1;"APPLE /// SILENTYPE"

Code


0xFFDA write data=00   m_shift_reg=0600
0xFFDA write data=03   m_shift_reg=0003
0xc05a read , clock in data written to ffda : 0003
silentype m_xpos=136 m_ypos=02         headbits=0000000   0
...............***..****..****..*.....*****................................***...***..*.....*****.*...*.*****.*...*.****..*****.................................
..............*...*.*...*.*...*.*.....*...............*.....*.....*.......*...*...*...*.....*.....*...*...*...*...*.*...*.*.....................................
..............*...*.*...*.*...*.*.....*..............*.....*.....*........*.......*...*.....*.....**..*...*...*...*.*...*.*.....................................
..............*...*.****..****..*.....****..........*.....*.....*..........***....*...*.....****..*.*.*...*....***..****..****..................................
..............*****.*.....*.....*.....*............*.....*.....*..............*...*...*.....*.....*..**...*.....*...*.....*.....................................
..............*...*.*.....*.....*.....*...........*.....*.....*...........*...*...*...*.....*.....*...*...*.....*...*.....*.....................................
..............*...*.*.....*.....*****.*****................................***...***..*****.*****.*...*...*.....*...*.....*****.................................
................................................................................................................................................................
0
0xFFDA write data=00   m_shift_reg=0000
0xFFDA write data=90   m_shift_reg=0090
0xc05a read , clock in data written to ffda : 0090
silentype m_xpos=131 m_ypos=08         headbits=0000000   0
....................*...............*.........**........*.......*......*..*......**.........................................................
....................*...............*........*..*.......*.................*.......*.........................................................
...............***..****...***...****..***...*.....****.*.**...**......*..*..*....*....*.*..*.**...***..****...****.*.**....................
..................*.*...*.*.....*...*.*...*.***...*...*.**..*...*......*..*.*.....*...*.*.*.**..*.*...*.*...*.*...*.**..*...................
...............****.*...*.*.....*...*.****...*.....****.*...*...*......*..**......*...*.*.*.*...*.*...*.****...****.*.......................
..............*...*.*...*.*.....*...*.*......*........*.*...*...*...*..*..*.*.....*...*.*.*.*...*.*...*.*.........*.*.......................
...............****.****...***...****..***...*.....***..*...*..***...**...*..*...***..*...*.*...*..***..*.........*.*.......................
............................................................................................................................................
450 63,432 Read More
MAME Jump to new posts
Re: 8bit Apples - Apple I, II, /// and the 16 bit GS Golden Child 08/12/19 01:08 PM
So I happened to read an article today by Andy Hertzfeld on folklore.org and it got me thinking, maybe I should look at the 6522 VIA registers for silentype activity.

https://www.folklore.org/StoryView.py?project=Macintosh&story=Apple_II_Mouse_Card.txt

Quote

Bud Tribble had written the initial code to drive the mouse on the Macintosh, but I had to maintain it, so I was familiar with how it worked. I had used a 6522 chip the previous year, since the Apple III had one, which I had programmed to shift bits out to the Silentype thermal printer. I realized that all that was required to interface a mouse to the Apple III was to make a simple connector to route the appropriate signals to the proper pins.


so let's fire up Business Basic v1.23 and see what happens:

OPEN #1,".SILENTYPE"

The "D" 6522 via is mapped in at FFD0-FFDF. A is the shift register address, so let's watch $FFDA.

Code
wp ffda,1,w,1,{printf "f1=%x f2=%x",b@f1,b@f2}

f1=0 f2=6
Stopped at watchpoint 3 writing 00 to 0000FFDA (PC=4801)
Stopped at watchpoint 3 writing 06 to 0000FFDA (PC=480D)
f1=0 f2=C
Stopped at watchpoint 3 writing 00 to 0000FFDA (PC=4801)
Stopped at watchpoint 3 writing 0C to 0000FFDA (PC=480D)
f1=0 f2=9
Stopped at watchpoint 3 writing 00 to 0000FFDA (PC=4801)
Stopped at watchpoint 3 writing 09 to 0000FFDA (PC=480D)
f1=0 f2=3
Stopped at watchpoint 3 writing 00 to 0000FFDA (PC=4801)
Stopped at watchpoint 3 writing 03 to 0000FFDA (PC=480D)
f1=0 f2=6
f1=0 f2=C
f1=0 f2=9
f1=0 f2=3


Code
47F3: AD 5E C0 lda $c05e
47F6: AD DF FF lda $ffdf
47F9: 48       pha
47FA: 09 80    ora #$80         // set the clock to 1mhz
47FC: 8D DF FF sta $ffdf      // store into E environment register
47FF: A5 F1    lda $f1
4801: 8D DA FF sta $ffda     // store the first byte (from $F1) into FFDA
4804: AD DD FF lda $ffdd    // poll the IFR flags until the shift is done
4807: 29 04    and #$04
4809: F0 F9    beq $4804
480B: A5 F2    lda $f2
480D: 8D DA FF sta $ffda   // store the second byte (from $F2) into FFDA
4810: AD DD FF lda $ffdd   // poll the flags until shift is done
4813: 29 04    and #$04
4815: F0 F9    beq $4810
4817: AD 5B C0 lda $c05b     // this part must be to "clock" it into the silentype's internal registers
481A: AD 5F C0 lda $c05f
481D: EA       nop
481E: AD 5E C0 lda $c05e
4821: EA       nop
4822: AD 5A C0 lda $c05a
4825: 68       pla
4826: 8D DF FF sta $ffdf     // restore E register
4829: 60       rts

I edited a bunch of stuff out, but you can see the pattern 6,c,9,3,6,c,9,3 which is pretty clearly the horizontal stepper motor which is bits 0-3. It appears that it writes two bytes in succession to the shift register for the silentype.


450 63,432 Read More
MAME Jump to new posts
Re: How do you keep debugger windows from coming up? Vas Crabb 08/12/19 03:20 AM
It automatically saves the debugger window layout at the same time that it saves input mappings - it works the same way. The data isn't persistent while MAME is running, so if you start without the debugger, nothing handles it and it won't get saved out again.
1 160 Read More
MAME Jump to new posts
Re: 8bit Apples - Apple I, II, /// and the 16 bit GS R. Belmont 08/11/19 11:22 PM
Yup. What's surprising is how much of it made it into the //e without anyone noticing.
450 63,432 Read More
MAME Jump to new posts
Re: 8bit Apples - Apple I, II, /// and the 16 bit GS Golden Child 08/11/19 09:45 PM
Testing my theory, if I put a debugger guard for fetching the x byte the 100 GOTO 100 program seems to run without incident.
Code
                     if (!machine().side_effects_disabled())
                        // fetch the "X byte"
                        m_indir_bank = *apple3_bankaddr(~0, m_zpa ^ 0x0C00) & 0x8f;


The Apple /// is truly weird and wonderful.
450 63,432 Read More
MAME Jump to new posts
Re: 8bit Apples - Apple I, II, /// and the 16 bit GS R. Belmont 08/11/19 08:45 PM
That's quite possible, I haven't looked at that code in a while smile
450 63,432 Read More
MAME Jump to new posts
Re: 8bit Apples - Apple I, II, /// and the 16 bit GS Golden Child 08/11/19 08:10 PM
Hi RB,

I looked at apple3_memory_r and it looked like it guarded most things, perhaps it is getting confused with the fetching of the xbyte causing side effects by changing m_indir_bank?

(I probably don't know what I'm talking about since I'm new to apple 3 stuff)
450 63,432 Read More
MAME Jump to new posts
Re: 8bit Apples - Apple I, II, /// and the 16 bit GS R. Belmont 08/11/19 04:26 PM
That means some read-activated softswitch doesn't have a debugger guard on it, although everything in the /// should.
450 63,432 Read More
MAME Jump to new posts
Re: 8bit Apples - Apple I, II, /// and the 16 bit GS Golden Child 08/11/19 04:01 PM
More fiddling with the Apple /// driver: There's some major weirdness with Business Basic and using the mame debugger.

It seems that there's a strange interaction when the debugger is active. If I type in the simplest of basic programs:

100 GOTO 100
RUN

It will run fine with no debugger.

With the debugger active, it seems that the more debugger windows I open (I think at least a couple of memory windows) will cause the running program to either drop out to a command prompt or get a ?SYNTAX ERROR IN 100 error. Sometimes it takes a while for it to happen.

./mame64 apple3 -flop1 Apple3BusBasic1.23.dsk -console -window -debug
[Linked Image from i.imgur.com]
450 63,432 Read More
MAME Jump to new posts
How do you keep debugger windows from coming up? Golden Child 08/11/19 03:00 PM
Hi guys,

How do you keep debugger windows from coming up? I've opened a bunch of debugger windows ('cause it's just so easy to hit CTRL+M for memory and CTRL+D for disassembly) and now I've got about 20 windows that keep coming up on launching mame. I close them and the next time I launch, all 20 keep showing up.

When does the debugger windows layout get saved? Can I explicitly get it to save my current layout?

edit:

If I launch from the command line without the "-debug" parameter, then launch with the "-debug" parameter it seems to clear the debug layout stored.
1 160 Read More
MAME Jump to new posts
Re: 8bit Apples - Apple I, II, /// and the 16 bit GS Darkstar 08/10/19 11:35 PM
Originally Posted by Olivier Galibert
Originally Posted by Darkstar
I guess what rfka01 is asking is, would it be possible to add such support to the OSD layer for those kind of scanner devices?

Something something send PR

Nah, I better leave that to someone who actually cares about that feature. I was just pointing out that there *is* an API for scanners, at least on Windows.

But I misunderstood rfka01 so it doesn't matter anyways ;-)
450 63,432 Read More
MAME Jump to new posts
Re: 8bit Apples - Apple I, II, /// and the 16 bit GS rfka01 08/10/19 08:49 PM
I mangled up two ideas in my posts before: One thing was taking snaps with a USB connected webcam instead of supplying PNG graphics to the emulated scanner. The other thing was emulating a hand scanner within MAME. Pernod and RB got it right.
450 63,432 Read More
MAME Jump to new posts
Re: 8bit Apples - Apple I, II, /// and the 16 bit GS R. Belmont 08/10/19 08:12 PM
Eh? I thought his clarification was that he was talking about emulating hand scanners using e.g. the picture image device, not actually supporting them for input.

I'd like to emulate the Cauzin Softstrip reader for giggles - we have enough old magazine scans to make it worthwhile.
450 63,432 Read More
MAME Jump to new posts
Re: 8bit Apples - Apple I, II, /// and the 16 bit GS Olivier Galibert 08/10/19 07:53 PM
Originally Posted by Darkstar
I guess what rfka01 is asking is, would it be possible to add such support to the OSD layer for those kind of scanner devices?


Something something send PR
450 63,432 Read More
Page 1 of 8 1 2 3 4 5 6 7 8
Who's Online Now
2 registered members (mixmaster, Dorando), 91 guests, and 3 spiders.
Key: Admin, Global Mod, Mod
ShoutChat Box
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics8,673
Posts113,788
Members4,852
Most Online418
Aug 14th, 2019
Powered by UBB.threads™ PHP Forum Software 7.7.3