Trying to build a visual novel for MSX1 and looking for suggestions.

Page 4/6
1 | 2 | 3 | | 5 | 6

Par JohnHassink

Ambassador (5605)

Portrait de JohnHassink

18-09-2011, 19:52

You may want to try Disk-Manager:

Par hit9918

Prophet (2923)

Portrait de hit9918

18-09-2011, 21:31

I managed playing music while loading from floppy!
Using this sophisticated disk drive hack: input$ in BASIC LOL!

Problem: tested only on emu, still got to be confirmed on real machine.

The BASIC app leads to BDOS read calls of small size, 256 bytes.
Barely noticable hiccup, while a BLOAD ,S of a picture is horrors.
The BLOAD seems to call BDOS read with the full file size,
and it looks like interrupt is disabled for the whole BDOS call.

I am worried about the disk head move on file open on the real machine.
If possible, first open the file and then start the soundtrack.

Poke a quicker toggle frequency value in the test app, then hiccups get more noticable.

So, the key is to read the file in small chunks, maybe best is 256 bytes.
Then have some slooow soundtrack, so hiccups wont be so noticable.

Installation of test apps:

Make a long file named "file". It maybe better be a textfile, or loader may stop early.

Then run"fddsound.bas". It installs a simple sound toggle on &hfd9a irq handler.

Then run"fddtest.bas", the app loading the file.

if a beep stops the soundtest, type "sound 8,8" to get it back.


10 READ A : AD = A : DEFUSR = AD
20 READ N$ : IF N$="*" GOTO 100
30 FOR I = 1 TO LEN(N$) / 2
40 A$ = LEFT$(N$,2) : N$ = MID$(N$,3)
50 POKE A,VAL("&h"+A$) : A = A + 1
70 GOTO 20
100 POKE &HFD9B,AD MOD 256
110 POKE &HFD9C,INT((AD+65536!) / 256)
130 SOUND 8,8
140 ?"change frequency by poking number of irqs in &hd028"
10000  REM**** b:dat
10010 DATA &HD000
10020 DATA 2127D0347E23BED8
10030 DATA 2B36003A29D0EEFF
10040 DATA 3229D0CA1CD0212A
10050 DATA D0C31FD0212BD03E
10060 DATA 00D3A07ED3A1C900
10070 DATA 0A0080FF
10080 DATA *


10 clear 2000,&hc000 : on error goto 100
20 open"file" for input as #1
30 a$ = input$(255,1)
40 rem ?a$;
50 c = c + len(a$)
60 if (c >= 1024) then c = c - 1024 : ?"1k"
70 goto 30
100 if err = 55 then end
110 error(err)

Par Evhor

Resident (54)

Portrait de Evhor

19-09-2011, 21:45

That's nice! Thanks (^_^)d

Interesting, but I fear it doesn't fit my pourposes. Thank you, anyway (^_^)d

Par Evhor

Resident (54)

Portrait de Evhor

25-09-2011, 16:48

Hi, there! Here I am asking for advices and suggestions again. Feel free to call me "fucking noob" (^_^)d

At first, I tried to override the 112 files limit imposed to MSX-DOS 1 formatted disk. The trying consisted into raising the max directory entries number (to 512) on the boot sector of a barely formatted (720kB) disk. I hoped the system would have sensed the change and behaved properly. As a check I've wrote 512 files and read them back. Aside from the data room getting smaller and the writing getting slower, everything worked fine. However, I am on an NMS8280 and MSX FDDs can change a lot. Has anybody ever performed a such a test on a different MSX? In that case, what were the results?

Then, I was taking a look to pletter and m-o-m. Just out of curiosity, what packing/unpacking algorithm they use? I can't understand asm and cpp very well yet °(^_^)7

Last but not least, is there a way to set 80 column mode in MSX-DOS 1 other than exiting to BASIC and use WIDTH?

Par Manuel

Ascended (18855)

Portrait de Manuel

25-09-2011, 17:38

Last question: use the mode command in MSX-DOS, like "MODE 80".

I don't think you can change the number of files limit just by changing a boot sector. The directory sectors won't have enough space to hold all entries...

Par Evhor

Resident (54)

