Enterprise DevCompo #1
category: general [glöplog]
Hello Everybody
We at EnterpriseForever are organizing a DevCompo and would like to invite everybody who would like to meet this computer and it's capabilities :)
It's a first for the Enterprise and we hope not the last.
There is a conversion category also, so you can enter with CPC, Speccy, MSX, SAM coupe, SMS (list is not complete :) ) conversion also.
The winners will be awarded (the prize poll is "crowdfunded" so it is not yet known).
Welcome every participant :)
Official announcement : EP DevCompo #1
If you have any question please join us at EnterpriseForever or you can ask here, I will try to answer.
We at EnterpriseForever are organizing a DevCompo and would like to invite everybody who would like to meet this computer and it's capabilities :)
It's a first for the Enterprise and we hope not the last.
There is a conversion category also, so you can enter with CPC, Speccy, MSX, SAM coupe, SMS (list is not complete :) ) conversion also.
The winners will be awarded (the prize poll is "crowdfunded" so it is not yet known).
Welcome every participant :)
Official announcement : EP DevCompo #1
If you have any question please join us at EnterpriseForever or you can ask here, I will try to answer.
here are 2 links which shows about capabilities of EP
IK+ Reloaded CPC conversion with converted Amiga screen at the top.
Small Demo Part 7 This Demo from the nineties.
IK+ Reloaded CPC conversion with converted Amiga screen at the top.
Small Demo Part 7 This Demo from the nineties.
why conversion for Enterprise?
Conversion is a possibility also, there is a newly developed program to Enterprise category also :)
We have chosen conversion category also, because we would like to involve coders from other platform also, and in this way it is easier to modify existing source codes and add some extra stuff it is possible.
We have chosen conversion category also, because we would like to involve coders from other platform also, and in this way it is easier to modify existing source codes and add some extra stuff it is possible.
i'd put a few links to general info about that platform (in english), an emulator, dev tools, etc on that page... i am all for coding stuff for obscure systems, but i am not going to dig through some hungarian forum to find out wtf it is about :)
well, if i found proper emulator and some tools, I am in (;
Yeah, some info about the platform (and fixed links ;) would help.
Slightly disappointed it's not a coding competition for enterprise (as in business) software, the pouet reaction would have been awesome ;)
Slightly disappointed it's not a coding competition for enterprise (as in business) software, the pouet reaction would have been awesome ;)
Emulator:
EP128emu2
Technical Information:
EXOS Enterprise eXpandable Operating System
Mainly you need the following part of EXOS (Nick and Dave documentation with Port description)
EXOS Nick
Exos Dave
Mainly the following EXOS functions are used only (from Function & Error Codes):
for load/save
EXOS 1 - open channel
EXOS 2 - create channel
EXOS 3 - close channel
EXOS 6 - read block
EXOS 8 - write block
Memory functions
EXOS 24 - get a free memory segment from EXOS
EXOS 25 - free a previously allocated segment
Emulator:
If the ROM's are not installed automatically during installation they can be downloaded from here: http://ep128emu.enterpriseforever.com/downloads and the ROM's have to be copied into ROMS folder of the emulator.
After installing the emulator the easiest way to choose a EP_xxxk_Tape_FileIO_TASMON config (alt+Q) if you chose a FileIO config then please set Enable virtual file I/O (shift+F10), next set working directory (alt+F) from where you plan to load EP programs. Floppy emulation is also working, but in this way the programs have to be copied to DISK image (IBM type DD/HD)
The debugger of the emulator is good (alt+B), page1 is an info, on page2 there is an action window (left window) where with ? the available commands can be requested, right window is for breakpoints (2byte breakpoint at address, 1byte breakpoint on port i/o, additional characters i-ignore, w-write, r-read, x-execute , x and i can not be used for port i/o breaks, examples 1000x, 1000r b0r)
, bottom window is for LUA script.
more info about the emulator: EP128emu usage details
General info about EP:
2 versions were released: 64K/128K, 64K is much slower, because all of it's memory is video RAM and synchronization memory access between Nick and Z80 slows it down.
CPU speed is 4MHz, but for this speed a 0ch value should be entered into bfh port, because it's default setting is waiting at M1
Palette 256 colours
Screen is built up by line parameter table where different screen mode and palette can be set for every raster line without CPU usage, a VSYNC definition should stay at the end of LPT , Nick part EXOS book contains it. (maximum visible screen width is 46 character, and theoretical max height is 288 lines)
Expandable up to 4MB of RAM, the emulator contains this configuration also :)
Sound is similar to AY, 3 tone and 1 noise generator (3 tone generators can be used for noise also) 2 6 bit D/A converter, 8 volume control register, and some filters, but there is no envelope, and there is no option for play tone and noise in one channel in the same time.
Sorry I forgot to mention that EnterpriseForever has an English section also at the bottom half of the forum.
Please ask here or there I will try to answer all questions :)
I will put some usefull code and other info later.
EP128emu2
Technical Information:
EXOS Enterprise eXpandable Operating System
Mainly you need the following part of EXOS (Nick and Dave documentation with Port description)
EXOS Nick
Exos Dave
Mainly the following EXOS functions are used only (from Function & Error Codes):
for load/save
EXOS 1 - open channel
EXOS 2 - create channel
EXOS 3 - close channel
EXOS 6 - read block
EXOS 8 - write block
Memory functions
EXOS 24 - get a free memory segment from EXOS
EXOS 25 - free a previously allocated segment
Emulator:
If the ROM's are not installed automatically during installation they can be downloaded from here: http://ep128emu.enterpriseforever.com/downloads and the ROM's have to be copied into ROMS folder of the emulator.
After installing the emulator the easiest way to choose a EP_xxxk_Tape_FileIO_TASMON config (alt+Q) if you chose a FileIO config then please set Enable virtual file I/O (shift+F10), next set working directory (alt+F) from where you plan to load EP programs. Floppy emulation is also working, but in this way the programs have to be copied to DISK image (IBM type DD/HD)
The debugger of the emulator is good (alt+B), page1 is an info, on page2 there is an action window (left window) where with ? the available commands can be requested, right window is for breakpoints (2byte breakpoint at address, 1byte breakpoint on port i/o, additional characters i-ignore, w-write, r-read, x-execute , x and i can not be used for port i/o breaks, examples 1000x, 1000r b0r)
, bottom window is for LUA script.
more info about the emulator: EP128emu usage details
General info about EP:
2 versions were released: 64K/128K, 64K is much slower, because all of it's memory is video RAM and synchronization memory access between Nick and Z80 slows it down.
CPU speed is 4MHz, but for this speed a 0ch value should be entered into bfh port, because it's default setting is waiting at M1
Palette 256 colours
Screen is built up by line parameter table where different screen mode and palette can be set for every raster line without CPU usage, a VSYNC definition should stay at the end of LPT , Nick part EXOS book contains it. (maximum visible screen width is 46 character, and theoretical max height is 288 lines)
Expandable up to 4MB of RAM, the emulator contains this configuration also :)
Sound is similar to AY, 3 tone and 1 noise generator (3 tone generators can be used for noise also) 2 6 bit D/A converter, 8 volume control register, and some filters, but there is no envelope, and there is no option for play tone and noise in one channel in the same time.
Sorry I forgot to mention that EnterpriseForever has an English section also at the bottom half of the forum.
Please ask here or there I will try to answer all questions :)
I will put some usefull code and other info later.
Sample loader ASM
EP autoloader header - line 12-16 2nd byte should be 5, this means machine code application program, 3rd-4th byte is the length of the file.
Store soft reset routine - line 22-23 this should be done on FF segment at address 3ff8h
Soft reset routine - line 128-160 this should be on page 0, at the bottom there is a shorter soft reset routine by IstvánV
Speed up EP - line 33-34 disable memory wait states, EP programs will run at 4MHz in normal RAM
Allocate video segment - line 164-185
Calculate Nick address of video segment (screen) - line 50-55
Calculate nick address of LPT - line 58-60
get a free segment - line 61-63
copy LPT - line 78-81
set LPT addr to Nick 82-83h registers - line 83-94 - after this the new screen is activated, and visible
example for keyboard handling - line 103-110
EP keyboard matrice - line 112-124
Sample LPT table (320x200 4 colour) - line 196-226 (generate video syncron sign - line 209-226)
There is a shorter EXIT (soft reset routine):
commonly used permanent variables (3ff0-3fffh) in system area at 0ffh segment (most of the others are not addressed directly outside of EXOS, because it can be varied, or different between EXOS 2.0 and EXOS 2.1), and these are used in loaders only to remain EXOS compatible or getting used pages after loading an auto load program (EXOS header 5) which size is bigger than 3f00h
3FF4-F5: Address of EXOS LPT.
3FF6-F7: Address of status line. (not commonly used)
3FF8-F9: Address of Soft reset routine
3FFC: content of 0 page register
3FFD: content of 1 page register
3FFE: content of 2 page register
3FFF: content of 3 page register
EP autoloader header - line 12-16 2nd byte should be 5, this means machine code application program, 3rd-4th byte is the length of the file.
Store soft reset routine - line 22-23 this should be done on FF segment at address 3ff8h
Soft reset routine - line 128-160 this should be on page 0, at the bottom there is a shorter soft reset routine by IstvánV
Speed up EP - line 33-34 disable memory wait states, EP programs will run at 4MHz in normal RAM
Allocate video segment - line 164-185
Calculate Nick address of video segment (screen) - line 50-55
Calculate nick address of LPT - line 58-60
get a free segment - line 61-63
copy LPT - line 78-81
set LPT addr to Nick 82-83h registers - line 83-94 - after this the new screen is activated, and visible
example for keyboard handling - line 103-110
EP keyboard matrice - line 112-124
Sample LPT table (320x200 4 colour) - line 196-226 (generate video syncron sign - line 209-226)
There is a shorter EXIT (soft reset routine):
Code:
exit di
ld sp,0100h
ld a,0ffh
out (0b2h),a
ld c,40h
exos 0
ld a,01h
out (0b3h), a
ld a,06h
jp 0c00dh
commonly used permanent variables (3ff0-3fffh) in system area at 0ffh segment (most of the others are not addressed directly outside of EXOS, because it can be varied, or different between EXOS 2.0 and EXOS 2.1), and these are used in loaders only to remain EXOS compatible or getting used pages after loading an auto load program (EXOS header 5) which size is bigger than 3f00h
3FF4-F5: Address of EXOS LPT.
3FF6-F7: Address of status line. (not commonly used)
3FF8-F9: Address of Soft reset routine
3FFC: content of 0 page register
3FFD: content of 1 page register
3FFE: content of 2 page register
3FFF: content of 3 page register
and sorry, I forgot the following info from my previous post:
Video RAM: 0fch-0ffh segments, but a part (bigger) of 0ffh segment is used by EXOS, which depends on expansions
RAM's can be anywhere else, except 00h and 01h these segment numbers are reserved for EXOS ROM.
Normal EP128 configuration is 0f8h-0ffh, but there are home made expansions where the range is not contiguous, this is the reason why free segment is requested from EXOS. I Have also one 512KB expansion which is in range 0d0h-0efh, and + the original 0f8h-0ffh
for coding any PC editor can be used ex Notepad++
and any assembler ex SJASM
Video RAM: 0fch-0ffh segments, but a part (bigger) of 0ffh segment is used by EXOS, which depends on expansions
RAM's can be anywhere else, except 00h and 01h these segment numbers are reserved for EXOS ROM.
Normal EP128 configuration is 0f8h-0ffh, but there are home made expansions where the range is not contiguous, this is the reason why free segment is requested from EXOS. I Have also one 512KB expansion which is in range 0d0h-0efh, and + the original 0f8h-0ffh
for coding any PC editor can be used ex Notepad++
and any assembler ex SJASM
http://ep.lgb.hu/
Enterprise seems cool gfx, but I have my heart on Sam Coupe right now.
Quote:
Enterprise seems cool gfx, but I have my heart on Sam Coupe right now.
Could you make a small space close to your heart to the Enterprise ? :D
any simple tool to inject .com to disk image ?
@geco: I'll check if I can get an Enterprise from Ebay. I am interesting in this machine, but maybe there is not much time between my other project for this compo. Unless it's easy to port something.
Quote:
any simple tool to inject .com to disk image ?
I use Winimage to do it, but it is easier to use virtual file I/O you just have to copy the executable to the working directory of the emulator.
@Optimus
You can find it, but quite expensive :( The emulator is quite perfect, until this time one program made which runs only on real hardware, and runs on emulator with an additional LUA script.
Quote:
I'll check if I can get an Enterprise from Ebay. I am interesting in this machine, but maybe there is not much time between my other project for this compo. Unless it's easy to port something.
You can find it, but quite expensive :( The emulator is quite perfect, until this time one program made which runs only on real hardware, and runs on emulator with an additional LUA script.
Quote:
Quote:any simple tool to inject .com to disk image ?
I use Winimage to do it, but it is easier to use virtual file I/O you just have to copy the executable to the working directory of the emulator.
how to create virtual file? emulator is ep128emu
@g0blinish
choose a EP_xxxk_Tape_FileIO_TASMON config (alt+Q) if you chose a FileIO config then please set Enable virtual file I/O (shift+F10), next set working directory (alt+F) from where you plan to load EP programs
And after you can put the programs to the selected folder, and from the emulator you can load it.
Easiest way for loading is pressing F1 key ( START command), but LOAD "", and RUN "" also works.
choose a EP_xxxk_Tape_FileIO_TASMON config (alt+Q) if you chose a FileIO config then please set Enable virtual file I/O (shift+F10), next set working directory (alt+F) from where you plan to load EP programs
And after you can put the programs to the selected folder, and from the emulator you can load it.
Easiest way for loading is pressing F1 key ( START command), but LOAD "", and RUN "" also works.
@geco: I am not sure of the categories in the compo, but is a demoscene demo also allowed? Or it should have to be game/app?
@Optimus: of course demoscene demo is also allowed , and it is welcome :) We did not make many categories, because we do not want to make too much categories in the beginning , because in this case categories can remains empty, the idea is that we can make new category if there are enough entries, you can enter your demo into the Enterprise program category if it is newly developed, and into the conversion category, if it is a conversion of an existing demo.
Much like Optimus I have been looking for a Sam Coupe as it seems like a cool oddball 8-bit machine.
But now reading about the Enterprise128 I think I want one of those as well!
Seems like a real interesting machine, if I read things correctly both the graphics and the video chip are completely custom, unlike anything in other 8-bit systems?
Especially the video chip seems very capable for a 1985 machine.
Unfortunately it seems like it suffers the same drawback as the Sam Coupe - almost impossible to find and extremely expensive! :(
But now reading about the Enterprise128 I think I want one of those as well!
Seems like a real interesting machine, if I read things correctly both the graphics and the video chip are completely custom, unlike anything in other 8-bit systems?
Especially the video chip seems very capable for a 1985 machine.
Unfortunately it seems like it suffers the same drawback as the Sam Coupe - almost impossible to find and extremely expensive! :(
and where does cpt kirk fit in here?