SE Basic IV 4.1 Buffy -- any requests?

Todo sobre la creación, diseño y programación de nuevo software para
nuestro Spectrum

Moderador: Sir Cilve Sinclair

Responder
Avatar de Usuario
cheveron
Manic Miner
Mensajes: 280
Registrado: Lun Jun 28, 2010 6:14 pm
Ubicación: Londres
Contactar:

SE Basic IV 4.1 Buffy -- any requests?

Mensaje por cheveron » Lun Feb 25, 2013 6:48 pm

¡Hola!

I've been refactoring the code for a 4.1 release later this year. I've managed to make even more space savings so there's room to add some new features. Are there any requests?

-Andrew
«Dime con quién andas, y te diré quién eres» — Cervantes

Avatar de Usuario
na_th_an
Nonamed
Mensajes: 1889
Registrado: Lun May 07, 2007 10:16 am
Ubicación: Andalucía

Re: SE Basic IV 4.1 Buffy -- any requests?

Mensaje por na_th_an » Mar Feb 26, 2013 12:10 pm

Software 64 columns mode, maybe? This BASIC is so well featured that I can't think of anything to add :D

Can this BASIC interpreter run in the $0000-$3FFF area in the all-ram mode on a Spectrum +2A/+3?

Avatar de Usuario
cheveron
Manic Miner
Mensajes: 280
Registrado: Lun Jun 28, 2010 6:14 pm
Ubicación: Londres
Contactar:

Re: SE Basic IV 4.1 Buffy -- any requests?

Mensaje por cheveron » Mar Feb 26, 2013 2:07 pm

na_th_an escribió:Software 64 columns mode, maybe?


Version 4.0 already has 80 column mode on appropriate hardware (Chloe 280SE/ZX Spectrum SE). It uses two 16K ROMs, one with lo-res routines and another with hi-res routines. If there was sufficient interest in a 64 column mode I could add it as an alternative, but it would require at least a 128K machine because of the need to support a 32K firmware. This would also add quite a lot of conditional build tags in the source, so I'd want to finish cleaning that up before adding it.

This BASIC is so well featured that I can't think of anything to add :D


Thanks, I do my best.

Can this BASIC interpreter run in the $0000-$3FFF area in the all-ram mode on a Spectrum +2A/+3?