Portrait de Evhor

25-09-2011, 19:04

Last question: use the mode command in MSX-DOS, like "MODE 80".

I don't think you can change the number of files limit just by changing a boot sector. The directory sectors won't have enough space to hold all entries...

MODE 80?! Just that?! Now I feel a real noob!! Big smile

As for the files limit thing, you're right.
Forcing boot sector worked because I had an SD Card reared in a slot °(^_^)7
I guess its bios actually took sector 0 in account and did the magic.
Things turned to bitter normality as soon as I took it away (U_U)d

Par Evhor

Resident (54)

Portrait de Evhor

02-10-2011, 17:06

Okay, I give up.
For an undefinitely long while I won't be able to write "something smart enought" to work on 32kB MSX
thus I tighten definitions and aim to 64kB MSX.
However, I am thinking about some kind of portable format to resume this challenge later.
Besides, are there some ready-made Turbo Pascal libraries I could use to PSG and VDP?

... I'd like to know more about the plot, if there's already one.

Well, there are a couple concepts I would have used to draw a crappy comics I may use to build a crappy games instead °(^_^)d
Of course, don't expect anything original: original storilines have been exhausted at the time of Shakespeare Tongue
Well... it's a steampunk thing which goes like this:

Temporary title: The Advenctures of Lou Vaxton, The Resonance.
The story took place in alternate 1930, more or less.
Lou works as a wireless operator onboard an italian civili airship.
After a serie of quite dramatic events, he discover a plot to build a secret weapon whose power could be used to conquer the world.
Of course, most obscure forces from all over the world plan to take over the misterious item.
After another serie of quite dramatic event and table turnings,
he will discover the real pourpose of the weapon and that some evil people is not so evil.
Well... I save you the ending Tongue


Enlighted (6845)

Portrait de ARTRAG

02-10-2011, 18:06

do you code in asm or in C?
I use the Hitech C v7.8pl2 crosscompiler
from some old site

[...] is a complete development system for C and assembler. With features like an integrated development environment†, assembler-free programming, and an intelligent optimizer, you can develop exceptionally tight and fast code with ease.

The classic Z80 microprocessor is alive and well, embedded in numerous microcontrollers from several manufacturers. HI-TECH Z80 C is a mature, reliable tool backed by 18 years of continuous development.

HI-TECH C supports the 64K memory model for the base Z80, plus the expanded memory on the Z180 and 64180, or even user-defined banked memory on any other Z80 device, allowing a megabyte of program memory.

The code quality of the Z80 compiler is comparable to hand-written assembler, but without the tediousness of writing each instruction. Interrupt functions can be defined entirely in C, including mode 2 vectors, and I/O ports are mapped as C variables with the port qualifier.


Features of the compiler include:

ANSI C, supporting all standard data types
Unlimited number of source files
Multiple optimization levels
Comprehensive library with source code
Floating point support (32-bit)
Mixed C and assembler programming
Listings showing generated assembler
Optimizing assembler
Full linker, with overlaying of vocal variables to minimize RAM usage
Remote source-level debugger for low-cost in-target debugging included at no extra cost


Z80 C can be run entirely from the HI-TECH Professional Development environment†. This environment allows you to manage all of your Z80 projects. You can compile, assemble and link your embedded application with a single step.
Optionally, the compiler may be run directly from the command line, allowing you to compile, assemble and link using one command.

Processors Supported

The Z80 C compiler supports all the Z80/Z180 microcontroller families.

google for Hi-Tech C for Z80/Z180 - Version 780pl2 in case of need

Par Evhor

Resident (54)

Portrait de Evhor

02-10-2011, 19:20

do you code in asm or in C?
I use the Hitech C v7.8pl2 crosscompiler
from some old site

I had a decent grasp on BASIC and Turbo Pascal but nothing to call me a coder for.
However, if you reccomend Hitech C crosscompiler I will definitely give more than a try to it!
How is MSX support?


Enlighted (6845)

Portrait de ARTRAG

02-10-2011, 21:17

Homemade, I can pass you a lot of libs done by me.
Send me and email (my surname @ and I'll send you some thing to start from.

Page 4/6
1 | 2 | 3 | | 5 | 6