avatar_ikonsgr

ULIfAC:Usb Mass storage,WiFi, 512KB Ram/32XROM Board/256K Ram+16X Rom Board!

Started by ikonsgr, 11:39, 24 March 23

Previous topic - Next topic

trocoloco and 1 Guest are viewing this topic.

vasilisk

Can you post instuctions so other (inlcuding me) to try?

ikonsgr


R0b1n

Quote from: ikonsgr on 19:46, 20 July 25@R0b1n i suggest to upload the "ALCON 2020 for ULIfAC", for anyone interested to try loading the game too ;-)
I just emailed it to you  ;D

R0b1n

How can we convert CPR files to BIN ? If we look at the size of Alcon 2020 game files, CPR is 513K and the BIN version is 512K.

ikonsgr

Quote from: R0b1n on 20:05, 20 July 25How can we convert CPR files to BIN ? If we look at the size of Alcon 2020 game files, CPR is 513K and the BIN version is 512K.
http://www.cpcmania.com/cprtools/cprtools.htm   ;)

R0b1n

Quote from: vasilisk on 19:43, 20 July 25Can you post instuctions so other (inlcuding me) to try?
Here is exactly what I do to make the game starts:
- Turn ON the Amstrad
- OUT &EF00,71
- SW RAM/ROM, the amstrad boot in 32X mode
- SW RAM/ROM, the amstrad boot in 512K mode
- |CD,"your directory...
- RUN"install32 => The game starts !

But after a few seconds or minutes it hangs...

R0b1n

It seems that if we compare ALCON2020.BIN with ALCON2020.CPR, we have to remove the first 8 bytes for each block / slot to convert .CPR to .BIN, are you ok ? 


ikonsgr

I confirm that using @R0b1n Alcon 2020 version, i successfully load it on CPC 464 using ULIfAC (with fw 4a)!  :D
Also, i have game running for 20+ minutes and it didn't crash!

R0b1n

Every chunk has a header with the form:
0 4
chunk id (4 character code)
4 4
Length of data following chunk-header. (little-endian format)

Ok, that's why ALCON2020.BIN has got the first 8 bytes of each header removed compared to ALCON2020.CPR.

edit: no, we have to remove 12 bytes of each header

cpcitor

Hello.

As a person that knows very well the CPC on a software side, and fairly much on the hardware side, but has not at all followed the modern hardware extension, I find the information in the first message of this thread confusing and out-of-order.

Summary: here I explain a little how this is confusing and then offer a summary with questions. Can you answer the questions?

ULIfAC confusion

Reading ULIfAC:Usb Mass storage,WiFi, 512KB Ram/32XROM Board/256K Ram+16X Rom Board!. Okay, ULIfAC is an evolution USIfAC II, but what is it? Let me read. It's something that has new amazing features. Great, but what features? Ah it has RAM, ROM, converts CPC, new RSX commands. A file manager? Mmh, yeah, well...

Okay, so something that probably does RAM and ROM extension for a CPC, fair enough. Is that really new?

USIfAC II confusion

So I look at USIfAC II and ... okay it's something that has new amazing features: a receive buffer, a serial port speed, ROM emulation (what?)... I'm already lost. Why not telling me a summmary of what it does?

Confusion

Also, why these names, what do they mean? Why mixing cases? Since the f is lowercase, is the I an uppercase I or a lowercase l?

Sorting this out

Please consider the perspective of users, they may be your target users but they don't know your context and the evolution of your projects.

So, after reading some documentation, here are some answer and questions.

What is a ULIfAC, its overall goal and workflow style?

* It is an extension board you plug on a physical CPC (464 or 6128).
* The overall goals are:
  * replace the CPC's disk drive
  * provide extra RAM to the CPC
  * and/or provide extra ROMs to the CPC (also replace inner roms, including firmware low ROM and BASIC and AMSDOS high ROM)
* These workflow styles are available:
  * after BASIC boot, interactive use from the CPC keyboard and screen via RSX commands
  * a few physical buttons
  * some interaction is possible from assembly by using I/O ports (doc is sparse, does it work when firmware is disabled? when interrupts are disabled?)

What can it do, from the CPC point of view?

RAM/ROM extension

You can use supplied RSX commands to select a repartition of board RAM as CPC RAM, CPC ROMs or half each.

USB Mass storage access for files and disk images

You can attach to the board a USB mass storage device you supply, let's call FS the filesystem on it. Assuming that, it can:

* Show and navigate FS, including set/create/delete directories and subdirectories
* Ensure that firmware and BASIC's LOAD SAVE CAT target the current directory on the USB mass storage. This allows to run many prods that are normally loaded via the firmware (regular files on a disk). (Is it done via a modified AMSDOS ROM?)
* Select up to 4 disk images from FS, emulate a FDC to allow prods that access tracks and sectors instead of files.  This appears to run things differently, including rebooting the CPC with a PARADOS ROM enabled.  (Question: is the PARADOS ROM modified for FDC emulation? Is the FDC emulation effective via hardware tricks even for prods that have their own FDC-targeting routines at hardware level?)

PC mass storage access for files and disk images via cable or WiFi

You can attach to the board a cheap UART device (serial communication) and cable to a PC having a matching UART device (either on-board or via a cheap serial-to-USB dongle to a USB port).
Or you can attach the board to a cheap device doing serial communication over a WIFI, assuming a PC nearby runs Windows (Windows-only, really?), is connected to the same WIFI network and runs some software (is it open-source?) and where some part of the Windows filesystem is designated, let's call that FS.
Assuming that, it can do on FS what it did in the USB mass storage case (same 3 points above: show and navigate FS, support firmware-level access to files and FDC-level access to disk images).

Other features

* Instantly convert a CPC464 into a virtual CPC6128 with extended RAM and firmware via |6128.
* Copy files and DSK images between CPC, USB, and PC, including full floppy imaging and extraction utilities.
* Load .SNA snapshots directly as if resuming a frozen CPC session.
* Offers utilities, diagnostics, and EEPROM for storing and running custom routines or tools.
* Automatic ROM Configuration on CPC cold Boot via a text file, simple yet flexible (map any ROM combination, including lower ROMs).

Thank you for your answers to the questions above.

Hope this helps a newcomer on this thread (in practice this content would have to be copied somewhere else, or this post pinned on the thread).
Had a CPC since 1985, currently software dev professional, including embedded systems.

I made in 2013 the first CPC cross-dev environment that auto-installs C compiler and tools: cpc-dev-tool-chain: a portable toolchain for C/ASM development targetting CPC, later forked into CPCTelera.

Powered by SMFPacks Menu Editor Mod