The online community for MiSTer FPGA enthusiasts
https://misterfpga.org/
Thanks for your advice. I analyzed the abnormal part using this Free BIOS and its source, and somehow I was able to boot MS-DOS, so I uploaded the RTL.
Code: Select all
cat fmt_dos.rom fmt_dic.rom fmt_fnt.rom fmt_f20.rom fmt_sys.rom > boot.rom
yes. I was also thinking about porting (stealing?) from the SS core for the SCSI HDD.kconger wrote: ↑Sat Oct 29, 2022 10:46 pm Hi puu-san
Grabulosaure's SparcStation core has SCSI hard drive and cdrom partially implemented. Not sure if it's helpful to you. https://github.com/Grabulosaure/ss
The core assumes FM TOWNS with 80386DX. The 386SX has a different memory map, so it will not work properly with the BIOS for that model. The 486 model BIOS does not prepare registers around the cache, so it may not work.thorr wrote: ↑Sun Oct 30, 2022 2:22 am I don't know what an FM Towns even is, so I looked it up. It seems that there are many things that exist called FM Towns including PC's of various specs and consoles. What model is this core trying to replicate? It looks like a PC. What is unique about an FM Towns PC vs. a standard PC, besides possibly requiring Japanese (not sure if that is required or not either)?
Thank you for the work. I will check it this weekend.puu wrote: ↑Sat Oct 29, 2022 2:18 pmThanks for your advice. I analyzed the abnormal part using this Free BIOS and its source, and somehow I was able to boot MS-DOS, so I uploaded the RTL.
http://fpga8801.seesaa.net/archives/20221029-1.html
Code: Select all
$ unqar -l release-TOWNS_221029.qar
Going to extract 269 files.
qar_info.json
CPU/ao486/ao486.v
CPU/ao486/ao486_hw.tcl
CPU/ao486/avalon_io.v
CPU/ao486/defines.v
CPU/ao486/exception.v
CPU/ao486/global_regs.v
CPU/ao486/startup_default.v
MiSTer/sys/alsa.sv
MiSTer/sys/arcade_video.v
MiSTer/sys/ascal.vhd
MiSTer/sys/audio_out.v
MiSTer/sys/build_id.tcl
MiSTer/sys/ddr_svc.sv
MiSTer/sys/gamma_corr.sv
MiSTer/sys/hdmi_config.sv
MiSTer/sys/hps_io.v
MiSTer/sys/hq2x.sv
MiSTer/sys/i2c.v
MiSTer/sys/i2s.v
MiSTer/sys/iir_filter.v
MiSTer/sys/ltc2308.sv
MiSTer/sys/mcp23009.sv
MiSTer/sys/mt32pi.sv
MiSTer/sys/osd.v
MiSTer/sys/pll_audio.qip
MiSTer/sys/pll_audio.v
MiSTer/sys/pll_audio/pll_audio_0002.qip
MiSTer/sys/pll_audio/pll_audio_0002.v
MiSTer/sys/pll_cfg.qip
MiSTer/sys/pll_cfg.v
MiSTer/sys/pll_cfg/altera_pll_reconfig_core.v
MiSTer/sys/pll_cfg/altera_pll_reconfig_top.v
MiSTer/sys/pll_hdmi.qip
MiSTer/sys/pll_hdmi.v
MiSTer/sys/pll_hdmi/pll_hdmi_0002.qip
MiSTer/sys/pll_hdmi/pll_hdmi_0002.v
MiSTer/sys/pll_hdmi_adj.vhd
MiSTer/sys/pll_q17.qip
MiSTer/sys/scandoubler.v
MiSTer/sys/scanlines.v
MiSTer/sys/sd_card.sv
MiSTer/sys/sigma_delta_dac.v
MiSTer/sys/spdif.v
MiSTer/sys/sys.qip
MiSTer/sys/sys.tcl
MiSTer/sys/sys_analog.tcl
MiSTer/sys/sys_dual_sdram.tcl
MiSTer/sys/sys_top.sdc
MiSTer/sys/sys_top.v
MiSTer/sys/sysmem.sv
MiSTer/sys/vga_out.sv
MiSTer/sys/video_cleaner.sv
MiSTer/sys/video_mixer.sv
PS2IF/KBIF.vhd
TOWNS/CDC/cdif.vhd
TOWNS/CMOS/cmos.mif
TOWNS/CMOS/cmosram.vhd
TOWNS/CRTCREG.vhd
TOWNS/DMAC/busbusy.vhd
TOWNS/DMAC/dma1ch.vhd
TOWNS/DMAC/dma71071.vhd
TOWNS/FDC/MiST8877.vhd
TOWNS/IDROM/IDROM.cmp
TOWNS/IDROM/IDROM.mif
TOWNS/IDROM/IDROM.qip
TOWNS/IDROM/IDROM.vhd
TOWNS/IDROM/IDROMIF.vhd
TOWNS/IDROM/IDSROM.vhd
TOWNS/KBIF/KBCONV.vhd
TOWNS/KBIF/kbtbl.cmp
TOWNS/KBIF/kbtbl.mif
TOWNS/KBIF/kbtbl.qip
TOWNS/KBIF/kbtbl.vhd
TOWNS/MiSTer/TOWNS.sv
TOWNS/MiSTer/pll.cmp
TOWNS/MiSTer/pll.qip
TOWNS/MiSTer/pll.sip
TOWNS/MiSTer/pll.spd
TOWNS/MiSTer/pll.v
TOWNS/MiSTer/pll/pll_0002.qip
TOWNS/MiSTer/pll/pll_0002.v
TOWNS/MiSTer/pll_sim/pll.vo
TOWNS/PIC/pic8259.vhd
TOWNS/PTC/PTC1ch.vhd
TOWNS/PTC/PTC8253.vhd
TOWNS/SPRITE/PATRAM.vhd
TOWNS/TOWNSMiSTer.vhd
TOWNS/VIDCREG.vhd
TOWNS/anapal.vhd
TOWNS/asmicont.bsf
TOWNS/asmicont.cmp
TOWNS/asmicont.inc
TOWNS/asmicont.qip
TOWNS/asmicont.vhd
TOWNS/asmicont_inst.vhd
TOWNS/calcres.vhd
TOWNS/debug/ixcount.vhd
TOWNS/debug/stclk.vhd
TOWNS/digpal.vhd
TOWNS/dpmreg.vhd
TOWNS/fdcont.vhd
TOWNS/inicopy.vhd
TOWNS/inttim2.vhd
TOWNS/iocont.vhd
TOWNS/iorw.vhd
TOWNS/jis2rom/jis2rom.cmp
TOWNS/jis2rom/jis2rom.mif
TOWNS/jis2rom/jis2rom.qip
TOWNS/jis2rom/jis2rom.vhd
TOWNS/kbint.vhd
TOWNS/kcgmemcont.vhd
TOWNS/knjjis2rom.vhd
TOWNS/lenwait.vhd
TOWNS/mem_addr_pkg_MiSTer.vhd
TOWNS/memclr.vhd
TOWNS/memcont.vhd
TOWNS/memorymap.vhd
TOWNS/padio.vhd
TOWNS/ressel.vhd
TOWNS/rextreg.vhd
TOWNS/rkanjcg.vhd
TOWNS/rtc58321.vhd
TOWNS/rvidreg.vhd
TOWNS/scsiif.vhd
TOWNS/sdramc_new.vhd
TOWNS/timerint.vhd
TOWNS/tlb_memtype.vhd
TOWNS/tvideo.vhd
TOWNS/tvwrote.vhd
TOWNS/v17/CMOS.cmp
TOWNS/v17/CMOS.qip
TOWNS/v17/CMOS.vhd
TOWNS/v17/TOWNS.qpf
TOWNS/v17/TOWNS.qsf
TOWNS/v17/TOWNS_M.qsf
TOWNS/v17/TOWNS_M_assignment_defaults.qdf
TOWNS/v17/build_id.v
TOWNS/v17/linebuf.cmp
TOWNS/v17/linebuf.qip
TOWNS/v17/linebuf.vhd
TOWNS/v17/mainpll.sip
TOWNS/v17/mainpll.spd
TOWNS/v17/mistram.cmp
TOWNS/v17/mistram.qip
TOWNS/v17/mistram.vhd
TOWNS/v17/release-TOWNS.qsf
TOWNS/v17/rlinebuf.cmp
TOWNS/v17/rlinebuf.qip
TOWNS/v17/rlinebuf.vhd
TOWNS/v17/video_sdram.stp
TOWNS/v17/vidpll.sip
TOWNS/v17/vidpll.spd
TOWNS/v17/vidpll_sim/altera_pll_reconfig/altera_pll_reconfig_core.v
TOWNS/v17/vidpll_sim/altera_pll_reconfig/altera_pll_reconfig_top.v
TOWNS/v17/vidpll_sim/altera_pll_reconfig/altera_std_synchronizer.v
TOWNS/v17/vidpll_sim/vidpll.v
TOWNS/videocont.vhd
TOWNS/vmaskreg.vhd
TOWNS/vsint.vhd
rtc/rtcbody.vhd
sound/FMcommon/FMreg.vhd
sound/FMcommon/MUL16x17.qip
sound/FMcommon/MUL16x17.vhd
sound/FMcommon/TL.mif
sound/FMcommon/TLtbl.qip
sound/FMcommon/TLtbl.vhd
sound/FMcommon/envcont.vhd
sound/FMcommon/envelope_pkg.vhd
sound/FMcommon/muls16xu16.vhd
sound/OPN/OPN2.vhd
sound/OPN/OPNFM.vhd
sound/OPN/OPNREG.qip
sound/OPN/OPNREG.vhd
sound/cosn.mif
sound/cosnrom.qip
sound/cosnrom.vhd
sound/mult16.qip
sound/mult16.vhd
sound/sinn.mif
sound/sinnrom.qip
sound/sinnrom.vhd
sound/sintbl.vhd
sound/sinw.mif
sound/sinwrom.qip
sound/sinwrom.vhd
cpu/ao486/autogen/avalon_io.v
cpu/ao486/autogen/avalon_mem.v
cpu/ao486/autogen/dcache.v
cpu/ao486/autogen/dcache_control_ram.v
cpu/ao486/autogen/decode_commands.v
cpu/ao486/autogen/defines.v
cpu/ao486/autogen/exception.v
cpu/ao486/autogen/execute_commands.v
cpu/ao486/autogen/icache.v
cpu/ao486/autogen/icache_control_ram.v
cpu/ao486/autogen/memory_read.v
cpu/ao486/autogen/memory_write.v
cpu/ao486/autogen/microcode_commands.v
cpu/ao486/autogen/prefetch_control.v
cpu/ao486/autogen/read_commands.v
cpu/ao486/autogen/tlb.v
cpu/ao486/autogen/write_commands.v
cpu/ao486/common/simple_fifo.v
cpu/ao486/common/simple_mult.v
cpu/ao486/common/simple_ram.v
cpu/ao486/memory/avalon_mem.v
cpu/ao486/memory/cache_data_ram.v
cpu/ao486/memory/dcache.v
cpu/ao486/memory/dcache_control_ram.v
cpu/ao486/memory/dcache_matched.v
cpu/ao486/memory/dcache_read.v
cpu/ao486/memory/dcache_to_icache_fifo.v
cpu/ao486/memory/dcache_write.v
cpu/ao486/memory/icache.v
cpu/ao486/memory/icache_control_ram.v
cpu/ao486/memory/icache_matched.v
cpu/ao486/memory/icache_read.v
cpu/ao486/memory/link_dcacheread.v
cpu/ao486/memory/link_dcachewrite.v
cpu/ao486/memory/link_readburst.v
cpu/ao486/memory/link_readcode.v
cpu/ao486/memory/link_readline.v
cpu/ao486/memory/link_writeburst.v
cpu/ao486/memory/link_writeline.v
cpu/ao486/memory/memory.v
cpu/ao486/memory/memory_read.v
cpu/ao486/memory/memory_write.v
cpu/ao486/memory/prefetch.v
cpu/ao486/memory/prefetch_control.v
cpu/ao486/memory/prefetch_fifo.v
cpu/ao486/memory/tlb.v
cpu/ao486/memory/tlb_regs.v
cpu/ao486/pipeline/condition.v
cpu/ao486/pipeline/decode.v
cpu/ao486/pipeline/decode_commands.v
cpu/ao486/pipeline/decode_prefix.v
cpu/ao486/pipeline/decode_ready.v
cpu/ao486/pipeline/decode_regs.v
cpu/ao486/pipeline/execute.v
cpu/ao486/pipeline/execute_commands.v
cpu/ao486/pipeline/execute_divide.v
cpu/ao486/pipeline/execute_multiply.v
cpu/ao486/pipeline/execute_offset.v
cpu/ao486/pipeline/execute_shift.v
cpu/ao486/pipeline/fetch.v
cpu/ao486/pipeline/microcode.v
cpu/ao486/pipeline/microcode_commands.v
cpu/ao486/pipeline/pipeline.v
cpu/ao486/pipeline/read.v
cpu/ao486/pipeline/read_commands.v
cpu/ao486/pipeline/read_debug.v
cpu/ao486/pipeline/read_effective_address.v
cpu/ao486/pipeline/read_mutex.v
cpu/ao486/pipeline/read_segment.v
cpu/ao486/pipeline/write.v
cpu/ao486/pipeline/write_commands.v
cpu/ao486/pipeline/write_debug.v
cpu/ao486/pipeline/write_register.v
cpu/ao486/pipeline/write_stack.v
cpu/ao486/pipeline/write_string.v
lib/addsat.vhd
lib/average.vhd
lib/crcgenn.vhd
lib/datfifo.vhd
lib/pargen.vhd
lib/sftclk.vhd
lib/sftgen.vhd
zlib_out_time_stamp_tmp.tmp
Late to this but puu-san has updated Towns FPGA
-add HDD support and booting into TownsOS from HDD
-CD-ROM not supported
http://fpga8801.seesaa.net/article/493687651.html
Edit: boot into DOS not TownsOS.
New core was uploaded.
Supported 256 colors.
http://fpga8801.seesaa.net/archives/20230303-1.html
puu wrote: ↑Sat Mar 04, 2023 12:09 amNew core was uploaded.
Supported 256 colors.
http://fpga8801.seesaa.net/archives/20230303-1.html
puu-san, thank you very much.
It seems you published a download link to the old version. You probably meant to publish this link: release-TOWNS_230303.qar.
shira wrote: ↑Sat Mar 04, 2023 3:05 ampuu wrote: ↑Sat Mar 04, 2023 12:09 amNew core was uploaded.
Supported 256 colors.
http://fpga8801.seesaa.net/archives/20230303-1.htmlpuu-san, thank you very much.
It seems you published a download link to the old version. You probably meant to publish this link: release-TOWNS_230303.qar.
Oh,Yes! Thanks for pointing out
puu wrote: ↑Sat Mar 04, 2023 12:09 amNew core was uploaded.
Supported 256 colors.
http://fpga8801.seesaa.net/archives/20230303-1.html
おつかれさまです ぷう-さん