SE Basic IV is a 32K firmware, but ROM1 can be used as a standalone 16K ROM and it can be run from RAM (it doesn't overwrite itself). The only issue you may experience is in running the loading routines from contended RAM. However, if you're using external storage like divIDE or Spectranet then it shouldn't be an issue. I should probably package up a software version and include it in the distribution.

I'll add your suggestions to the open issues list.
«Dime con quién andas, y te diré quién eres» — Cervantes

Avatar de Usuario
na_th_an
Nonamed
Mensajes: 1889
Registrado: Lun May 07, 2007 10:16 am
Ubicación: Andalucía

Re: SE Basic IV 4.1 Buffy -- any requests?

Mensaje por na_th_an » Mar Feb 26, 2013 2:35 pm

I was asking 'cause it could be a good alternative to distribute software created to be interpreted with SE BASIC for people who have a +2A/+3 but don't want to do the firmware switch. It wouldn't be hard to create a simple utility which would take a SE BASIC .tap file and build the complete system (with a loader which loads SE BASIC, switches to ALL RAM, then executes it), so maybe it could gather interest on developing for SE BASIC.

Avatar de Usuario
cheveron
Manic Miner
Mensajes: 280
Registrado: Lun Jun 28, 2010 6:14 pm
Ubicación: Londres
Contactar:

Re: SE Basic IV 4.1 Buffy -- any requests?

Mensaje por cheveron » Mar Feb 26, 2013 9:30 pm

na_th_an escribió:I was asking 'cause it could be a good alternative to distribute software created to be interpreted with SE BASIC for people who have a +2A/+3 but don't want to do the firmware switch. It wouldn't be hard to create a simple utility which would take a SE BASIC .tap file and build the complete system (with a loader which loads SE BASIC, switches to ALL RAM, then executes it), so maybe it could gather interest on developing for SE BASIC.


In the short term I've borrowed Fraser Ross's Shadow of the Unicorn ROM loader. The result is here:

https://dl.dropbox.com/u/15659782/se_basic_404.tap

This will work on any of the Amstrad machines with all-RAM mode.

I think I can probably add an automated version to the build script using bin2tap.
«Dime con quién andas, y te diré quién eres» — Cervantes

Avatar de Usuario
na_th_an
Nonamed
Mensajes: 1889
Registrado: Lun May 07, 2007 10:16 am
Ubicación: Andalucía

Re: SE Basic IV 4.1 Buffy -- any requests?

Mensaje por na_th_an » Mar Feb 26, 2013 10:37 pm

That's a great idea. I'll take a detailed glance tomorrow.

Avatar de Usuario
cheveron
Manic Miner
Mensajes: 280
Registrado: Lun Jun 28, 2010 6:14 pm
Ubicación: Londres
Contactar:

Re: SE Basic IV 4.1 Buffy -- any requests?

Mensaje por cheveron » Lun Mar 11, 2013 11:43 pm

na_th_an escribió:That's a great idea. I'll take a detailed glance tomorrow.


Did you have a chance to try it out? Any thoughts?

As the new keyboard code saves so many bytes I've actually got enough room to add a TRACE command (as per the TK90X). However, I had to sacrifice a token so I've removed VERIFY. The code is still there so it can be called from machine code if you're doing tape duplication on real hardware.
«Dime con quién andas, y te diré quién eres» — Cervantes

Avatar de Usuario
na_th_an
Nonamed
Mensajes: 1889
Registrado: Lun May 07, 2007 10:16 am
Ubicación: Andalucía

Re: SE Basic IV 4.1 Buffy -- any requests?

Mensaje por na_th_an » Mar Mar 12, 2013 8:10 am

Well, it works like a charm. I think this is pretty interesting and should be publicised! +2A/+3 users who don't want to modify their machines can still run the interpreter, which is quite good, specially for developers who automaticly get a wider audience.

Avatar de Usuario
cheveron
Manic Miner
Mensajes: 280
Registrado: Lun Jun 28, 2010 6:14 pm
Ubicación: Londres
Contactar:

Re: SE Basic IV 4.1 Buffy -- any requests?

Mensaje por cheveron » Sab Sep 28, 2013 12:34 am

The final list of extended commands for v4.1 is:
  • CALL
  • COLOR
  • CLUT
  • DELETE
  • EDIT
  • MODE
  • ON ERROR
  • PALETTE
  • PUT
  • RENUM
  • RESET
  • SCROLL
  • SOUND
  • SPEED
  • TRACE
  • UDG
The latest addition is SCROLL which behaves much like the ZX81 command, except you can also provide a value to specify how many lines (1-24) to scroll up.

The following commands are no longer present:
  • CAT
  • FORMAT
  • MOVE
  • ERASE
  • VERIFY
  • BRIGHT
  • FLASH
  • LPRINT
  • LLIST
  • COPY
You should be able to get away with using the tokens that replace the microdrive commands when using disk systems that use RST 8 traps. With effort, VERIFY is still accessible from machine code if you really need it. CLUT will work the same as BRIGHT for values 0 or 1. FLASH is gone but can be set at the same time as BRIGHT with CLUT 2 or 3. LPRINT and LLIST can be replaced with PRINT #3 and LIST #3, but you will need to supply your own printer driver to attach to stream 3.

The new keyboard system allows direct entry of any character from 32 to 255 as an alternative to typing keywords out in full or using abbreviated keywords. META-shift makes using 8-bit character sets much easier. Keywords in blue must be typed in full. Symbols in blue provide HEX$(), OCT(), and DEC() functions.

Imagen
Última edición por cheveron el Mar Oct 01, 2013 10:14 am, editado 1 vez en total.
«Dime con quién andas, y te diré quién eres» — Cervantes

Avatar de Usuario
na_th_an
Nonamed
Mensajes: 1889
Registrado: Lun May 07, 2007 10:16 am
Ubicación: Andalucía

Re: SE Basic IV 4.1 Buffy -- any requests?

Mensaje por na_th_an » Dom Sep 29, 2013 12:06 pm

Sounds awesome.

When the "ZX One" is completed, this will be a nice ROM to write to it, instead of the copyrighted one.

Avatar de Usuario
cheveron
Manic Miner
Mensajes: 280
Registrado: Lun Jun 28, 2010 6:14 pm
Ubicación: Londres
Contactar:

Re: SE Basic IV 4.1 Buffy -- any requests?

Mensaje por cheveron » Lun Sep 30, 2013 2:07 pm

na_th_an escribió:Sounds awesome.

Thanks.

When the "ZX One" is completed, this will be a nice ROM to write to it, instead of the copyrighted one.

It will need the full version of McLeod_IdeaFix's ULAplus implementation (with 512x192 hi-res mode) and 32K ROM (128 paging) support to take full advantage of it, but I'd love to see it in a production clone. 80 column mode is just too good to leave out, even if I do say so myself.
«Dime con quién andas, y te diré quién eres» — Cervantes

Avatar de Usuario
cheveron
Manic Miner
Mensajes: 280
Registrado: Lun Jun 28, 2010 6:14 pm
Ubicación: Londres
Contactar:

Re: SE Basic IV 4.1 Buffy -- any requests?

Mensaje por cheveron » Dom Oct 06, 2013 12:04 pm

Another update. Full screen graphics support without breaking existing programs.

Imagen
«Dime con quién andas, y te diré quién eres» — Cervantes

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: Ahrefs [Bot], Bing [Bot] y 33 invitados