Jump to content
IGNORED

Potential new hardware


foft

Recommended Posts

Very exciting project! I look forward to the stretch goals!

 

Won't it be impossible to accurately support the VBXE, as it has a 21-bit palette and the DE1 only supports 4-bit/channel (12-bit)? DE2 supports 10bit/channel, but is very pricey (~$500 retail vs ~$200 for DE1). Of course, if this does end up being a hardware product, then obviously a board could be designed from scratch (around the same FPGA or other), like with the VBXE, and could use the same video DAC. If a commodity FPGA board is to be used, does anyone know an affordable one with at least a 21/24-bit video DAC (7/8-bit/channel)?

Edited by pedalpowered
Link to comment
Share on other sites

Thanks for trying it vanfanel. Yeah not so much running yet (2%?!) but getting closer I hope. Now pmgs are done I hope that fixing a few cycle exact issues will fix many games. Also before real joysticks I'll wire up some keys...

 

Agree the DE1 does not have enough bits for video really. Could put a dac on gpio but not sure we'll have enough spare after porta, portb(4 sticks:)), trig, consol, cartridge,eci,keyboard,sio motor etc.

Link to comment
Share on other sites

A few more pics...

 

Alternative reality intro - lots of colour changes

IMG_1110.jpg

 

Gunpowder Charlie - showing off some PMGs

IMG_1117.jpg

 

Unity part - interesting intra-scanline mode changes. Timing slightly off.. Better now but still off by some colour clocks.

IMG_1108.jpg

 

Star Raiders - just because. Turbo mode stops the explosion slowdowns:)

IMG_1112.jpg

 

Board modifications to add command channel to serial port. This allows loading from disk via a straight wired rs232 cable and aspeqt. It uses spare pins on the existing max232. GPIO->tin2, tout2->serial port.

IMG_1133.jpg

IMG_1134.jpg

Edited by foft
  • Like 4
Link to comment
Share on other sites

I've uploaded a new sof file to the url I posted earlier.

 

Changes:

i) Added 320KB - Compy Shop mode.

ii) Acid test now completes rather than crashing (cpu bug fix). 27 tests pass.

iii) Many timing fixes mean that about 50% of software seems to run.

iv) SIO output fixed - can now save to disk.

v) Added virtual joystick. Button using DE1 keys, keys are arrow keys on ps2 keyboard.

vi) Switches cleaned up. Left:turbo, Right:reset, Second right:Hard reset.

vii) GTIA modes

viii) Collision detection

ix) PMGs

 

Please give it a try. Expect lots of bugs for now. If you figure out the cause of any though be interested to hear.

 

The next version will be towards the end of August and should run closer to 100% of software...

Edited by foft
  • Like 4
Link to comment
Share on other sites

@foft: I don't know what's wrong with this version, but I can't see the BASIC or the rom menu anymore.

Just in case, I reflashed the ATARIOSB.ROM to and the ATARIBAS.ROM files to their correct flash addresses.

Since I'm a linux-only user, I used the DE1 control panel replacement (wich is a command-line program) that can be found here:

ftp://ftp.zytor.com/pub/fpga/de1flash

This control panel replacement is used like this: first we setup the DE1 for control panel interfacing with:

./quartus_pgm -m jtag -o 'p;de1flash.sof'

(the de1flash.sof is included in the control panel replacement download archive, of course).

Then we can write the ROM files to flash with the script called de1flash.tcl, wich is also included with the cp replacement download file :

./quartus_stp -t de1flash.tcl write ~/ATARI/ATARIOSB.ROM@0x0000
./quartus_stp -t de1flash.tcl write ~/ATARI/ATARIBAS.ROM@0xc000

 

After that, I simply upload the EXPERIMENT.SOF in JTAG mode using the quartus programmer, and I swear it used to work with the first experimental version. Has anything changed?

I also tried both vga-to-scart and normal vga cable. There's video signal but screen remains black. Pressing F1 on the PS/2 keyboard causes the cipher '11' to appear on the board's 7-segment display, but that's all.

Maybe you could upload a ready-to-test POF file with included rom data? And I would be able to test software A LOT faster if it could be loaded from SD :P

 

Eagerly waiting to test like crazy! Thanks :D

Edited by vanfanel
Link to comment
Share on other sites

Did you adjust the switches? Set them all down.

 

Edit: The second from right used to be 'audio enable' when on/up. It is now hard reset when on/up. Sorry my earlier post was not very explicit.

Edited by foft
Link to comment
Share on other sites

Still waiting for my DE1 (customs issues should hopefully be solved, but now the package is travelling between UPS stations), in the meanwhile I have a noob question:

 

What kind of video standard are you outputting?

 

Can I hook it up to a VGA monitor (~30kHz minimum horizontal rate), or do I need to build a VGA->SCART adapter?

 

You seem to have some adapter board sitting in your VGA->TV (SCART?) connection. Could you post a link to the schematics / building instructions?

 

so long,

 

Hias

Link to comment
Share on other sites

Good question. It's currently rgb at approx pal timings. Composite sync is on hsync iirc - I'll double check(checked.. It is). My adaptor board isn't something you need to build. It is a VGA to scart board which has counts sync pulses and disables the output if out of range. Overkill - but 10 years ago when I made it I worried about breaking my tv! For the tv to process rgb I think it's just important to drive pin 16 high. Not sure about pin 8 - think I'm using 12v to select 4:3.

 

I'll add NTSC and scan doubling in August.

 

Edit: This page has good info- http://members.optusnet.com.au/eviltim/scart.htm . Also http://www.idiots.org.uk/vga_rgb_scart/ . Guess they can be bought... not sure where.

Edited by foft
Link to comment
Share on other sites

Wow, I've been waiting to see something like this for a long time! Very impressive so far.

 

I always wondered why the C64 and Amiga saw so much love when it came to FPGA reimplementations.

 

Are there plans to support SIO devices eventually? At least enough to get floppies and printers going? I can understand dropping cassette support.

 

Would cartridges and PBI be a serious hassle in a future revision after it's all workin?

Link to comment
Share on other sites

SIO is working with aspeqt. It should work with real devices fairly simply. Basically just a 10502pc adaptor(+cassette motor and audio line). I bought a 1050,sio2sd and 1010 to test with. Also some cartridges. I do not have any eci or pbi devices - donations accepted:) I'm thinking eci rather than pbi - fewer pins.

 

I'm also going to have full joystick ports. ie input/output with paddle and light gun support. Preferably 4 ports (2 input only since portb output is bank switching).

Edited by foft
Link to comment
Share on other sites

Good question. It's currently rgb at approx pal timings. Composite sync is on hsync iirc - I'll double check(checked.. It is). My adaptor board isn't something you need to build. It is a VGA to scart board which has counts sync pulses and disables the output if out of range. Overkill - but 10 years ago when I made it I worried about breaking my tv! For the tv to process rgb I think it's just important to drive pin 16 high. Not sure about pin 8 - think I'm using 12v to select 4:3.

 

I'll add NTSC and scan doubling in August.

 

Edit: This page has good info- http://members.optus...iltim/scart.htm . Also http://www.idiots.or.../vga_rgb_scart/ . Guess they can be bought... not sure where.

Thanks a lot for the info, worked fine! But I think I have to wait until you implemented scan-doubling to do some more extensive tests, the only PAL-RGB capable device I own is my TV in the living room.

 

I tested your latest core, but it doesn't seem to work too well. The symptoms are like an Atari with broken memory:

 

In about 50% after startup I just get a blank screen (video output is working fine, checked it with my scope). Sometimes the Atari boots directly into memory selftest, with a lot of garbage on screen. In some occasions the Atari tried to boot (TxD led flickering) and went to the READY prompt (didn't have any SIO devices connected). But I couldn't enter anything, and sometimes random characters started to appear on the screen.

 

Also tried hard reset instead of power-up, same results though.

 

so long,

 

Hias

Link to comment
Share on other sites

Good to hear your board arrived and your rgb scart adaptor worked. I'll do scan doubling and NTSC as soon as I get back. My vga monitor only does >56Hz so I can't test scan doubled pal...

 

As for the memory test issue... well it's good news it works to some degree! It's reliable for me so this must be differences between our boards.

 

When you press keys do you get the scan code on the hex digits? This is done prior to feeding it to pokey. I've only tried with a simple ps2 keyboard, not one that also supports USB.

 

Wonder if the flash chip has been changed. The sram is really quick (10ns) so running at 25MHz does not challenge it. However the flash rom is too slow for 25MHz, so I have a wait state on access. I might need two for some boards.

 

That said since it boots sometimes perhaps it's a reset issue.

Link to comment
Share on other sites

Few more questions...

 

Any more luck programming the sof with sw0 up then moving it down after? This holds the CPU in reset until the board fully initialised.

 

Please will you post which sram and flash chips are on your de1?

Link to comment
Share on other sites

Good to hear your board arrived and your rgb scart adaptor worked. I'll do scan doubling and NTSC as soon as I get back. My vga monitor only does >56Hz so I can't test scan doubled pal...

Ah, that could get tricky. Seems most LCD monitors need >56Hz as well... I'll check if I can find some PAL RGB capable device or a RGB->composite encoder.

 

When you press keys do you get the scan code on the hex digits? This is done prior to feeding it to pokey. I've only tried with a simple ps2 keyboard, not one that also supports USB.

Yes this works. Also console keys (F2-F4) seem to work, once I was able to boot into selftest and then use select/start to run the audio video test.

 

Wonder if the flash chip has been changed. The sram is really quick (10ns) so running at 25MHz does not challenge it. However the flash rom is too slow for 25MHz, so I have a wait state on access. I might need two for some boards.

Flash is a S29GL032N90FTI04, 90ns access time according to datasheet, SRAM is a IS61WV25616EDBLL-10TLI.

 

post-9299-0-40606700-1373554911_thumb.jpg

 

That said since it boots sometimes perhaps it's a reset issue.

Well, this could also be the cause - or maybe some timing issues in the FPGA code?

 

Any more luck programming the sof with sw0 up then moving it down after? This holds the CPU in reset until the board fully initialised.

I converted the sof to pof and programmed it to the eeprom. Then used the power switch to get it going :) Also tried hard/soft reset before and after powerup in various combinations, but this didn't seem to make a big difference.

 

If this were a real Atari I'd say ROM access is fine as the character font in the ROM displays just fine, but the RAM contents seem to be changing sometimes. For example Atari boots to READY prompt, then after a while a few strange characters appear on screen, or the foreground color changes.

 

BTW: also tried setting the left switch (turbo?) to up, but then I never got it to boot.

 

so long,

 

Hias

Link to comment
Share on other sites

Thanks. Since its running at 25MHz each cycle is 40ns. So two cycles is 80ns. Which is less than 90ns... I think my board has a faster ROM. For Antic access I set up the register the prior clock so we have almost all 80ns. For CPU (t65) I think it's direct from combinatorial logic, so we have substantially less. So it's likely more stable for Antic than CPU (though unstable for both).

 

With 'turbo' mode it enables the CPU every cycle instead of every 14 cycles. The board is still clocked at the same speed. Of course much code does not expect to run that fast, though I thought the os booted ok (without sio).

Edited by foft
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...